El problema dual es otra forma de plantear el mismo SVM, en la que cada punto tiene un «precio» que dice cuánto empuja la frontera.
Imagínalo así
Imagina la frontera como una tabla y cada punto como una persona que puede empujarla. La mayoría ni la toca (precio 0); solo los que están pegados a ella empujan (precio positivo). Esos son los vectores de soporte.
Lo que tienes que llevarte
Un multiplicador de Lagrange (α) es el «precio» de una regla: cuánto mejorarías si la aflojaras un poquito.
KKT dice: si una regla no te estorba, su precio es 0; si te estorba, estás justo en el borde.
El dual solo usa productos punto entre puntos → eso abre la puerta al truco del kernel.
Palabras raras de esta página
restricción
una regla que la solución debe cumplir («no cruzar esta pared»).
Lagrangiano
el objetivo más «multas» por romper las reglas, todo en una sola fórmula.
primal / dual
dos versiones del mismo problema: una busca la frontera, la otra los precios de cada punto.
holgura complementaria
o la regla está «floja» (precio 0) o está «apretada» (en el borde); nunca ambas cosas a medias.
Más abajo viene la versión completa, con fórmulas. Si una palabra aparece subrayada con puntos, pasa el mouse (o tócala) para ver qué significa.
Todos los problemas de esta sección tienen la forma minxJ(x) s.a. g(x)≥0. Ejemplo: minimizar J(x)=(x−3)2 con x≤1 (g(x)=1−x≥0). Sin la regla, x=3 y J=0. La pared lo prohíbe, así que la respuesta se desliza sobre la pared: x=1, J=4. Dos cosas pasaron: el valor empeoró, y J′(1)=−4=0: «igualar la derivada a cero» ya no encuentra la respuesta.
Mejor pregunta: ¿cuánto vale esta regla? Si empujamos la pared un poco, ¿cuánto mejora el mejor valor? Esa tasa de cambio es el multiplicador.
Con la pared en c: J⋆(c)=(c−3)2 para c<3. Su pendiente en c=1 es 2(1−3)=−4: mover la pared ε mejora J⋆ en ≈4ε (c=1.1 da 3.61, una ganancia de 0.39≈4×0.1). Esa tasa es α=4.
Más espacio nunca empeora, así que la pendiente nunca es positiva: α≥0.
¿Cuánto cuesta una regla? El multiplicador α
Minimiza J(x)=(x−3)2 sujeto a g(x)=c−x≥0 (una pared en x = c). Mueve la pared y mira tres lecturas del mismo número α: precio, tasa y fuerza.
Primal: el óptimo se pega a la pared
Mejor valor J*(c): su pendiente es −α
Dual: q(α) = minₓ L(x, α) = −α²/4 − α(c − 3). Su máximo coincide con el primal (brecha cero)
x*1.00
J* (primal)4.000
α* = 2(3 − c)₊4.00
q(α*) (dual)4.000
α*·g(x*)0.000
La pared aprieta (restricción activa, g = 0) y α = 4.00 > 0: empujar la pared ε hacia fuera mejora J* en ≈ 4.00ε. En x*, J′ = -4.00 ≠ 0, pero ∂L/∂x = J′ + α = 0: α es la fuerza que falta.
Una ecuación, dos incógnitas; lo cierra que hay solo dos finales posibles:
Pared holgada: no cuesta nada, α=0, x=3 (legal solo si c≥3).
Pared apretada: la respuesta está sobre ella, x=c, α=2(3−c).
Con x≤1 la primera rama quiere x=3 (prohibido) ⇒ segunda: α=4, el mismo 4 de la pendiente. Con x≤5, x=3 ya es legal ⇒ α=0.
¿Por qué «fuerza»? En x=1, J′(1)=−4: el objetivo todavía quiere ir a la derecha. Pero ∂L/∂x=−4+4=0: el multiplicador aporta exactamente el empujón que falta. Precio, tasa y fuerza son tres lecturas del mismo número; una regla que no presiona vale 0 en las tres.
minu12+u22 s.a. u1+u2−2≥0. El óptimo es el punto de la recta más cercano al origen, (1,1). Ahí ∇J=(2,2)=2∇g ⇒ α=2. Si ∇J no fuera paralelo a ∇g, parte de −∇J apuntaría a lo largo del borde: podrías deslizarte, seguir legal y bajar. Solo cuando ∇J apunta derecho hacia fuera del borde no queda a dónde ir.
Jugar primero nosotros es el primal (minxmaxαL); dejar que el oponente se comprometa primero es el dual (maxαminxL). Comprometerse primero solo puede perjudicar: maxmin≤minmax (dualidad débil, vale para cualquier problema). Si además el objetivo es un bowl y las reglas son semiespacios (convexidad), la brecha es cero: dualidad fuerte, resolver uno resuelve el otro.
En el ejemplo: minxL da x=3−α/2 y la función dualq(α)=2α−α2/4. Maximizando: q′(α)=2−α/2=0⇒α⋆=4, q(4)=4 = valor primal. Y x=3−4/2=1: el dual devolvió la respuesta sin mirar la restricción directamente.
Los precios no interactúan (cada αi está en un solo término), así que el oponente juega el juego de una regla en cada punto. αi es cuánto presiona el punto i sobre la frontera.
w y b desaparecen al sustituir las condiciones de estacionariedad: el dual solo toca los datos a través de productos internos xᵢᵀxⱼ. Ese es el enganche para los kernels.
En el óptimo de un problema convexo como este valen a la vez:
Estacionariedad: ∇wL=0, ∂L/∂b=0.
Factibilidad primal: yif(xi)≥1.
Factibilidad dual: αi≥0 (una pared empuja, nunca jala).
Holgura complementaria: αi[yif(xi)−1]=0 para todo i.
La 4 es un producto de dos no negativos forzado a 0: o el precio es cero o la restricción está apretada. Nadie puede estar lejos y ser caro:
Estrictamente fuera de la banda (yif>1) ⇒ αi=0.
Precio positivo (αi>0) ⇒ yif=1: el punto está exactamente en una recta de margen.
Como w=∑iαiyixi (abajo), todo punto con αi=0 no aporta nada: la frontera se construye solo con vectores de soporte. Esta es la prueba prometida. (Ojo: un punto puede tocar el margen y tener αi=0; lo prohibido es «lejos y con precio».)
La primera es una receta para w; la segunda, una restricción sobre los precios. b desaparece (por eso se recupera aparte).
Paso 2 — sustituir:L=21w⊤w−∑iαiyiw⊤xi−b=0i∑αiyi+∑iαi. Con la receta, ∑iαiyiw⊤xi=w⊤w, así que L=∑iαi−21∥w∥2, y ∥w∥2=∑i,jαiαjyiyjxi⊤xj:
Otra vez un QP convexo, ahora en n variables αi (en vez de las d+1 de (w,b)). Por dualidad fuerte, maxW=min21∥w∥2. Y los datos entran solo como productos internos xi⊤xj: esa línea es toda la razón de existir de los kernels.
Vista primal: «¿dónde pongo la recta?». Vista dual: «¿cuánto empuja cada punto la recta?». Misma respuesta, otra pregunta.
∑iαiyi=0 dice que la presión total de la clase + equilibra la de la clase −: la frontera está en equilibrio.
b: toma un vector de soporte xk sobre su recta de margen: ykf(xk)=1; multiplicando por yk (yk2=1): b=yk−w⊤xk. En la práctica se promedia sobre todos esos k (estabilidad numérica).
Predicción: y^(x)=sign(∑iαiyixi⊤x+b): ni siquiera hace falta formar w.
x4=(3,3) con y4f=5>1 ⇒ por holgura complementaria α4=0: bórralo y nada cambia.
Encuentra el óptimo del dual a mano
Puntos (2,0)⁺, (0,2)⁺ y (0,0)⁻. La restricción Σαᵢyᵢ = 0 obliga a α₃ = α₁ + α₂, así que el dual depende de dos números. Mueve α₁ y α₂ hasta maximizar W(α); el mapa muestra W (color más intenso = mayor).
Como W = 2α₁ − 2α₁² + 2α₂ − 2α₂², cada término es una parábola con máximo en ½. Fuera del óptimo, el valor dual W(α) queda por debajo del primal ½‖w*‖² = 1 (dualidad débil): todo α factible da una cota inferior.
El dual del ejemplo de tres puntos, sin atajos
Productos internos: x1⊤x1=4, x2⊤x2=4, x1⊤x2=0, y todo producto con x3=(0,0) vale 0.
Restricción de balance: α1+α2−α3=0⇒α3=α1+α2.
Término cuadrático: solo sobreviven α12⋅4+α22⋅4 (los cruzados valen 0). Entonces W=(α1+α2+α3)−21(4α12+4α22)=2α1+2α2−2α12−2α22.
Derivadas: ∂W/∂α1=2−4α1=0⇒α1=21; igual α2=21; luego α3=1. Todos ≥0 ✓.
w=21(2,0)+21(0,2)−1⋅(0,0)=(1,1); con el vector de soporte x1: b=y1−w⊤x1=1−2=−1.
Valores: W(α)=1+1−21−21=1 y 21∥w∥2=1: brecha cero (dualidad fuerte). Los tres αi>0: los tres puntos son vectores de soporte.