Tema
Selección de características
- Machine Learning
- Nivel intermedio
La selección de características elige un subconjunto de las variables de entrada, ya sea con métodos de filtrado que puntúan cada variable por su relación con la etiqueta o con métodos de envoltura que evalúan subconjuntos entrenando el modelo final.
Nombre en inglés
Feature selection
Intuición
El filtrado es rápido porque no entrena nada y por eso ignora cómo se combinan las variables entre sí, de modo que descarta una variable inútil por su cuenta que sería decisiva junto a otra. La envoltura acierta más porque pregunta al modelo que se va a usar, y cuesta mucho más porque cada consulta es un entrenamiento completo. La búsqueda hacia adelante y la búsqueda hacia atrás son las dos formas habituales de recorrer los subconjuntos sin probarlos todos.
Fórmula
subconjuntos posibles con n variables = 2^n - 1; busqueda hacia adelante hasta k variables evalua n + (n - 1) + ... + (n - k + 1)
Ejemplo resuelto
Con 4 variables hay 2^4 menos 1 = 15 subconjuntos no vacíos, cifra manejable. La búsqueda hacia adelante prueba primero las 4 variables por separado, se queda con la mejor, prueba las 3 restantes junto a ella, luego las 2 que quedan y por último la última, con 4 + 3 + 2 + 1 = 10 evaluaciones para recorrer todos los tamaños. Con 20 variables la exhaustiva pide más de un millón de subconjuntos y la búsqueda hacia adelante hasta 5 variables pide 20 + 19 + 18 + 17 + 16 = 90.
Errores frecuentes
- Seleccionar las variables mirando todo el conjunto de datos y validar después, fuga de información que produce estimaciones optimistas incluso con variables generadas al azar.
- Confundir relevancia con utilidad, ya que una variable puede ser fuertemente relevante para la etiqueta y aun así no mejorar a un modelo que ya captura esa información por otra vía.
- Descartar una de dos variables muy correlacionadas sin comprobarlo, cuando la combinación de ambas puede contener la señal justo en su diferencia.
Ejercicio
Con 6 variables se hace búsqueda hacia adelante hasta llegar a 3 variables. Calcula cuántos subconjuntos se evalúan y compáralo con la búsqueda exhaustiva de subconjuntos de tamaño 3.
Ver la solución
La búsqueda hacia adelante evalúa 6 candidatos en el primer paso, 5 en el segundo y 4 en el tercero, o sea 6 + 5 + 4 = 15 evaluaciones. La búsqueda exhaustiva de tamaño 3 evalúa las combinaciones de 6 elementos tomados de 3 en 3, o sea 20. La diferencia parece pequeña con 6 variables, pero con 30 variables la búsqueda hacia adelante pide 87 evaluaciones frente a 4060 de la exhaustiva.
Respuesta: 15 frente a 20.