7 votos

¿Por qué es necesario maximizar y luego minimizar lagrange en SVM de margen duro?

Yo estaba aprendiendo acerca de las máquinas de vectores soporte de Andrew Ng video conferencias. Me lo imaginé. Entiendo por qué tratamos de minimizar $\frac{1}{2} w^2$.

Margen (ancho) de los vectores de soporte es $2/\|w\|$. Queremos maximizar el ancho significa que también queremos minimizar $\|w\|$ a partir de la ecuación $2/\|w\|$. Es cierto que también queremos minimizar $\frac{1}{2}\|w\|^2$. Ahora vamos a utilizar Lagrange expresión aquí, $$L = \frac{1}{2}\|w\|^2 + \sum_i α_i(y_i(w \bullet x+b)-1).$$ To find the minimum of $\frac{1}{2}\|w\|^2$, we apply gradient; $∇L = 0$. From the $∇L = 0$ equation, we get $Σ_iα_iy_i = 0$ and $w = Σ_iαi_iy_ix_i$. Then by using $Σ_iα_iy_i = 0$ and $w = Σ_iα_iy_ix_i$ equations and putting this in the Lagrange expression we end up with $$L(w,b,α) = \sum_iα_i-\frac{1}{2}\sum_{i,j}y_iy_jα_iα_j(x_i\bullet x_j).$$

Realmente entiendo hasta aquí, pero el profesor dijo que lo que queremos es maximizar $L$ (w.r.t $α$) y al mismo tiempo minimizar w.r.t $w$$b$, así que el final de Lagrange problema primal se convierte en $$min_{w,b}max_α L(w, b, α)$$ $$s.t.$$ $$α_i >= 0, i=1,2 ..., m$$ por qué? Realmente no entiendo. ¿Por qué estamos tratando de maximizar y, a continuación, minimizar la expresión de Lagrange ($L$)? Cualquier explicación intuitiva le ayuda.

5voto

Kenny Wong Puntos 28

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.


  1. 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.


  1. 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.

4voto

toom Puntos 143

@Kenny Wong respuesta es muy detallado.

Voy a tratar de agregar un poco más de explicación sobre el por qué hay una minimización y maximización (que creo que es el problema que está tratando de entender) en la fórmula.

Dada la función $$L(w, b, \alpha_i) = \frac{1}{2}\|w\|^2 - \sum_i α_i(y_i(w . x_i+b)-1)$$

La clave aquí es para ver que el problema:

$$\min_{w, b} \left( \max_{\alpha_i; \alpha_i \geq 0} L(w,b,\alpha_i)\right)$$

es equivalente al problema: $$\min_{w, b} \tfrac 1 2 \| w\|^2$$ subject to $$y_i(w.x_i + b) \geq 1.$$

De hecho, si consideramos sólo los $$\max_{\alpha_i; \alpha_i \geq 0} L(w,b,\alpha_i)$$ and select a $w$ and a $b$ such that $$ y_i (w.x_i + b) \lt 1$$ then we can easily make $L$ arbitrary large just by selecting the appropriate $\alpha_i$.

Por ejemplo, imaginemos que seleccione $w$ $b$ tal que $$ y_i (w.x_i + b) = 0.5$$ $$L(w, b, \alpha_i) = \frac{1}{2}\|w\|^2 - \sum_i α_i(0.5-1)$$

$$L(w, b, \alpha_i) = \frac{1}{2}\|w\|^2 - \sum_i -0.5α_i$$

Ahora imagina que hay tres $α_i$ y todos ellos son iguales a 1

Entonces en este caso tendríamos $$L(w, b, \alpha_i) = \frac{1}{2}\|w\|^2 - (-1.5)$$ $$L(w, b, \alpha_i) = \frac{1}{2}\|w\|^2 + 1.5$$

Si decimos que $α_i$ es igual a 2, entonces tenemos

$$L(w, b, \alpha_i) = \frac{1}{2}\|w\|^2 + 3$$

y así sucesivamente...

Que es lo que el "$ + \infty\space\text{otherwise} $ " significa en línea

$$\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 si acabamos de maximizar el lagrangiano, no debemos minimizar $$\min_{w, b} \tfrac 1 2 \| w\|^2$$ subject to $$y_i(w.x_i + b) \geq 1.$$ cual es nuestro objetivo original.

Veamos ahora el otro caso. Si seleccionamos $w$ $b$ tal que $$ y_i (w.x_i + b) = 3$$

A continuación, vamos a tener

$$L(w, b, \alpha_i) = \frac{1}{2}\|w\|^2 - \sum_i α_i(3-1)$$

$$L(w, b, \alpha_i) = \frac{1}{2}\|w\|^2 - \sum_i 2α_i$$

Debido a $\alpha_i; \alpha_i \geq 0$ $$- \sum_i 2α_i$$ siempre va a ser cero o negativo.

Por lo que el máximo de $L(w, b, \alpha_i)$ siempre $\frac{1}{2}\|w\|^2$ al $y_i(w.x_i + b) \geq 1$.

Recordemos que tratamos de reducir al mínimo $$\frac{1}{2}\|w\|^2$$ because we just saw that given the constraint $y_i(w.x_i + b) \geq 1$ tenemos $$\frac{1}{2}\|w\|^2 = \max_{\alpha_i; \alpha_i \geq 0} L(w,b,\alpha_i)$$ entonces lo que tenemos que hacer es $$\min_{w, b} \tfrac 1 2 \| w\|^2 = \min_{w, b} \left( \max_{\alpha_i; \alpha_i \geq 0} L(w,b,\alpha_i)\right)$$

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X