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.
- ¿Cuál es el mejor código comercial de reconocimiento facial?
- ¿Algunas funciones de activación son mejores que otras en la red neuronal artificial?
- ¿Son las redes neuronales artificiales la única forma de establecer un aprendizaje profundo?
- ¿Puede un desarrollador de aprendizaje profundo atrapar criminales que abusan de niños?
- ¿Cuáles son las desventajas de usar un árbol de decisión para la clasificación?
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]