¿Cómo se deriva la fórmula lagrangiana para resolver la máquina de vectores de soporte?

Esta es en realidad una instancia específica de un método muy general para resolver problemas de optimización restringidos. Para ilustrar exactamente cómo funciona, podemos comenzar con un ejemplo simple de dos variables para maximizar [matemáticas] f (x, y) = xy [/ matemáticas] sujeto a [matemáticas] g (x, y) = \ frac {x ^ 2} {4} + y ^ 2-1 = 0 [/ matemáticas]. La función de restricción describe una elipse centrada en el origen con semieje mayor del eje 2 y semieje menor del eje 1.

Si no hubiera ninguna restricción, entonces en cada punto, podríamos seguir el vector gradiente [math] \ nabla f [/ math] y llegar a un punto con un valor más alto de [math] f [/ math]. Los puntos donde [math] \ nabla f = 0 [/ math] serían los puntos estacionarios. Sin embargo, cuando estamos limitados a la elipse, no siempre podemos movernos en la dirección [math] \ nabla f [/ math]. En cambio, podemos imaginar colocar una cuenta en la elipse y luego aplicar una fuerza que siempre apunte en [math] \ nabla f [/ math]. La cuenta no siempre se moverá en la dirección de la fuerza; seguirá un camino a lo largo de la elipse, y este movimiento será controlado por el componente tangencial de la fuerza. Los puntos estacionarios no son donde [math] \ nabla f [/ math] es cero, sino donde este componente tangencial es cero. Por lo tanto, estamos buscando un punto donde [math] \ nabla f [/ math] sea perpendicular a la tangente a la elipse.

Esta nueva condición plantea la pregunta: ¿cómo encontramos la tangente a la elipse? La elipse es en realidad un conjunto de niveles de la función [matemática] g (x, y) [/ matemática], lo que significa que cualquier vector tangente a ella también es perpendicular a [matemática] \ nabla g [/ matemática]. Entonces, estamos buscando un punto donde [math] \ nabla f [/ math] es perpendicular a la tangente, que a su vez es perpendicular a [math] \ nabla g [/ math]. En el caso bidimensional con el que estamos comenzando, es fácil ver que esto implica que [math] \ nabla f [/ math] y [math] \ nabla g [/ math] tienen la misma dirección, entonces uno es un múltiplo del otro. Podemos elegir la constante de proporcionalidad para que sea [matemática] – \ lambda [/ matemática], de modo que
[matemáticas] \ nabla f = – \ lambda \ nabla g [/ matemáticas]
Volviendo al ejemplo específico que definimos anteriormente, ahora estamos tratando de resolver la siguiente ecuación vectorial:
[matemáticas] \ langle y, x \ rangle = – \ lambda \ langle \ frac {x} {2}, 2y \ rangle [/ math]
Podemos dividir esto en dos ecuaciones escalares:
[matemáticas] y + \ frac {\ lambda} {2} x = 0 [/ matemáticas]
[matemáticas] x + 2 \ lambda y = 0 [/ matemáticas]
Ahora tenemos dos ecuaciones en tres variables, por lo que aún no podemos encontrar una solución. Podemos completar el sistema recordando la ecuación de restricción:
[matemáticas] \ frac {x ^ 2} {4} + y ^ 2 = 1 [/ matemáticas]
Algunas sustituciones simples dan cuatro soluciones a este sistema: [matemáticas] (\ pm 2, \ pm \ frac {1} {\ sqrt {2}}) [/ matemáticas]. Es fácil ver que las soluciones en el primer y tercer cuadrantes son máximas, y las del segundo y cuarto cuadrante son mínimas. El siguiente diagrama muestra que la solución en el primer cuadrante tiene de hecho un vector de gradiente ortogonal a la elipse.
Entonces, ahora podemos extendernos a casos de dimensiones superiores con múltiples restricciones. Si seguimos la misma lógica, empleando un poco de álgebra lineal para manejar las dimensiones arbitrarias, entonces encontramos que el gradiente objetivo debe estar en el espacio abarcado por los gradientes de restricción:
[matemáticas] \ nabla f = \ sum_i \ lambda_i \ nabla g_i [/ ​​matemáticas]
Si hay variables [matemáticas] n [/ matemáticas] y restricciones [matemáticas] m [/ matemáticas], esto dará ecuaciones [matemáticas] n [/ matemáticas] en las variables [matemáticas] n + m [/ matemáticas]. Las ecuaciones de restricción adicionales [matemáticas] m [/ matemáticas] proporcionan un sistema completo, que en teoría se puede resolver para encontrar todos los puntos estacionarios restringidos.

También se puede llegar a estas ecuaciones [matemáticas] n + m [/ matemáticas] definiendo una nueva función:
[matemáticas] L \ left (x_1, x_2, \ ldots, x_n, \ lambda_1, \ lambda_2, \ ldots, \ lambda_m \ right) = [/ math]
[matemáticas] f \ left (x_1, x_2, \ ldots, x_n \ right) + \ sum_i \ lambda_i g_i \ left (x_1, x_2, \ ldots, x_n \ right) [/ math]
Establecer [matemática] \ frac {\ partial L} {\ partial x_i} [/ math] igual a 0 da una de las primeras ecuaciones [math] n [/ math], y establecer [math] \ frac {\ partial L} {\ partial \ lambda_i} [/ math] igual a 0 da una de las ecuaciones de restricción. Por lo tanto, minimizar [math] L [/ math] con respecto a todos sus argumentos es equivalente a encontrar los puntos estacionarios de [math] f [/ math] bajo las restricciones [math] g_i [/ ​​math].

Para el problema particular de la optimización SVM, tenemos que lidiar con una arruga: las restricciones son desigualdades en lugar de ecuaciones. Existe una versión un poco más general del método lagrangiano que hemos desarrollado, conocido como las condiciones de Karush-Kuhn-Tucker. En este caso, donde todas las restricciones son desigualdades, estas condiciones son casi equivalentes al método lagrangiano. Todavía formamos la misma función que lo haríamos con restricciones de igualdad:
[matemáticas] L \ left (\ vec {w}, b, \ vec {\ lambda} \ right) = \ frac {1} {2} || \ vec {w} || ^ 2 + \ sum_i \ lambda_i \ left [y_i \ left (\ vec {w} \ cdot \ vec {x} _i-1 \ right) \ right] [/ math]
Las condiciones de Karush-Kuhn-Tucker agregan que [math] \ lambda_i \ ge 0 [/ math]. En la mayoría de los casos, de hecho, [math] \ lambda_i = 0 [/ math] – cada punto que se puede separar con [math] y_i \ left (\ vec {w} \ cdot \ vec {x} _i-1 \ right )> 0 [/ math] tendrá su correspondiente [math] \ lambda_i [/ ​​math] establecido en 0. Por lo tanto, solo los puntos en los que la igualdad realmente tiene importancia, por lo que estábamos justificados para formar la misma función lagrangiana que nosotros tendría con restricciones de igualdad. El problema final de optimización es:
[matemáticas] \ min _ {\ vec {w}, b} \ min _ {\ lambda_i \ ge 0} L \ left (\ vec {w}, b, \ lambda_1, \ ldots, \ lambda_n \ right) [/ math]

La maximización del margen se obtiene mediante el siguiente QPP primario:

Para cualquier problema de optimización de restricciones, las condiciones de Karush-Kuhn-Tucker (KKT) son las condiciones de primer orden en el gradiente para un punto óptimo con restricciones de desigualdad y optimización dual. Para satisfacerlos para SVM, se deben agregar multiplicadores lagrange (LM) a la función objetivo multiplicándola con restricciones de igualdad o desigualdad. Siguiendo las condiciones de KKT, la forma primaria de la ecuación anterior será

Aquí, α denota el multiplicador lagrange. Para el problema primario anterior, las condiciones de KKT establecidas después de tomar derivada con respecto a w, by α como:

Al sustituir las restricciones anteriores en la ecuación 2 para obtener la forma dual:

Una vez que se conoce α, podemos calcular w a partir de 3 que se pueden usar más para obtener b. Por lo tanto, obtenemos los planos en xw + b = 0, xw + b = 1 y xw + b = -1 para clasificar los puntos de datos de prueba.