Articulo de referencia

Descenso de coordenadas aleatorias

El método de descenso de coordenadas aleatorio (por bloques) es un algoritmo de optimización popularizado por Nesterov (2010) y Richtárik y Takáč (2011). El primer análisis de e...

El método de descenso de coordenadas aleatorio (por bloques) es un algoritmo de optimización popularizado por Nesterov (2010) y Richtárik y Takáč (2011). El primer análisis de este método, aplicado al problema de minimizar una función convexa suave , fue realizado por Nesterov (2010). [ 1 ] En el análisis de Nesterov, el método debe aplicarse a una perturbación cuadrática de la función original con un factor de escala desconocido. Richtárik y Takáč (2011) proporcionan límites de complejidad iterativa que no requieren esta suposición, lo que significa que el método se aplica directamente a la función objetivo. Además, generalizan el marco al problema de minimizar una función compuesta, específicamente la suma de una función convexa suave y una función convexa separable por bloques (posiblemente no suave).

F(incógnita)=F(incógnita)+Ψ(incógnita),{\displaystyle F(x)=f(x)+\Psi (x),}

dóndeΨ(incógnita)=i=1norteΨi(incógnita(i)),{\displaystyle \Psi (x)=\sum _{i=1}^{n}\Psi _{i}(x^{(i)}),}incógnitaRnorte{\displaystyle x\in R^{N}}se descompone ennorte{\displaystyle n}bloques de variables/coordenadas:incógnita=(incógnita(1),,incógnita(norte)){\displaystyle x=(x^{(1)},\dots ,x^{(n)})}yΨ1,,Ψnorte{\displaystyle \Psi _{1},\dots ,\Psi _{n}}son funciones convexas (simples).

Ejemplo (descomposición en bloques): Siincógnita=(incógnita1,incógnita2,,incógnita5)R5{\displaystyle x=(x_{1},x_{2},\dots ,x_{5})\in R^{5}}ynorte=3{\displaystyle n=3}uno puede elegirincógnita(1)=(incógnita1,incógnita3),incógnita(2)=(incógnita2,incógnita5){\displaystyle x^{(1)}=(x_{1},x_{3}),x^{(2)}=(x_{2},x_{5})}yincógnita(3)=incógnita4{\displaystyle x^{(3)}=x_{4}}.

Ejemplo (regularizadores separables por bloques):

  1. norte=norte;Ψ(incógnita)=incógnita1=i=1norte|incógnitai|{\displaystyle n=N;\Psi (x)=\|x\|_{1}=\sum _{i=1}^{n}|x_{i}|}
  2. norte=norte1+norte2++nortenorte;Ψ(incógnita)=i=1norteincógnita(i)2{\displaystyle N=N_{1}+N_{2}+\dots +N_{n};\Psi (x)=\sum _{i=1}^{n}\|x^{(i)}\|_{2}}, dóndeincógnita(i)Rnortei{\displaystyle x^{(i)}\in R^{N_{i}}}y2{\displaystyle \|\cdot \|_{2}}es la norma euclidiana estándar .

Algoritmo

Consideremos el problema de optimización.

minincógnitaRnorteF(incógnita),{\displaystyle \min _{x\in R^{n}}f(x),}

dóndeF{\displaystyle f}es una función convexa y suave.

Suavidad: Por suavidad entendemos lo siguiente: asumimos que el gradiente deF{\displaystyle f}es Lipschitz continua por coordenadas con constantesL1,L2,,Lnorte{\ Displaystyle L_ {1}, L_ {2}, \ puntos, L_ {n}}. Es decir, asumimos que

|iF(incógnita+hmii)iF(incógnita)|Li|h|,{\displaystyle |\nabla _{i}f(x+he_{i})-\nabla _{i}f(x)|\leq L_{i}|h|,}

a pesar deincógnitaRnorte{\displaystyle x\in R^{n}}yhR{\displaystyle h\in R}, dóndei{\displaystyle \nabla _{i}}denota la derivada parcial con respecto a la variableincógnita(i){\displaystyle x^{(i)}}.

Nesterov, Richtarik y Takac demostraron que el siguiente algoritmo converge al punto óptimo:

Algoritmo del método de descenso de coordenadas aleatorias Aporte:incógnita0Rnorte{\displaystyle x_{0}\in R^{n}}//punto de partida Producción:incógnita{\displaystyle x} establecer x := x_0 para k := 1, ... elegir coordenadai{1,2,,norte}{\displaystyle i\in \{1,2,\dots ,n\}}uniformemente al azar actualizarincógnita(i)=incógnita(i)1LiiF(incógnita){\displaystyle x^{(i)}=x^{(i)}-{\frac {1}{L_{i}}}\nabla _{i}f(x)}fin para
  • " " denota asignación . Por ejemplo, " largest item " significa que el valor de largest cambia al valor de item .
  • " return " finaliza el algoritmo y genera el siguiente valor.

Tasa de convergencia

Dado que las iteraciones de este algoritmo son vectores aleatorios, un resultado de complejidad proporcionaría un límite en el número de iteraciones necesarias para que el método genere una solución aproximada con alta probabilidad . En [ 2 ] se demostró que si k2norteRL(incógnita0)ϵregistro(F(incógnita0)Fϵρ){\displaystyle k\geq {\frac {2nR_{L}(x_{0})}{\epsilon }}\log \left({\frac {f(x_{0})-f^{*}}{\epsilon \rho }}\right)}, dóndeRL(incógnita)=máximoymáximoincógnitaincógnita{yincógnitaL:F(y)F(incógnita)}{\displaystyle R_{L}(x)=\max _{y}\max _{x^{*}\in X^{*}}\{\|yx^{*}\|_{L}:f(y)\leq f(x)\}}, F{\displaystyle f^{*}}es una solución óptima (F=minincógnitaRnorte{F(incógnita)}{\displaystyle f^{*}=\min _{x\in R^{n}}\{f(x)\}}), ρ(0,1){\displaystyle \rho \in (0,1)}es un nivel de confianza yϵ>0{\displaystyle \epsilon >0}es precisión del objetivo, entoncesProbabilidad(F(incógnitak)F>ϵ)ρ{\displaystyle {\text{Prob}}(f(x_{k})-f^{*}>\epsilon )\leq \rho }.

Ejemplo de una función en particular

La siguiente figura muestra cómoincógnitak{\displaystyle x_{k}}se desarrolla durante las iteraciones, en principio. El problema es

F(incógnita)=12incógnitaT(10,50,51)incógnita(1.51.5)incógnita,incógnita0=(00)T{\displaystyle f(x)={\tfrac {1}{2}}x^{T}\left({\begin{array}{cc}1&0.5\\0.5&1\end{array}}\right)x-\left({\begin{array}{cc}1.5&1.5\end{array}}\right)x,\quad x_{0}=\left({\begin{array}{cc}0&0\end{array}}\right)^{T}}

Extensión para la configuración de coordenadas de bloque

Direcciones de coordenadas de bloqueo en direcciones de coordenadas de bloqueo

Este algoritmo se puede extender naturalmente no solo a coordenadas, sino también a bloques de coordenadas. Supongamos que tenemos espacioR5{\displaystyle R^{5}}. Este espacio tiene 5 direcciones de coordenadas, concretamente mi1=(1,0,0,0,0)T,mi2=(0,1,0,0,0)T,mi3=(0,0,1,0,0)T,mi4=(0,0,0,1,0)T,mi5=(0,0,0,0,1)T{\displaystyle e_{1}=(1,0,0,0,0)^{T},e_{2}=(0,1,0,0,0)^{T},e_{3}=(0,0,1,0,0)^{T},e_{4}=(0,0,0,1,0)^{T},e_{5}=(0,0,0,0,1)^{T}} en el que el método de descenso de coordenadas aleatorias puede moverse. Sin embargo, se pueden agrupar algunas direcciones de coordenadas en bloques y podemos tener en lugar de esas 5 direcciones de coordenadas 3 direcciones de coordenadas de bloque (ver imagen).

Véase también

Referencias

  1. Nesterov, Yurii (2010), "Eficiencia de los métodos de descenso de coordenadas en problemas de optimización a gran escala", SIAM Journal on Optimization , 22 (2): 341–362 , CiteSeerX 10.1.1.332.3336 , doi : 10.1137/100802001 
  2. Richtárik, Peter; Takáč, Martin (2011), "Complejidad de iteración de métodos de descenso de coordenadas por bloques aleatorios para minimizar una función compuesta", Mathematical Programming, Series A , 144 ( 1–2 ): 1–38 , arXiv : 1107.2848 , doi : 10.1007/s10107-012-0614-z