Usted puede encontrar que es útil para buscar en estas notas. Son de la misma supuesto de que usted está siguiendo!
Hay varias confusiones en tu post. En primer lugar, cuando hablamos de la "Lagrange" de la función, debemos hacer referencia a la función en la primeraecuación:
$$L(w, b, \alpha_i) = \frac{1}{2}\|w\|^2 - \sum_i α_i(y_i(w . x_i+b)-1).$$
Después de haber definido la función de Lagrange correctamente, ahora vamos a hablar de dos diferentes, pero estrechamente relacionados, problemas de optimización.
- El problema primal:
$$ \min_{w, b} \left( \max_{\alpha_i; \alpha_i \geq 0} L(w,b,\alpha_i)\right)$$
¿Cómo podemos interpretar este problema? Si usted piensa acerca de ello,
$$ \max_{\alpha_i; \alpha_i \geq 0} L(w,b,\alpha_i) = \begin{cases} \frac 1 2 \| w \|^2 & {\rm if \ \ } y_i (w.x_i + b) \geq 1 \\ + \infty & {\rm otherwise}\end{cases}$$
Así que lo principal, el problema es equivalente a encontrar
$$ \min_{w, b} \tfrac 1 2 \| w\|^2 $$
sujeto a la restricción de que
$$ y_i(w.x_i + b) \geq 1.$$
En otras palabras, este problema primal es el mismo original de optimización del problema que se encontró en su máquina contexto de aprendizaje: es el problema de encontrar la hyperplane que le da la mayor separación entre las dos clases de puntos de datos.
- El doble problema:
$$ \max_{\alpha_i; \alpha_i \geq 0}\left( \min_{w, b} L(w,b,\alpha_i)\right) $$
A diferencia del problema primal, este doble problema no tiene una sencilla inmediata interpretación en su máquina contexto de aprendizaje. Sin embargo, podemos seguir adelante y simplificar este problema de manera algebraica. Como usted ha señalado,
$$ \min_{w, b} L(w,b,\alpha_i) = \begin{cases} \sum_i\alpha_i-\frac{1}{2}\sum_{i,j}y_iy_j\alpha_i\alpha_j(x_i . x_j) & {\rm if \ \ } \sum_i \alpha_i y_i = 0 \\ - \infty & {\rm otherwise} \end{cases}$$
lo que significa que este doble problema es equivalente a encontrar
$$ \max_{\alpha_i; \alpha_i \geq 0} \left(\sum_i\alpha_i-\tfrac{1}{2}\sum_{i,j}y_iy_j\alpha_i\alpha_j(x_i . x_j) \right).$$
sujeto a
$$ \sum_i \alpha_i y_i = 0.$$
Hasta ahora, hemos hablado de dos problemas. Hemos discutido el problema primal (que es el problema original relevantes en su máquina contexto de aprendizaje), y también hemos analizado el doble problema (lo que parece abstracto y no es inmediatamente útil). ¿Cuál es la relación entre estos dos problemas?
Resulta que los dos problemas están relacionados por el teorema llamado de la Karush-Kuhn-Tucker (KKT) teorema. Usted puede leer sobre esto en las notas que he enlazado en la parte superior de esta respuesta.
La declaración precisa de KKT, cuando se aplica a la configuración actual, es que si $w^\star, b^\star$ resuelve el problema primal
$$ w^\star, b^\star = {\rm argmin}_{w, b; \ \ y_i(w.x_i + b) \geq 1} \left(\tfrac 1 2 \|w\|^2\right) $$ and if $\alpha_i^\estrella de$ resuelve el problema doble
$$\alpha_i^\star = {\rm argmax}_{\alpha; \alpha \geq 0, \sum_i \alpha_i y_i = 0} \left(\sum_i\alpha_i-\tfrac{1}{2}\sum_{i,j}y_iy_j\alpha_i\alpha_j(x_i . x_j) \right), $$
a continuación, $ \ w^\star, b^\star, \alpha_i^\star$ obedecer a las siguientes cuatro condiciones:
\begin{align} \alpha^\star_i & \geq 0 \\
y_i(w^\star.x_i + b^\star) & \geq 1 \\
\alpha^\star_i (y_i(w^\star.x_i + b^\star) - 1) & = 0 \\
\nabla_w L(w^\star,b^\star,\alpha_i^\star) & = \nabla_b L(w^\star,b^\star,\alpha_i^\star) = 0 \end{align}
[El contrario también es cierto: si $w^\star, b^\star, \alpha_i^\star$ satisface las cuatro condiciones KKT, a continuación, $w^\star, b^\star$ resuelve el problema primal y $\alpha_i^\star$ resuelve el problema doble.]
¿Cómo podemos usar este resultado en la práctica? Recuerde, el objetivo final de nuestra máquina contexto de aprendizaje es resolver el problema primal. Aunque esto es posible, resulta que los algoritmos para la solución del problema primal son poco lento. Es mucho más rápido para resolver el problema doble en su lugar. (El algoritmo rápido que se puede aplicar a la doble problema se llama "secuencial de un mínimo de optimización". Y por cierto, el doble problema también se presta a una generalización lineal SVMs llama el "núcleo" truco, pero no voy a entrar en eso aquí.)
Una vez que se ha resuelto el problema doble, inmediatamente puede leer la solución para el problema primal utilizando el Karush-Kuhn-Tucker (KKT) teorema. Para explicar, una vez que haya encontrado $\alpha^\star_i$ que resolver el doble problema, puede deducir el valor de $w^\star$ que resuelve el problema primal utilizando el cuarto de KKT ecuación, $$ \nabla_w L(w^\star,b^\star,\alpha^\star_i) = w^\star - \sum_i \alpha^\star_i y_i x_i = 0, $$
Usted puede leer el valor de $b^\star$ que resuelve el problema primal usando la tercera KKT ecuación, lo cual nos indica que para cualquier $i$ tal que $\alpha^\star_i > 0$, debe tener $$ y_i (w^\star.x_i + b^\star) = 1.$$ (The datapoints corresponding to these $i$'s son conocidos como el "vectores" - que son los "críticos" de puntos de datos que se encuentran en los márgenes.)
La máquina de aprendizaje de notas para el supuesto más detalles acerca de todos estos pasos.