Es en el proceso de Feature engineering, donde se extraen o se seleccionan variables de un conjunto de datos de espacio p-dimensional ,en el cual cada dimensión es una variable. Es muy frecuente, que en un conjunto de datos de alta dimensión donde p es muy grande, algunas variables no son importantes, y la alta dimensionalidad afecta la clasificación(Modelamiento de dos clases, machine learning supervised), de la siguiente manera:
- El error de los métodos basados en distancias (k-NN) aumenta exponencialmente con p.
- El error de los clasificadores lineales aumenta linealmente con p.
- Entonces es muy importante mantener p tan bajo como sea posible:
-Reducción de la dimensionalidad
Reducir la dimensionalidad de p variables de un conjunto de datos se define en dos enfoques:
- Extracción de variables
- Selección de variables
Preguntas:
- ¿Cuáles variables se pueden eliminar de manera segura?
- ¿Cuál es el mejor subconjunto de variables a mantener?
Se puede usar la reducción de la dimensionalidad para:
- Tener un conjunto reducido de variables que entregue algoritmos más rápidos y los parámetros sean más fáciles de estimar. Nota: La alta dimensionalidad en p implica que descartar información puede en realidad mejorar los resultados !
- Explicar cuales variables son útiles y cuáles no (reducción de redundancia).
- Visualizar datos y diseñar sistemas de reconocimiento de patrones.
- Mejora la precisión de un modelo si se elige el subconjunto correcto.
- Reduce el sobreajuste.
En la siguiente figura, se define la selección y extracción de variables de un conjunto de datos:
En la figura izquierda, se define la extracción de variables donde se tiene que mapear p variables, en d variables de salida. En la figura de la derecha , la selección de variables, donde se selecciona d variables de p variables.
En ciertas ocasiones no se percibe con gran facilidad la diferencia, pero ahora vamos analizar cual es la gran ventaja y las diferencias entre las dos.
Al analizar un conjunto de datos en el cual se quiere garantizar la separabilidad de las clases, la línea roja representa una extracción de variables en la cual se reduce la dimensionalidad en dos ejes, pero el criterio es subóptimo. Esto quiere decir, que una técnica de extracción de variables, como por ejemplo el análisis de componentes principales(ACP), ayudará a reducir la dimensión de p variables en dos factores, pero como el criterio no es la clasificación de las clases no garantizará la separabilidad y se perderá algunas direcciones en los factores que son importantes. La ventaja que tiene la extracción de variables es que es barata computacionalmente, pero una desventaja que se puede observar es el traslape en la distribución de las clases, verde y azul cuando se obtiene la extracción de variables, es así que se habla de un criterio subóptimo en la extracción de variables. Por otro lado, la linea azul representa la selección de variables, a pesar que la representación grafica no divide la nube de puntos verde y azul, podemos observar que el traslape comparando las distribuciones de frecuencia de las clases ,es mucho menor que aplicando la extracción de variables. La desventaja de utilizar la selección de variables es el costo computacional que representa, pero es de fácil interpretación. Este costo computacional, se define de la siguiente forma:
¿ Cuál sería el enfoque más directo para resolver el problema de selección de variables?.
R/ Examinar todos los posibles subconjuntos de la combinación de p y d seleccionando el subconjunto con el mayor valor de J, donde J es la función del criterio de selección de variables para el conjunto X.
Asumamos que un MAYOR valor de J indica un mejor subconjunto de variables, una selección natural de la función criterio es J − Pe, donde Pe es el error de clasificación.
¿ Cuál es la desventaja de este enfoque?
R/ El numero de subconjuntos posibles crece de manera combinatoria
Ejemplo: p=50
- d=2: 1225 subconjuntos
- d=5: 2.1×10^6 subconjuntos
- d=25: 1.3×10^14 subconjuntos
Ninguna búsqueda secuencial no exhaustiva garantiza un subconjunto óptimo de variables
Pensemos en la selección y extracción como un mapeo y para cada x y para ambos necesitamos:
- Una función criterio: un modelo de lo que hace a un mapeo bueno:
ej: error, traslape de clases, pérdida de información. - Un algoritmo de búsqueda: un método para encontrar un mapeo
dado el criterio, ej: escoger la mejor única variable cada vez.
En conclusión ya sabemos cual es la diferencia entre extracción de variables y selección de variables, además de sus ventajas y desventajas. En el siguiente blog se hablará del proceso que se debe tener en cuenta para la selección de variables en problemas de clasificación, pero debemos saber que la selección de variables en el proceso de la construcción de un clasificador, se debe hacer antes de introducir los datos para el entrenamiento del modelo. Principalmente cuando se utiliza métodos de estimación de precisión como la validación cruzada . Esto asegura que la selección de variables se realice en el conjunto de datos antes de entrenar un clasificador. Si se realiza la selección de variables primero para preparar sus datos, y luego se realiza la selección del modelo y el entrenamiento con las variables seleccionadas, entonces sería un error.
Si realiza la selección de variables en todos los datos y luego realiza una validación cruzada, los datos de test en cada fold del procedimiento de validación cruzada también se usaron para elegir las variables, y esto tiende a sesgar el rendimiento de su clasificador.
El material fue tomado del curso reconocimiento de patrones, dictado por el profesor Hernán Dario Benítez.