invariancia de escala para búsqueda de línea y algoritmos de región de confianza

11

En el libro de Nocedal & Wright sobre optimización numérica, hay una declaración en la sección 2.2 (página 27): "En términos generales, es más fácil preservar la invariancia de escala para los algoritmos de búsqueda de línea que para los algoritmos de región de confianza". En esa misma sección, hablan de tener nuevas variables que son versiones escaladas de las variables originales, que pueden ayudar tanto con la búsqueda de línea como con la región de confianza. Otro enfoque es el preacondicionamiento. Para los métodos de región de confianza, el preacondicionamiento es equivalente a tener regiones de confianza elípticas y, por lo tanto, proporciona invariancia de escala. Sin embargo, una intuición similar no está clara para el preacondicionamiento para la búsqueda de línea. ¿De qué manera la búsqueda de línea es más adecuada para la invariancia de escala? ¿Hay algunas consideraciones prácticas?

Además, tengo una pregunta sobre el preacondicionamiento para los métodos de la región de confianza. Para un problema altamente mal condicionado, ¿un buen preacondicionador reducirá tanto el número de iteraciones externas de Newton como las iteraciones internas de CG o solo la última? Dado que la región de confianza es elipsoidal en el espacio original, un buen preacondicionador debería conducir a un elipsoide que coincida mejor con el paisaje. Siento que esto podría reducir el número de iteraciones externas de Newton al forzar al algoritmo a tomar mejores direcciones. ¿Es esto correcto?

haripkannan
fuente

Respuestas:

2

Supongo que podría haber alguna diferencia entre cómo los métodos de búsqueda de línea y región de confianza manejan el escalado, pero realmente no lo veo en la práctica siempre que estemos al tanto del escalado. Y, para ser claros, el libro de Nocedal y Wright hablaba de escalas afines. La escala no lineal es algo más difícil de cuantificar.

f:XRAL(X)J:XR

J(x)=f(Ax)J(x)=Af(Ax)2J(x)=A2f(Ax)A
A
2J(x)δx=J(x)
A2f(Ax)Aδx=Af(Ax)
Aδx=2f(Ax)1f(Ax)

Hδx=J(x)
H
Hδx=Af(Ax)
AH

ϕ

δx=ϕ(Af(Ax))
ϕϕϕA

2J(x)δx=J(x)
usando inexactamente CG. Esto es precisamente usando Steihaug-Toint en la configuración de la región de confianza (p. 171 en Nocedal y Wright) o Newton-CG para búsqueda de línea (p. 169 en Nocedal y Wright). Trabajan bastante cerca de lo mismo y no les importa el escalado afín. Tampoco requieren almacenar el Hessian, solo se requieren productos de Hessian-vector. Realmente, estos algoritmos deberían ser los caballos de batalla para la mayoría de los problemas y no les importa el escalado afín.

En cuanto al preacondicionador para el problema de la región de confianza, no creo que haya una manera fácil de saber a priori si vas a mejorar el número de iteraciones de optimización general o no. Realmente, al final del día, los métodos de optimización operan en dos modos. En el modo uno, estamos demasiado lejos del radio de convergencia del método de Newton, por lo que globalizamos y simplemente forzamos las iteraciones para asegurarnos de que el objetivo baje. La región de confianza es unidireccional. La búsqueda de línea es otra. En el modo dos, estamos en el radio de convergencia del método de Newton, por lo que tratamos de no meternos con él y dejamos que el método de Newton haga su trabajo. De hecho, podemos ver esto en las pruebas de convergencia de cosas como los métodos de la región de confianza. Por ejemplo, mire el Teorema 4.9 (p.93 en Nocedal y Wright). De manera muy explícita, afirman cómo la región de confianza se vuelve inactiva. En este contexto, ¿cuál es la utilidad del preacondicionador? Ciertamente, cuando estamos en el radio de convergencia del método de Newton, trabajamos mucho menos y el número de iteraciones CG disminuye. ¿Qué sucede cuando estamos fuera de este radio? De alguna manera depende. Si calculamos el paso completo de Newton, el beneficio es que trabajamos menos. Si cortamos nuestro paso temprano debido al truncamiento de CG truncado, entonces nuestra dirección estará en el subespacio de Krylov

{PJ(x),(PH)(PJ(x)),,(PH)k(PJ(x))}
PH
{J(x),(H)(J(x)),,(H)k(J(x))}?

Esto no significa que no tenga valor definir un buen preacondicionador. Sin embargo, no estoy seguro de cómo alguien define un preacondicionador para ayudar en la optimización de los puntos del radio de convergencia del método de Newton. Por lo general, diseñamos un preacondicionador para agrupar los valores propios de la aproximación de Hesse, que es un objetivo tangible y medible.

tldr; Hablando en términos prácticos, hay una mayor variedad de formas para que un método de búsqueda de línea genere una iteración que un método de región de confianza, por lo que es posible que haya una manera increíble de manejar el escalado afín. Sin embargo, solo use un método inexacto de Newton y no importa. Un preacondicionador afecta el rendimiento de un algoritmo alejado del radio de convergencia del método de Newton, pero es difícil cuantificar cómo, así que simplemente diseñe un preacondicionador para agrupar los valores propios de la aproximación de Hessiasn.

wyer33
fuente