La regularización y las proyecciones vectoriales están conectadas a través de la idea de optimización restringida y las condiciones de Karush-Kuhn (sin relación) -Tucker .
¿Cuáles son las condiciones de KKT?
Brevemente, estos afirman que, si es una solución al problema "minimizar sujeto a ", entonces también es una solución al problema para algunos escalar . Pero esto es equivalente a decir , lo que significa que minimiza el problema de optimización sin restricciones "minimizar ".xf(x)g(x)≤0x∇f(x)=λ∇g(x)λ∇f(x)−λ∇g(x)=0xf(x)−λg(x)
La intuición es que:
g(x)<0 . En este caso, es una "solución interior", por lo que el gradiente de debe ser cero en ese punto. (Si no fuera cero, podríamos movernos un poco en esa dirección desde , mientras mantenemos , y tenemos un valor más alto para . Luego establecemos y ' re hecho.xfxg(x)<0f(x)λ=0
O, . En este caso, está en el borde del posible espacio de solución. Localmente, este borde se ve como un hiperplano ortogonal al gradiente , porque la forma de mantener la restricción es no mover el gradiente hacia arriba o hacia abajo. Pero eso significa que la única dirección que el gradiente podría apuntar es exactamente la misma dirección que : si tuviera algún componente que fuera ortogonal a , podríamos movernos un poco en esa dirección, permanecer en el hiperplano ortogonal , y aumentar .g(x)=0x∇g(x)g(x)=0∇f∇g∇gxg(x)=0f(x)
Cómo las condiciones KKT explican la relación entre la minimización restringida y la regularización
Si para alguna norma y alguna constante , entonces la restricción significa que encuentra en una esfera de radio bajo esa norma. Y en la formulación sin restricciones, restar de la función que desea maximizar es lo que termina aplicando la penalización de regularización: realmente está restando (y la constante no importa para la optimización).g(x)=|x|−ccg(x)≤0xcλg(x)λ|x|+λcλc
Las personas a menudo aprovechan esta "dualidad" entre la optimización sin restricciones y restringida. Para ver un ejemplo que pude encontrar rápidamente buscando en Google, consulte On LASSO y su dual .
¿Por qué son importantes las proyecciones aquí?
Bien, entonces, ¿por qué alguien está escribiendo un documento sobre proyecciones rápidas?
Básicamente, una forma de hacer una optimización restringida general - "maximizar sujeto a " - es hacer lo siguiente:f(x)x∈X
- Tome cualquier algoritmo iterativo para la maximización sin restricciones def(x)
- Comience con una conjeturax0
- Realice un paso del algoritmo:x′0←step(x0)
- Luego proyecte nuevamente sobre el conjunto : .Xx1←PX(x′0)
- Y repetir hasta la convergencia.
Por ejemplo, así es como el descenso de gradiente proyectado se deriva del descenso de gradiente ordinario. Por supuesto, optimizar su función de proyección es de vital importancia aquí.PX
Poniendolo todo junto
Entonces, suponga que desea resolver LASSO:
argminβ(y−β′X)2+λ||β||1
Esa es la versión sin restricciones. Según las condiciones de KKT, agregar el término de regularización es equivalente a restringir la solución para que se encuentre en por alguna constante . ¡Pero esa es solo la con radio !||β||1≤ccℓ1c
Por lo tanto, puede imaginar resolver esto con un descenso de (sub) gradiente proyectado. * Si lo hiciera, su función sería una proyección en la bola de la unidad, y desea hacerlo rápido.PX
* No creo que la gente realmente haga esto, porque hay formas más eficientes. Pero esos también podrían usar proyecciones. EDITAR: como señala @Dougal, una variante más sofisticada de descendencia de gradiente proyectada fue lo suficientemente buena como para escribir un artículo sobre en 2008.