Confusión sobre la regla Armijo

13

Tengo esta confusión sobre la regla de Armijo utilizada en la búsqueda de línea. Estaba leyendo la búsqueda de la línea de seguimiento, pero no entendí de qué se trata esta regla de Armijo. ¿Alguien puede explicar qué es la regla Armijo? La wikipedia no parece explicar bien. Gracias

usuario34790
fuente
¿Qué pasa si en la ecuación la variable x no es un vector sino una matriz? ¿Cómo se debe actualizar la regla de Armijo?
Frank Puk
nada cambia. simplemente debe remodelar su matriz en un vector (columna) x k . Xkxk
GoHokies
Ahí es donde me quedé atrapado. Cuando convierte en una matriz, el valor en el lado izquierdo ( f ( x k + α p k ) ) sigue siendo un escalar. Pero el valor en el lado derecho no es, en cambio, es una matriz ( f ( x k ) es un escalar y β α f ( x k ) T p k es una matriz.)xkf(xk+αpk)f(xk)βαf(xk)Tpk
Frank Puk
necesitará trabajar con un vector, no con una matriz. así que reestructura su matriz de variables de control (lo he denotado por X k ) en un vector x k con elementos N 2 . La dirección de búsqueda y el gradiente también serán vectores con elementos N 2 . De esta manera, tanto el RHS como el LHS de la condición de Armijo son escalares y se pueden comparar. N×NXkxkN2N2
GoHokies

Respuestas:

19

Una vez que obtenga una dirección de descenso para su función objetivo f ( x ) , debe elegir una longitud de paso "buena". No desea dar un paso que sea demasiado grande para que la función en su nuevo punto sea más grande que su punto actual. Al mismo tiempo, no desea hacer que su paso sea demasiado pequeño, de modo que se necesite una eternidad para converger.pf(x)

La condición de Armijo básicamente sugiere que una longitud de paso "buena" es tal que tiene una "disminución suficiente" en en su nuevo punto. La condición se establece matemáticamente como f ( x k + α p k ) f ( x k ) + β α f ( x k ) T p k donde p k es una dirección de descenso en x k y β ( 0 , 1 ) . f

f(xk+αpk)f(xk)+βαf(xk)Tpk
pkxkβ(0,1)

La intuición detrás de esto es que el valor de la función en el nuevo punto debe estar debajo de la "línea tangente" reducida en x k en la dirección de p k . Ver el libro de Nocedal & Wright "Optimización numérica". En el capítulo 3, hay una excelente descripción gráfica de la condición de disminución suficiente de armijo.f(xk+αpk)xkpk

Paul
fuente
1
βα
La razón por la que esto es importante, es decir, por qué es necesario un "buen" paso, es que muchos esquemas de optimización convergerán más lentamente, como dice Paul, o podrían no converger en absoluto. Entonces, las búsquedas de línea, que vienen en varias variedades, Armijo es solo la más popular, se pueden usar para dar a los algoritmos propiedades de convergencia más robustas.
cjordan1
1
Paul: tu explicación es incompleta. Esta desigualdad por sí sola no garantiza la disminución "suficiente". De hecho, puede tener alfa = 0, y aún así satisface la desigualdad que escribió. Una característica importante es que la regla de Armijo es unir el tamaño del paso lejos de cero, lo que se hace por otra desigualdad: f (gamma * x_new) -f (x_old)> beta * (gamma * x_new-x_old) ^ T * grad (f (x_old))
f(x)=x2xk=1pk=2αf(xk+αpk)α=1/2β>1/2f(xk+1/2pk)=0>12β=f(xk)+βαf(xk)pkβ
β>1/2β=104β
0

Cinco años después, esta pregunta sigue siendo válida.

Aquí (páginas 16 y 17) puede encontrar una gran explicación, incluido un algoritmo.

Bojan Hrnkas
fuente