Regresión logística del kernel vs SVM

32

Como todos saben, SVM puede usar el método del núcleo para proyectar puntos de datos en espacios más altos de modo que los puntos se puedan separar por un espacio lineal. Pero también podemos usar la regresión logística para elegir este límite en el espacio del núcleo, entonces, ¿cuáles son las ventajas de SVM? Dado que SVM usa un modelo disperso en el que solo esos vectores de soporte hacen contribuciones al predecir, ¿esto hace que SVM sea más rápido en la predicción?

FindBoat
fuente
1
Las diapositivas de Hastie son lo que estás buscando
Yibo Yang

Respuestas:

28

KLR y SVM

  1. El rendimiento de clasificación es casi idéntico en ambos casos.
  2. KLR puede proporcionar probabilidades de clase, mientras que SVM es un clasificador determinista.
  3. KLR tiene una extensión natural a la clasificación multiclase, mientras que en SVM, hay múltiples formas de extenderlo a la clasificación multiclase (y todavía es un área de investigación si existe una versión que tenga cualidades demostrablemente superiores a las demás).
  4. Sorprendentemente o no sorprendentemente, ¡KLR también tiene propiedades de margen óptimas que disfrutan los SVM (al menos en el límite)!

Mirando lo anterior, casi parece que la regresión logística del núcleo es lo que debería estar usando. Sin embargo, hay ciertas ventajas que disfrutan los SVM

  1. O(norte3)O(norte2k)k
  2. El clasificador en SVM está diseñado de tal manera que se define solo en términos de los vectores de soporte, mientras que en KLR, el clasificador se define en todos los puntos y no solo en los vectores de soporte. Esto permite a los SVM disfrutar de algunas aceleraciones naturales (en términos de escritura de código eficiente) que es difícil de lograr para KLR.
TenaliRaman
fuente
77
+1 Solo agregaría que si la complejidad computacional es un problema, no es demasiado difícil construir un modelo de regresión logística de kernel disperso eligiendo con avidez los vectores base para minimizar la pérdida regularizada en el conjunto de entrenamiento u otros enfoques. Consulte los documentos sobre la "Máquina de vectores informativos", por ejemplo.
Dikran Marsupial
44
Además, con bastante frecuencia si optimiza el kernel y los parámetros de regularización de un SVM, termina con un modelo en el que prácticamente todos los datos son vectores de soporte. La escasez de SVM es un feliz accidente, no es realmente un buen punto de venta de la técnica, ya que generalmente es posible lograr una mayor escasez por otros medios.
Dikran Marsupial
1
@DikranMarsupial Gracias por el puntero a Informative Vector Machine. Sé de algunos trabajos en Sparse KLR, pero hasta ahora no creo que ninguno de ellos escale bien para grandes conjuntos de datos. De cualquier manera, lanzar una buena implementación de KLR disperso que sea fácil de usar como libSVM o SVM Light puede ser de gran ayuda en su adopción. Disculpas si tales implementaciones ya existe, sin embargo, no tengo conocimiento de ninguna (EDIT: Creo que quería decir "máquinas de vectores de importación" en lugar de "máquinas de vectores informativo"?).
TenaliRaman
2
Si está terminando con todos los puntos de datos como vectores de soporte, entonces está sobreajustando. Esto sucede con RBF muchas veces. De hecho, una de las cosas fundamentales que he aprendido como usuario de SVM es, en primer lugar, verificar la fracción de puntos elegidos como vectores de soporte. Si es más del 30% de los datos, rechazo totalmente ese modelo.
TenaliRaman el
3
No es correcto que todos los puntos de datos sean SV significan un ajuste excesivo. Si el valor de C es pequeño, entonces hay poca penalización en las variables de holgura, entonces puede tener un clasificador muy blando (que comete muchos errores en el conjunto de entrenamiento) y el margen es tan amplio que todos los datos son vectores de soporte. Rechazar modelos no dispersos no es una buena regla general, ya que a veces el SVM con el mejor rendimiento de generalización no es disperso. El número de SV es un límite superior en el error de dejar uno fuera, ¡pero a menudo es un límite muy perdido!
Dikran Marsupial
15

Aquí está mi opinión sobre el tema:

Las SVM son una forma muy elegante de clasificar. Hay una buena teoría, algunas matemáticas hermosas, se generalizan bien y tampoco son demasiado lentas. Sin embargo, intente usarlos para la regresión, y se vuelve desordenado.

  • Aquí hay un recurso sobre regresión SVM. Observe los parámetros adicionales para twiddle y la discusión en profundidad sobre algoritmos de optimización.

La regresión del proceso gaussiano tiene muchas de las mismas matemáticas del núcleo, y funciona muy bien para la regresión. De nuevo, el muy elegante, y no es demasiado lento. Intente usarlos para la clasificación, y comienza a sentirse bastante torpe.

  • Aquí hay un capítulo del libro GP sobre regresión.

  • Aquí hay un capítulo sobre clasificación, para comparar. Observe que termina con algunas aproximaciones complicadas o un método iterativo.

Sin embargo, una buena cosa sobre el uso de GPs para la clasificación es que le brinda una distribución predictiva, en lugar de una simple clasificación sí / no.

Stumpy Joe Pete
fuente
2
Los GP +1 son una buena alternativa a KLR (aunque KLR a menudo ofrece un mejor rendimiento porque la selección de modelos basada en evidencia puede salir mal con bastante facilidad si hay una especificación errónea del modelo) y la validación cruzada a menudo es preferible.
Dikran Marsupial
7

visite http://www.stanford.edu/~hastie/Papers/svmtalk.pdf

Algunas conclusiones: El rendimiento de la clasificación es muy similar. Tiene propiedades limitantes de margen óptimo. Proporciona estimaciones de las probabilidades de la clase. A menudo, estos son más útiles que las clasificaciones. Se generaliza naturalmente a la clasificación de clase M a través de la regresión de múltiples logot del núcleo.

estrella de hockey
fuente