¿Qué sucede cuando entrenamos un SVM lineal en datos separables no linealmente?

11

¿Qué sucede cuando entrenamos una máquina de vectores de soporte básico (núcleo lineal y sin margen blando) en datos separables no linealmente? El problema de optimización no es factible, entonces, ¿qué devuelve el algoritmo de minimización?

SVM
fuente

Respuestas:

11

Creo que la máquina de vectores de soporte básico significa SVM de margen duro. Entonces, revisemos:

¿Qué es un SVM de margen duro?

En resumen, queremos encontrar un hiperplano con el margen más grande que pueda separar correctamente todas las observaciones en nuestro espacio muestral de entrenamiento.

El problema de optimización en SVM de margen duro

Dada la definición anterior, ¿cuál es el problema de optimización que debemos resolver?

  1. El hiperplano de margen más grande: queremos max(margin)
  2. Ser capaz de separar todas las observaciones correctamente: necesitamos optimizar marginy también satisfacer la restricción: no hay errores en la muestra

¿Qué sucede cuando entrenamos un SVM lineal en datos separables no linealmente?

Volviendo a su pregunta, dado que mencionó que el conjunto de datos de entrenamiento no es linealmente separable, al usar SVM de margen duro sin transformaciones de características, es imposible encontrar un hiperplano que satisfaga "No hay errores en la muestra" .

Normalmente, resolvemos el problema de optimización SVM mediante programación cuadrática, porque puede realizar tareas de optimización con restricciones. Si utiliza el Descenso de degradado u otros algoritmos de optimización que, sin satisfacer las restricciones de SVM de margen duro, todavía debería obtener un resultado, pero ese no es un hiperplano SVM de margen duro.

Por cierto, con datos no linealmente separables, generalmente elegimos

  • transformaciones de funciones SVM + de margen duro
  • use SVM de margen suave directamente (en la práctica, el SVM de margen suave generalmente obtiene buenos resultados)
fansia
fuente
gracias por tu respuesta. Entonces, ¿los paquetes SVM en, por ejemplo, R o Python no usan métodos de programación cuadrática cuando los datos son no linealmente separables?
SVM
No estoy seguro de qué bibliotecas svm usas. Uso libsvm y diferentes herramientas de svm pueden usar diferentes solucionadores de svm. Encontrar mejores solucionadores de svm es otro tema de investigación. QP es la forma básica de resolver svm.
fansia