Selección de funciones en aprendizaje automático: motivación

Nov 24 2022
Este breve artículo es el primero de una serie que explica las técnicas de selección de características. Comencé con una introducción amistosa y presenté las poderosas razones detrás del proceso de selección de características.

Este breve artículo es el primero de una serie que explica las técnicas de selección de funciones. Comencé con una introducción amistosa y presenté las poderosas razones detrás del proceso de selección de características. En los próximos artículos, mencionaré cada método de selección de funciones en detalle.

La selección de características es el proceso de seleccionar un subconjunto de características relevantes (variables, predictores) de las características totales de un nivel en un conjunto de datos para construir algoritmos de aprendizaje automático. Dado un conjunto de datos inicial que normalmente contiene una gran cantidad de variables, ¿qué podemos hacer para seleccionar el grupo de características que son importantes al momento de hacer predicciones? Hay una variedad de procedimientos o técnicas que podemos aplicar como parte del proceso de selección de características.

Antes de profundizar en las técnicas de selección de características, ¿por qué seleccionamos características, para empezar? Aquí hay algunas razones.

  • Los modelos más simples son más fáciles de interpretar. Es más fácil para los usuarios del modelo comprender la salida de un modelo que usa 10 variables que la salida de un modelo que usa 100 variables.
  • Tiempos de entrenamiento más cortos. Reducir la cantidad de variables utilizadas para construir los modelos de aprendizaje automático reduce el costo computacional y, por lo tanto, acelera la construcción del modelo. Pero lo que es más importante, los modelos más simples también obtienen una puntuación más rápida que las aplicaciones, lo que es particularmente importante si el modelo se encuentra en un entorno en vivo donde las decisiones deben tomarse en segundos.
  • Generalización mejorada al reducir el sobreajuste. Muy a menudo, muchas de las variables son ruido con poco o ningún valor predictivo. Sin embargo, los modelos de aprendizaje automático aprenden de este ruido, lo que provoca un sobreajuste y reduce la generalización. Al eliminar las características ruidosas irrelevantes, podemos mejorar sustancialmente la generalización de un modelo de aprendizaje automático.
  • Más fácil de implementar por los desarrolladores de software. Cuando se implementa el modelo de aprendizaje automático, a menudo los desarrolladores de software necesitan escribir código para llamar a las variables que deben introducirse en el modelo para producir el resultado. Es mucho más rápido escribir código para 10 a 50 variables que para 400 variables. Además, menos código es menos propenso a errores y, por lo tanto, proporciona un entorno más seguro.
  • Reducción del riesgo de errores de datos durante el uso del modelo. A menudo, las empresas confían en llamadas a datos de terceros a partir de los cuales seleccionarán variables para pasar el modelo de aprendizaje automático. Reducir el uso de la cantidad de variables utilizadas en el modelo de aprendizaje automático reduce la exposición del negocio a errores en la recopilación y almacenamiento de datos de terceros y también los errores potenciales en la recopilación de datos que pueden surgir dentro del mismo negocio.
  • Redundancia variable. Muy a menudo, las características dentro de un conjunto de datos están altamente correlacionadas. Las características altamente correlacionadas proporcionan la esencia de la misma información. Por lo tanto, son un poco redundantes. Podríamos quedarnos con uno y eliminar todos los demás sin perder información.
  • Mal comportamiento de aprendizaje en espacios de alta dimensión. El rendimiento del modelo de aprendizaje automático en algoritmos particulares basados ​​en árboles se ve favorecido por espacios de funciones reducidos. En otras palabras, esto significa que las dimensiones altas provocan un rendimiento deficiente en los métodos basados ​​en árboles y, por lo tanto, reducir el espacio de características ayuda a construir modelos más sólidos y predictivos.

Un algoritmo de selección de características puede verse como la combinación de una técnica de búsqueda para proponer nuevos subconjuntos de características, junto con una medida de evolución que puntúa los diferentes subconjuntos de características. Idealmente, un método de selección de funciones buscará en todos los subconjuntos posibles de combinaciones de funciones que se pueden obtener de un conjunto de datos determinado y encontrará la combinación de funciones que produce el mejor rendimiento del modelo de aprendizaje automático. En la práctica, esto no suele ser una opción debido al costo computacional. Además, diferentes subconjuntos de funciones pueden producir un rendimiento óptimo para diferentes algoritmos de aprendizaje automático. Esto significa que no solo hay un subconjunto de funciones, sino potencialmente muchos subconjuntos de funciones óptimas según el algoritmo de aprendizaje automático que pretendamos utilizar. Por eso, a lo largo de los años, Se han desarrollado muchos métodos diferentes para seleccionar características para tratar de acomodar tantas advertencias y limitaciones como sea posible. A lo largo de esta serie de artículos, describiré muchos métodos diferentes para la selección de características, cuáles son las ventajas y desventajas y cómo implementarlos en la práctica utilizando ejemplos de conjuntos de datos comerciales.