Selección de características en el aprendizaje automático

Aprendizaje automático

Shaurya Lalwani

Sigue

Jul 10, 2020 – 7 min read

Foto de Louis Hansel @shotsoflouis en Unsplash

En el mundo real, los datos no son tan limpios como se supone que son. Ahí es donde entra toda la minería de datos y la manipulación de los mismos; para construir ideas a partir de los datos que han sido estructurados usando consultas, y que ahora probablemente contienen ciertos valores perdidos, y exhiben posibles patrones que no se ven a simple vista. Ahí es donde entra en juego el aprendizaje automático: Buscar patrones y hacer uso de esos patrones para predecir resultados utilizando estas relaciones recién entendidas en los datos.

Para que uno entienda la profundidad del algoritmo, necesita leer las variables en los datos, y lo que esas variables representan. Entender esto es importante porque necesitas probar tus resultados, basados en tu comprensión de los datos. Si tus datos contienen cinco, o incluso cincuenta variables, digamos que eres capaz de revisarlas todas. ¿Pero qué pasa si contiene 200 variables? No tienes tiempo para revisar cada variable. Además, varios algoritmos no funcionan con datos categóricos, por lo que hay que convertir todas las columnas categóricas en variables cuantitativas (parecen cuantitativas, pero las métricas justificarán que son categóricas), para introducirlas en el modelo. Por lo tanto, esto aumenta el número de variables en sus datos, y ahora está dando vueltas con 500 variables. ¿Cómo las maneja? Se podría pensar que la reducción de la dimensionalidad es la respuesta, de inmediato. Los algoritmos de reducción de la dimensionalidad reducirán las dimensiones, pero la interpretabilidad no es tan buena. ¿Y si te digo que hay otras técnicas que pueden eliminar características, y que todavía sería fácil entender e interpretar las características retenidas?

Dependiendo de si el análisis está basado en la regresión o en la clasificación, las técnicas de selección de características pueden diferir/variar, pero la idea general de cómo implementarla sigue siendo la misma.

Aquí hay algunas técnicas de selección de características para abordar esta cuestión:

Las variables que están altamente correlacionadas entre sí, dan la misma información al modelo y, por lo tanto, resulta innecesario incluirlas todas en nuestro análisis. Por ejemplo: Si un conjunto de datos contiene una característica “Tiempo de navegación”, y otra llamada “Datos utilizados durante la navegación”, se puede imaginar que estas dos variables estarán correlacionadas hasta cierto punto, y veríamos esta alta correlación incluso si tomamos una muestra no sesgada de los datos. En tal caso, requeriríamos que sólo una de estas variables estuviera presente como predictor en el modelo, porque si utilizamos ambas, entonces el modelo se ajustará en exceso y se sesgará hacia esta(s) característica(s) en particular.

Foto de Akin Cakiner en Unsplash

Valores P

En algoritmos como la Regresión Lineal, un modelo estadístico inicial es siempre una buena idea, ya que ayuda a visualizar la importancia de las características, con el uso de sus valores P que se han obtenido utilizando ese modelo. Al establecer un nivel de significación, comprobamos los valores P obtenidos, y si este valor es menor que el nivel de significación, muestra que la característica es significativa, es decir, un cambio en este valor es probable que muestre un cambio en el valor del Objetivo.

Foto de Joshua Eckstein en Unsplash

Selección hacia delante

La Selección hacia delante es una técnica que implica el uso de la regresión por pasos. Así, el modelo comienza a construirse desde el punto cero, es decir, un modelo vacío, y luego en cada iteración se añade una variable tal que se produce una mejora en el modelo que se está construyendo. La variable que se añade en cada iteración se determina en función de su significación, que puede calcularse utilizando diversas métricas, siendo una de las más comunes el valor P obtenido a partir de un modelo estadístico inicial construido con todas las variables. En ocasiones, la selección hacia delante puede provocar un sobreajuste porque puede añadir al modelo variables muy correlacionadas, incluso cuando aportan los mismos datos al modelo (pero el modelo muestra una mejora).

Foto de Edu Grande en Unsplash

Eliminación hacia atrás

La Eliminación hacia atrás también implica la selección de características por pasos, de forma opuesta a la Selección hacia delante. En este caso, el modelo inicial comienza con todas las variables independientes, y una por una, estas variables se eliminan (una por iteración), si no proporcionan valor al modelo de regresión recién formado en cada iteración. De nuevo, esto se basa en los valores P obtenidos con el modelo estadístico inicial, y en función de estos valores P, las características se eliminan del modelo. Usando este método también, hay una incertidumbre en la eliminación de las variables altamente correlacionadas.

Foto de Markus Spiske en Unsplash

Eliminación recursiva de características (RFE)

La RFE es una técnica/algoritmo muy utilizada para seleccionar un número exacto de características significativas, a veces para explicar un número concreto de características “más importantes” que afectan al negocio, y a veces como método para reducir un número muy elevado de características (digamos alrededor de 200-400) a sólo las que crean un mínimo impacto en el modelo, y eliminando el resto. RFE utiliza un sistema basado en rangos, para mostrar los rangos de las características en el conjunto de datos, y estos rangos se utilizan para eliminar características en un bucle recursivo, basado en la colinealidad presente entre ellos, y por supuesto, la importancia de estas 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 el número seleccionado de características (porque es muy posible que el número seleccionado, que elegimos, puede no representar el número óptimo de características importantes, y que el número óptimo de características puede ser más o menos que este número elegido por el usuario).

Foto de Andrew Seaman en Unsplash

Importancia de las características

Cuando hablamos de la interpretabilidad de los algoritmos de aprendizaje automático, solemos discutir sobre la regresión lineal (ya que podemos analizar la importancia de las características utilizando los valores P) y el árbol de decisión (que prácticamente muestra la importancia de las características en forma de árbol, que muestra también la jerarquía de importancia), pero por otro lado, a menudo utilizamos el gráfico de importancia de variables, para trazar las variables y la “cantidad de su importancia”, en algoritmos como el clasificador Random Forest, Light Gradient Boosting Machine, y XG Boost. Esto es particularmente útil cuando la importancia bien estructurada de las características necesita ser presentada a un negocio que está siendo analizado.

Foto de Robert Anasch en Unsplash

Regularización

La regularización se hace para controlar el equilibrio entre el sesgo y la varianza. El sesgo indica cuánto se ha sobreajustado el modelo en el conjunto de datos de entrenamiento. La varianza nos dice cuán diferentes fueron las predicciones hechas en los conjuntos de datos de entrenamiento y de prueba. Lo ideal es reducir tanto el sesgo como la varianza. La regularización viene a salvar el día. Existen principalmente dos tipos de técnicas de regularización:

L1 Regularización – Lasso: Lasso penaliza los coeficientes beta del modelo para cambiar su importancia en el modelo, e incluso puede anularlos (convertirlos en ceros, es decir, eliminar básicamente estas variables del modelo final). Por lo general, Lasso se utiliza cuando se observa que el conjunto de datos tiene un gran número de variables, y es necesario eliminar algunas de ellas para una mejor comprensión de cómo las características importantes afectan a su modelo (es decir, las características que son finalmente seleccionadas por Lasso, y su importancia se asigna).

L2 Regularización – Ridge: La función de Ridge es mantener todas las variables, es decir, utilizar todas las variables para construir el modelo, y al mismo tiempo, asignarles una importancia tal que haya una mejora en el rendimiento del modelo. Ridge es una gran elección cuando el número de variables en el conjunto de datos es bajo, y por lo tanto, todas esas variables son necesarias para interpretar las percepciones y los resultados objetivo predichos obtenidos.

Dado que Ridge mantiene todas las variables intactas, y Lasso hace un mejor trabajo en la asignación de importancia a las variables, una combinación de ambos, conocida como Elastic-Net fue desarrollada como una forma de desarrollar un algoritmo, mediante la combinación de las mejores características de Ridge y Lasso. Elastic-Net se convierte así en la opción ideal.

Foto de Hunter Harritt en Unsplash

Deja una respuesta

Tu dirección de correo electrónico no será publicada.