Regularización y proyección sobre la bola


8

Estoy tratando de entender cómo funciona la regularización en términos de proyecciones en una bola , y la proyección euclidiana en el simplex.l

No estoy seguro de entender lo que queremos decir cuando proyectamos el vector de peso en las o .l1l2

Puedo entender el concepto de programa de regularización de manera , ya que en cada elemento del vector de peso y aplicamos dónde , lo que lleva a pesos pequeños a 0.l1signum(w) * max(0.0, abs(w) - shrinkageValue)shrinkageValue = regularizationParameter * eta

Supongo que me faltan algunas matemáticas aquí, así que mi pregunta es ¿cómo traducimos la proyección del vector al programa que acabo de describir? ¿Cómo se conectan la regularización y las proyecciones vectoriales?

Editar: Estoy tratando de pasar por este papel proyecciones eficientes en el -Ball para el Aprendizaje en High Dimensionesl1

Respuestas:


11

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)0xf(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)=0xg(x)g(x)=0fggxg(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)xX

  • Tome cualquier algoritmo iterativo para la maximización sin restricciones def(x)
  • Comience con una conjeturax0
  • Realice un paso del algoritmo:x0step(x0)
  • Luego proyecte nuevamente sobre el conjunto : .Xx1PX(x0)
  • 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 !||β||1cc1c

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.


1
El algoritmo ISTA / FISTA es básicamente un descenso de gradiente proyectado (acelerado), que quizás no sea el algoritmo LASSO más favorecido, pero es bastante bueno (y creo que era de vanguardia alrededor de 2008 cuando se publicó ese documento).
Dougal

@Dougal: gracias por la referencia! Lo he editado.
Ben Kuhn
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.