Selección de variables: Para qué?
Para mejorar la performance de los métodos de aprendizaje:
Algunos métodos trabajan mucho mejor con menos variables.
Aunque los métodos modernos de ML suelen ser muy resistentes al problema de la dimensionalidad.
En ciertos casos muchas variables no son informativas del problema (ruido o redundancias).
Al eliminarlas reducimos el riesgo de sobreajuste.
Selección de variables: Para qué?
Para descubrir:
Cuáles son las variables más importantes en un problema.
Cuáles variables están correlacionadas, co-reguladas, o son dependientes y cuáles no.
La selección de variables no es más una técnica de pre-procesado, actualmente es una herramienta para descubrir información de un problema.
Métodos
Univariados consideran una variable a la vez.
Multivariados: consideran subconjuntos de variables al mismo tiempo.
Filtros: Ordenan las variables con criterios de importancia independientes del predictor.
Wrappers: Usan el predictor final para evaluar la utilidad de las variables.
Métodos
Problema Base:
Seleccionar un subconjunto óptimo de n variables de las p variables originales, dado un criterio.
Por qué no evaluar todas las posibilidades?
Explosión combinatoria:
Se usan soluciones sub-óptimas sobre eurísticas.
Métodos de Filtro
Elige las mejores variables usando criterios razonables de “importancia”.
El criterio es generalmente independiente del problema real.
Usualmente se usan criterios univariados.
Se ordenan las variables en base al criterio y se retienen las más importantes (criterio de corte!)
Métodos de Filtro: ejemplos
Clasificación: Relevantes e Irrelevantes
(Gp:) xi
(Gp:) densidad
(Gp:) Clases Y=1 Y=-1
(Gp:) ?-
(Gp:) ?+
(Gp:) ?-
(Gp:) ?+
(Gp:) xi
Wrappers. Claves
Seleccionar las mejores variables para modelar (usando el criterio final)
Para cada subconjunto de variables resolver el problema de modelado. Conservar la mejor solución.
Como ya discutimos, la búsqueda completa es exponencialmente larga.
Wrappers. Alternativas
Búsquedas Greedy:
forward selection
backward elimination
combinaciones de ambas
Búsquedas pseudo-random:
Simulated annealing
genetic algorithm
Wrappers. Ejemplo
Kohavi-John, 1997
Espacio de búsqueda para un problema con 4 variables.
0 ausente – 1 presente
Wrappers. Forward search
Variantes:
Floating search. 1 paso adelante, 1 atrás
Wrappers. Backward search
Variantes:
Floating search
Métodos embebidos
Los wrappers backward son potencialmente los mejores métodos de selección.
Son computacionalmente muy pesados.
A cada paso construyen todos los clasificadores intermedios posibles para evaluarlos.
Para rankear p variables crean O(p2) modelos.
La solución ideal sería un método backward, basado directamente en el modelo final, pero eficiente.
Métodos embebidos
Para evaluar cuál es la próxima variable a eliminar, el wrapper back construye todos los modelos con una variable menos.
Los evalúa a todos y “da un paso” en la dirección de máximo descenso del error.
Se puede hacer algo parecido sin calcular todos los modelos target?
Métodos embebidos
Lo que necesitamos conocer es la derivada del error respecto de cada variable.
O alguna aproximación a la derivada
Se las llama “medidas internas de importancia”
Si la función error es razonablemente suave, dar el paso en la dirección de máximo descenso de la derivada debería ser lo mismo que el máximo descenso del error.
Métodos embebidos
Recursive Feature elimination (RFE):
Ajustar un modelo a los datos
Rankear las variables usando una medida interna de importancia.
Más importante es la que más empeora al modelo al ser eliminada
Eliminar la variable (o un grupo) con el ranking más bajo
iterar
Medidas de importancia
Ejemplos de medidas de importancia:
SVM: componentes de W
Random Forest:
Shuffling OOB
Variación del GINI index.
LDA o PDA o Regresión logística: weights
Partial Least Squares (PLS): Scores
ANN:
Saliency (Solla et al, NIPS)
Shuffling OOB (Izetta, CACIC09)
Problemas con el RFE
Variables importantes pero correlacionadas
Si el modelo original usa las dos, las dos “comparten” la importancia.
En la práctica aparecen como menos importantes que otras variables.
Al eliminar una de ellas, la otra toma toda la importancia y suele subir bruscamente en el ranking (por esto es necesario iterar).
Problemas con el RFE
Variables importantes pero correlacionadas
Cuál es eliminada y cuál promocionada es casi chance.
Como resultado, el ranking de variables tiende a ser inestable.
Método sugerido
Usar el train para elegir las variables.
Usar validación independiente para determinar la cantidad de variables a retener.
Hacer una selección final con train+validación.
Estimar el error con el test set.
Página anterior | Volver al principio del trabajo | Página siguiente |