Dados los puntos de datos y las etiquetas , el problema primario del margen duro SVM es
que es un programa cuadrático con variables para optimizar y restricciones . El dual
es un programa de segundo grado con variables que se han optimizado para y desigualdad y igualdad limitaciones.
Al implementar un SVM de margen duro, ¿por qué debería resolver el problema dual en lugar del problema primario? El problema primario me parece más 'intuitivo' y no necesito preocuparme por la brecha de dualidad, la condición de Kuhn-Tucker, etc.
Para mí tendría sentido resolver el problema dual si , pero sospecho que hay mejores razones. ¿Es este el caso?
Respuestas:
Según las notas de la conferencia a las que se hace referencia en la respuesta de @ user765195 (¡gracias!), Las razones más aparentes parecen ser:
Al resolver el problema primario, obtenemos la óptima , pero no sabemos nada sobre . Para clasificar un punto de consulta , necesitamos calcular explícitamente el producto escalar , que puede ser costoso si es grande.w αi x wTx d
Al resolver el problema dual, obtenemos (donde para todos menos algunos puntos: los vectores de soporte). Para clasificar un punto de consulta , calculamosαi αi=0 x
Este término se calcula de manera muy eficiente si solo hay pocos vectores de soporte. Además, dado que ahora tenemos un producto escalar que solo involucra vectores de datos , podemos aplicar el truco del núcleo .
fuente
<x1, x>
ywTx
. El primero se usa como símbolo para una evaluación de kernel K (x1, x), que proyecta x1 yx en un espacio de muy alta dimensión y calcula implícitamente el producto escalar de los valores proyectados. Este último es el producto normal escalar, de modow
yx
tienen que ser proyectada de manera explícita, a continuación, el producto escalar se calcula de forma explícita. Dependiendo de la elección del núcleo, un solo cálculo explícito puede requerir muchos más cálculos que muchas evaluaciones del núcleo.Lea el segundo párrafo en la página 13 y la discusión que sigue en estas notas:
http://cs229.stanford.edu/notes/cs229-notes3.pdf
fuente
Aquí hay una razón por la cual la formulación dual es atractiva desde el punto de vista de la optimización numérica. Puede encontrar los detalles en el siguiente documento :
Hsieh, C.-J., Chang, K.-W., Lin, C.-J., Keerthi, SS y Sundararajan, S., "Un método de descenso de coordenadas dobles para SVM lineal a gran escala", Procedimientos de la 25a Conferencia Internacional sobre Aprendizaje Automático, Helsinki, 2008.
La formulación dual implica una sola restricción de igualdad afín yn restricciones limitadas.
1. La restricción de igualdad afín se puede "eliminar" de la formulación dual.
Esto se puede hacer simplemente mirando sus datos en R ^ (d + 1) mediante la incorporación de R ^ d en R ^ (d + 1) como resultado de agregar una sola coordenada "1" a cada punto de datos, es decir, R ^ d ----> R ^ (d + 1): (a1, ..., ad) | ---> (a1, ..., ad, 1).
Hacer esto para todos los puntos en el conjunto de entrenamiento reestructura el problema de separabilidad lineal en R ^ (d + 1) y elimina el término constante w0 de su clasificador, lo que a su vez elimina la restricción de igualdad afín del dual.
2. En el punto 1, el dual se puede convertir fácilmente como un problema de optimización cuadrático convexo cuyas restricciones son solo restricciones limitadas.
3. El problema dual ahora se puede resolver de manera eficiente, es decir, a través de un algoritmo de descenso de coordenadas dual que produce una solución óptima de epsilon en O (log (1 / epsilon)).
Esto se hace al notar que arreglar todos los alfa excepto uno produce una solución de forma cerrada. Luego puede recorrer todos los alfa uno por uno (por ejemplo, elegir uno al azar, arreglar todos los otros alfa, calcular la solución de forma cerrada). Se puede demostrar que obtendrá una solución casi óptima "bastante rápido" (ver Teorema 1 en el documento mencionado anteriormente).
Hay muchas otras razones por las que el problema dual es atractivo desde el punto de vista de la optimización, algunas de las cuales explotan el hecho de que solo tiene una restricción de igualdad afín (las restricciones restantes son todas restricciones limitadas) mientras que otras aprovechan la observación de que en la solución del problema dual "a menudo la mayoría de los alfas" son cero (los alfas distintos de cero corresponden a vectores de soporte).
Puede obtener una buena visión general de las consideraciones de optimización numérica para SVM de la presentación de Stephen Wright en el Taller de aprendizaje computacional (2009).
PD: Soy nuevo aquí. Disculpas por no ser bueno en el uso de la notación matemática en este sitio web.
fuente
En mi opinión en las notas de la conferencia de Andrew ng, se ha mencionado claramente que el problema primario de 1 / || w ||, es un problema no convexo. El dual es un problema convexo y siempre es fácil encontrar el óptimo de una función convexa.
fuente