dado un conjunto de datos arbitrario, normalmente no sabe qué núcleo puede funcionar mejor. Recomiendo comenzar con el espacio de hipótesis más simple primero, dado que no sabes mucho sobre tus datos, y avanzar hacia los espacios de hipótesis más complejos. Por lo tanto, el núcleo lineal funciona bien si su conjunto de datos es linealmente separable; sin embargo, si su conjunto de datos no es linealmente separable, un núcleo lineal no lo va a cortar (casi en un sentido literal ;)).,
para simplificar (y con fines de visualización), asumamos que nuestro conjunto de datos solo consta de 2 dimensiones. A continuación, graficé las regiones de decisión de un SVM lineal en 2 Características del conjunto de datos iris:
esto funciona perfectamente bien. Y aquí viene el SVM del núcleo RBF:
ahora, parece que tanto el SVM del núcleo lineal como el RBF funcionarían igualmente bien en este conjunto de datos. Entonces, ¿por qué preferir la hipótesis lineal más simple? Piensa en la navaja de Occam en este caso en particular., El SVM lineal es un modelo paramétrico, un SVM del núcleo RBF no lo es, y la complejidad de este último crece con el tamaño del conjunto de entrenamiento. No solo es más caro entrenar un SVM del núcleo RBF, sino que también tiene que mantener la matriz del núcleo alrededor, y la proyección en este espacio dimensional superior «infinito» donde los datos se vuelven linealmente separables también es más caro durante la predicción. Además, tiene más hiperparámetros para afinar, por lo que la selección del modelo también es más cara. Y por último, ¡es mucho más fácil sobreequipar un modelo complejo!,
bien, lo que he dicho anteriormente suena muy negativo con respecto a los métodos del núcleo, pero realmente depende del conjunto de datos. Por ejemplo, si sus datos no son linealmente separables, no tiene sentido usar un clasificador lineal:
en este caso, un núcleo RBF tendría mucho más sentido:
en cualquier caso, no me molestaría demasiado sobre el núcleo polinómico. En la práctica, es menos útil por razones de rendimiento de eficiencia (computacional y predictiva)., Por lo tanto, la regla general es: use SVMs lineales (o regresión logística) para problemas lineales, y núcleos no lineales como el núcleo de función de Base Radial para problemas no lineales.
la región de decisión SVM del núcleo RBF es también una región de decisión lineal., Lo que RBF kernel SVM realmente hace es crear combinaciones no lineales de sus entidades para elevar sus muestras a un espacio de entidades de dimensiones más altas donde puede usar un límite de decisión lineal para separar sus clases:
bien, arriba, lo guié a través de un ejemplo intuitivo donde podemos visualizar nuestros datos en 2 dimensiones … pero, ¿qué hacemos en un problema del mundo real, es decir, un conjunto de datos con más de 2 dimensiones? Aquí, queremos mantener un ojo en nuestra función objetiva: minimizar la pérdida de bisagra., Configuraríamos una búsqueda de hiperparámetros (búsqueda de cuadrícula, por ejemplo) y compararíamos diferentes núcleos entre sí. Basado en la función de pérdida(o una métrica de rendimiento como precisión, F1, MCC, ROC auc, etc.) podríamos determinar qué núcleo es «apropiado» para la tarea dada.
Bio: Sebastian Raschka es un»científico de datos»y entusiasta del aprendizaje automático con una gran pasión por Python & código abierto. Autor de ‘Python Machine Learning’. Universidad Estatal De Michigan.
Original. Publicado con permiso.,
relacionado:
- ¿cuándo Funciona mejor el aprendizaje profundo que los SVM o los bosques aleatorios?
- El desarrollo de la clasificación como máquina de aprendizaje
- ¿Por qué implementar algoritmos de aprendizaje automático desde cero?
Deja una respuesta