Selección de funciones en el aprendizaje automático

¡Hola, Habr!

En Reksoft tradujimos el artículo al ruso. Selección de funciones en aprendizaje automático. Esperamos que sea de utilidad para todo aquel que esté interesado en el tema.

En el mundo real, los datos no siempre están tan limpios como a veces piensan los clientes empresariales. Esta es la razón por la que la minería y la disputa de datos son tan demandadas. Ayuda a identificar valores y patrones faltantes en datos estructurados por consultas que los humanos no pueden identificar. Para encontrar y utilizar estos patrones para predecir resultados utilizando relaciones descubiertas en los datos, el aprendizaje automático resulta útil.

Para comprender cualquier algoritmo, es necesario observar todas las variables de los datos y descubrir qué representan esas variables. Esto es fundamental porque la lógica detrás de los resultados se basa en la comprensión de los datos. Si los datos contienen 5 o incluso 50 variables, puede examinarlas todas. ¿Qué pasa si hay 200 de ellos? Entonces simplemente no habrá tiempo suficiente para estudiar cada variable. Además, algunos algoritmos no funcionan para datos categóricos y luego tendrá que convertir todas las columnas categóricas en variables cuantitativas (pueden parecer cuantitativas, pero las métricas mostrarán que son categóricas) para agregarlas al modelo. Así, el número de variables aumenta y hay alrededor de 500. ¿Qué hacer ahora? Se podría pensar que la respuesta sería reducir la dimensionalidad. Los algoritmos de reducción de dimensionalidad reducen la cantidad de parámetros pero tienen un impacto negativo en la interpretabilidad. ¿Qué pasa si existen otras técnicas que eliminan características y al mismo tiempo hacen que las restantes sean fáciles de entender e interpretar?

Dependiendo de si el análisis se basa en regresión o clasificación, los algoritmos de selección de características pueden diferir, pero la idea principal de su implementación sigue siendo la misma.

Variables altamente correlacionadas

Las variables que están altamente correlacionadas entre sí proporcionan la misma información al modelo, por lo que no es necesario utilizarlas todas para el análisis. Por ejemplo, si un conjunto de datos contiene las características "Tiempo en línea" y "Tráfico utilizado", podemos suponer que estarán algo correlacionadas y veremos una fuerte correlación incluso si seleccionamos una muestra de datos imparcial. En este caso, sólo se necesita una de estas variables en el modelo. Si utiliza ambos, el modelo estará sobreajustado y sesgado hacia una característica en particular.

Valores p

En algoritmos como la regresión lineal, un modelo estadístico inicial siempre es una buena idea. Ayuda a mostrar la importancia de las características a través de sus valores p obtenidos por este modelo. Una vez establecido el nivel de significancia, verificamos los valores p resultantes, y si algún valor está por debajo del nivel de significancia especificado, entonces esta característica se declara significativa, es decir, un cambio en su valor probablemente conducirá a un cambio en el valor de el objetivo.

Selección directa

La selección directa es una técnica que implica la aplicación de una regresión gradual. La construcción del modelo comienza con un cero completo, es decir, un modelo vacío, y luego cada iteración agrega una variable que mejora el modelo que se está construyendo. La variable que se agrega al modelo está determinada por su importancia. Esto se puede calcular utilizando varias métricas. La forma más común es utilizar los valores p obtenidos en el modelo estadístico original utilizando todas las variables. A veces, la selección directa puede conducir a un sobreajuste de un modelo porque puede haber variables altamente correlacionadas en el modelo, incluso si proporcionan la misma información al modelo (pero el modelo aún muestra mejoras).

Selección inversa

La selección inversa también implica la eliminación paso a paso de rasgos, pero en dirección opuesta a la selección directa. En este caso, el modelo inicial incluye todas las variables independientes. Luego se eliminan las variables (una por iteración) si no aportan valor al nuevo modelo de regresión en cada iteración. La exclusión de características se basa en los valores p del modelo inicial. Este método también tiene incertidumbre al eliminar variables altamente correlacionadas.

Eliminación de funciones recursivas

RFE es una técnica/algoritmo ampliamente utilizado para seleccionar el número exacto de características significativas. A veces, el método se utiliza para explicar una serie de características “más importantes” que influyen en los resultados; y a veces para reducir un número muy grande de variables (alrededor de 200-400), y sólo se retienen aquellas que hacen al menos alguna contribución al modelo, y se excluyen todas las demás. RFE utiliza un sistema de clasificación. A las características del conjunto de datos se les asignan rangos. Luego, estos rangos se utilizan para eliminar características de forma recursiva en función de la colinealidad entre ellas y la importancia de esas características en el modelo. Además de clasificar las características, RFE puede mostrar si estas características son importantes o no incluso para un número determinado de características (porque es muy probable que la cantidad seleccionada de características no sea óptima, y ​​la cantidad óptima de características puede ser más o menos que el número seleccionado).

Diagrama de importancia de características

Cuando hablamos de la interpretabilidad de los algoritmos de aprendizaje automático, generalmente hablamos de regresiones lineales (que le permiten analizar la importancia de las características utilizando valores p) y árboles de decisión (que literalmente muestran la importancia de las características en forma de árbol, y en el al mismo tiempo su jerarquía). Por otro lado, algoritmos como Random Forest, LightGBM y XG Boost suelen utilizar un diagrama de importancia de características, es decir, se traza un diagrama de variables y "sus números de importancia". Esto es especialmente útil cuando es necesario proporcionar una justificación estructurada de la importancia de los atributos en términos de su impacto en el negocio.

Regularización

La regularización se realiza para controlar el equilibrio entre sesgo y varianza. El sesgo muestra cuánto se ha sobreajustado el modelo en el conjunto de datos de entrenamiento. La desviación muestra cuán diferentes fueron las predicciones entre los conjuntos de datos de entrenamiento y de prueba. Idealmente, tanto el sesgo como la varianza deberían ser pequeños. ¡Aquí es donde la regularización viene al rescate! Hay dos técnicas principales:

Regularización L1 - Lasso: Lasso penaliza los pesos del modelo para cambiar su importancia para el modelo e incluso puede anularlos (es decir, eliminar esas variables del modelo final). Normalmente, Lasso se utiliza cuando un conjunto de datos contiene una gran cantidad de variables y desea excluir algunas de ellas para comprender mejor cómo las características importantes afectan el modelo (es decir, aquellas características que Lasso ha seleccionado y a las que se les ha asignado importancia).

Regularización L2 - Método Ridge: El trabajo de Ridge es almacenar todas las variables y al mismo tiempo asignarles importancia en función de su contribución al rendimiento del modelo. Ridge será una buena opción si el conjunto de datos contiene una pequeña cantidad de variables y todas ellas son necesarias para interpretar los hallazgos y resultados obtenidos.

Dado que Ridge mantiene todas las variables y Lasso establece mejor su importancia, se desarrolló un algoritmo que combina las mejores características de ambas regularizaciones, conocido como Elastic-Net.

Hay muchas más formas de seleccionar funciones para el aprendizaje automático, pero la idea principal es siempre la misma: demostrar la importancia de las variables y luego eliminar algunas de ellas en función de la importancia resultante. La importancia es un término muy subjetivo, ya que no es solo uno, sino un conjunto completo de métricas y gráficos que pueden usarse para encontrar atributos clave.

¡Gracias por leer! ¡Feliz aprendizaje!

Fuente: habr.com

Añadir un comentario