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).
dóndese descompone enbloques de variables/coordenadas:yson funciones convexas (simples).
Ejemplo (descomposición en bloques): Siyuno puede elegiry.
Ejemplo (regularizadores separables por bloques):
- , dóndeyes la norma euclidiana estándar .
Algoritmo
Consideremos el problema de optimización.
dóndees una función convexa y suave.
Suavidad: Por suavidad entendemos lo siguiente: asumimos que el gradiente dees Lipschitz continua por coordenadas con constantes. Es decir, asumimos que
a pesar dey, dóndedenota la derivada parcial con respecto a la variable.
Nesterov, Richtarik y Takac demostraron que el siguiente algoritmo converge al punto óptimo:
Algoritmo del método de descenso de coordenadas aleatorias Aporte://punto de partida Producción: establecer x := x_0 para k := 1, ... elegir coordenadauniformemente al azar actualizarfin 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 , dónde, es una solución óptima (), es un nivel de confianza yes precisión del objetivo, entonces.
Ejemplo de una función en particular
La siguiente figura muestra cómose desarrolla durante las iteraciones, en principio. El problema es

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

Este algoritmo se puede extender naturalmente no solo a coordenadas, sino también a bloques de coordenadas. Supongamos que tenemos espacio. Este espacio tiene 5 direcciones de coordenadas, concretamente 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
- ↑ 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
- ↑ 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
- Métodos de gradiente