Mi pregunta es triple
En el contexto de máquinas de vectores de soporte "Kernelized"
- Es deseable la selección de variables / características, especialmente porque regularizamos el parámetro C para evitar el sobreajuste y el motivo principal detrás de la introducción de núcleos en una SVM es aumentar la dimensionalidad del problema, en tal caso, reducir las dimensiones mediante la reducción de parámetros parece contraintuitivo
- Si la respuesta a la primera pregunta es "NO", entonces, ¿en qué condiciones cambiaría la respuesta que se debe tener en cuenta?
- ¿Hay algún buen método que se haya intentado para lograr la reducción de funciones para SVM en la biblioteca scikit-learn de python? He probado el método SelectFpr y estoy buscando personas con experiencias con diferentes métodos.
svm
feature-selection
scikit-learn
Nitin Srivastava
fuente
fuente
Respuestas:
Personalmente, me gusta dividir la selección de funciones en dos:
La selección de funciones sin supervisión son cosas como la agrupación en clúster o PCA donde selecciona la gama de funciones menos redundante (o crea funciones con poca redundancia). La selección de funciones supervisadas son cosas como Lasso, donde selecciona las funciones con mayor poder predictivo.
Personalmente, prefiero lo que llamo selección de funciones supervisadas. Entonces, cuando uso una regresión lineal, seleccionaría características basadas en Lasso. Existen métodos similares para inducir la escasez en las redes neuronales.
Pero, de hecho, no veo cómo haría eso en un método que usa kernels, por lo que probablemente sea mejor usar lo que yo llamo selección de funciones sin supervisión.
EDITAR: también preguntaste sobre la regularización. Veo que la regularización ayuda principalmente porque trabajamos con muestras finitas y, por lo tanto, la distribución de capacitación y pruebas siempre diferirá un poco, y desea que su modelo no se ajuste demasiado. No estoy seguro de que elimine la necesidad de evitar la selección de funciones (si realmente tiene demasiadas). Creo que seleccionar características (o crear un subconjunto más pequeño de ellas) ayuda al hacer que las características que tiene sean más robustas y evite que el modelo aprenda de correlaciones espurias. Entonces, la regularización ayuda, pero no estoy seguro de que sea una alternativa completa. Pero no he pensado lo suficiente sobre esto.
fuente