Sei sulla pagina 1di 9

Optimización no lineal

Dra. Adriana Lara


ESFM-IPN

1. Método de Newton
Recuérdese que el método de la pendiente máxima (steepest descent), tam-
bién conocido como método de Cauchy, utiliza sólo las primeras derivadas (gra-
dientes) para hacer la selección de la dirección de búsqueda. Esta estrategia no
siempre es la más eficiente en la práctica y si se utilizan derivadas superiores, el
algoritmo iterativo resultante puede funcionar mejor. El método de Newton (a
veces llamado Newton-Raphson) utiliza primeras y segundas derivadas (infor-
mación de primer y segundo orden) y de hecho funciona mejor que el método de
Cauchy si el punto inicial está cerca del vector mı́nimo. La idea detrás de este
método es la siguiente: dado un punto de partida, construimos una aproxima-
ción cuadrática de la función objetivo, haciendo coincidir la primera y segunda
derivada de ambas funciones valuadas en el punto. Luego minimizamos la fun-
ción aproximada (cuadrática) en vez de la función objetivo original, este paso
es simple dado que la función fue propuesta. Utilizamos el vector mı́nimo de
la función aproximada como punto de partida en el siguiente paso y repetimos
el procedimiento iterativamente. Si la función objetivo es cuadrática, entonces
la primera aproximación es exacta, y el método produce el vector mı́nimo ver-
dadero en un paso. Si, por otra parte, la función objetivo es no cuadrática,
entonces la aproximación proporcionará sólo una estimación de la posición del
minimizador verdadero. La figura 1 ilustra la idea anterior.
Dada una función objetivo

f : Rn −→ R

que admita hasta dos derivadas continuas, podemos obtener una aproximación
cuadrática usando la expansión de la serie de Taylor de f sobre el punto actual
xk , despreciando los términos de orden mayores que dos. Con esto obtenemos
1
f (x) ≈ f (xk ) + (x − xk )T g k + (x − xk )T F (xk )(x − xk )
2
donde por simplicidad, usaremos la notación

g k := ∇f (xk ) y F := ∇2 f (xk ).

Ası́ que definiremos la función cuadratica q(x) justamente como esta aproxima-
ción:

1
Opt. no lineal, notas de curso Método de Newton

Figura 1: Aproximación cuadrática de Newton usando primera y segunda deri-


vada.

1
q(x) = f (xk ) + (x − xk )T g k + (x − xk )T F (xk )(x − xk ).
2
Al derivar q obtenemos:
∇q(x) = g k + F (xk )(x − xk )
y aplicamos la condición de optimalidad de primer orden a q donde
∇q(x) = g k + F (xk )(x − xk ) = 0,
entonces
g k + F (xk )(x − xk ) = 0
implica
F (xk )−1 g k + (x − xk ) = 0
Si F (xk ) > 0, entonces q alcanza un mı́nimo en x∗ que corresponde a
F (xk )−1 g k + (x∗ − xk ) = 0.
Despejando a x∗ , tenemos que la siguiente iteración den método de Newton
deberı́a ser:
xk+1 = xk − F (xk )−1 g k
y es justo esta fórmula recursiva la representa a grandes rasgos el método de
Newton.
Ejemplo 1. Usando el método de Newton para minimizar la función de Po-
well’s:
f (x1 , x2 , x3 , x4 ) = (x1 + 10x2 )2 + 5(x3 − x4 )2 + (x2 − 2x3 )4 + 10(x1 − x4 )4
Usando el punto de partida x0 = [3, −1, 0, 1]T . Mostraremos solo tres iteracio-
nes.

Dra. Adriana Lara 2 of 9


Opt. no lineal, notas de curso Método de Newton

Note que f (x0 ) = 215. Primero calculamos las expresiones generales para el
gradiente
2(x1 + 10x2 ) + 40(x1 − x4 )3
 
20(x1 + 10x2 ) + 40(x2 − 2x3 )3 
∇f (x) =  10(x3 − x4 ) − 8(x2 − 2x3 )3 

−10(x3 − x4 ) − 40(x1 − x4 )3
y la matriz Hessiana F(x) dada por

2 + 120(x1 − x4 )2 −120(x1 − x4 )2
 
20 0
2

 20 200 + 12(x 2 − 2x3 ) −24(x2 − 2x3 )2 0 

2
 0 −24(x2 − 2x3 ) 10 + 48(x2 − 2x3 )2 −10 
−120(x1 − x4 )2 0 −10 10 + 120(x1 − x4 ) 2

Iteración 1 x0 = [3, −1, 0, 1]T

g 0 = [306, 144, −2, −310]T


 
482 20 0 −480
 20 212 −24 0 
F (x0 ) =  
 0 −24 58 −10 
−480 0 −10 490
 
.1126 −.0089 .0154 .1186
−.0089 .0057 .0008 −.0087
F (x0 )−1 =
 .0154

.0008 .0203 .0155 
.1106 −.0087 .0155 .1107
F (x0 )−1 g(x0 ) = [1.4127, −0.8413, −0.2540, 0.7460]T

Por lo tanto

x1 = x0 − F (x0 )−1 g 0 = [1.5873, −0.1587, 0.2540, 0.2540]T

y ası́ f (x1 ) = 31.8


Iteración 2
g 1 = [94.81, −1.179, 2.371, −94.81]T
 
215.3 20 0 −213.3
 20 205.3 −10.67 0 
F (x1 ) =  
 0 −10.67 31.34 −10 
−213.3 0 −10 223.3
F (x1 )−1 g 1 = [.5291, −0.0529, 0.0846, 0.0846]T

Por lo tanto,

x2 = x1 − F (x1 )−1 g 1 = [1.0582, −0.1058, 0.1694, 0.1694]T

y ası́ f (x2 ) = 6.28

Dra. Adriana Lara 3 of 9


Opt. no lineal, notas de curso Método de Newton

Iteración 3
g 2 = [28.09, −0.3475, 0.7031, −28.08]T
 
96.80 20 0 −94.80
 20 202.4 −4.744 0
F (x2 ) = 


 0 −4.744 19.49 −10 
−94.30 0 −10 −104.80
x3 = [.7037, −0.0704, 0.1121, 0.1111]T

y ası́ f (x3 ) = 1.24


Nota 1. Observe que la k-ésima iteración del método de Newton se puede es-
cribir en dos pasos como
1. Resolver f (xk )dk = −g k para dk
2. Calcular xk+1 = xk + dk usando el valor calculado en el paso anterior

El paso 1 requiere la solución de un sistema de n × n de ecuaciones lineales.


Ası́, un método eficiente para resolver sistemas de ecuaciones lineales es esencial
cuando se utiliza el método de Newton.
Nota 2. Como en el caso de una variable, el método de Newton también puede
ser visto como una técnica para resolver iterativamente la ecuación

g(x) = 0

donde x ∈ Rn y g : Rn −→ Rn es la función gradiente de f. En este caso F (x)


resulta la matriz Jacobiana de la función g en el punto x, esto es, F (x) es la
matriz n × n cuya entrada (i, j) es (∂gi /∂xi )(x) para i, j ∈ {1, . . . , n}.

Ejercicio 1. Minimizar mediante el método de Newton la función

f (x) = x21 + 2x22 + 3x23 + 4x24 + (x1 + x2 + x3 + x4 )2

Dra. Adriana Lara 4 of 9


Opt. no lineal, notas de curso Método de Newton

1.1. Análisis del método de Newton


Para el caso de varias variables, al igual que en el caso de una variable, si
∇2 f (xk ) no es definida positiva no hay garantı́a de que el método de Newton
produzca en todos los casos una sucesión de valores decrecientes de la función
objetivo. Véase la figura 2 que ilustra el método de Newton para las funciones
de una variable cuando f 00 < 0).

Figura 2: En esta figura se ilustra el caso en el que el método de Newton (para


una variable) produce un punto que implica un incremento en el valor de la
función (ascenso en vez de descenso).

Más aún, incluso en el caso de ∇2 f (xk ) > 0, el método de Newton podrı́a


resultar no ser un método de descenso; es decir, es posible que

f (xk+1 ) ≥ f (xk ).

Esto podrı́a ocurrir, por ejemplo, si nuestro punto de partida x0 está muy lejos
de x∗ . Más adelante hablaremos de una posible solución a este problema.
A pesar de estas posibles desventajas, el método de Newton presenta pro-
piedades de convergencia superiores a cualquier otro método cuando el punto
de partida está cerca de la solución. Esto lo analizaremos a continuación.
El análisis de convergencia del método de Newton cuando f es una función
cuadrática es muy sencillo. De hecho, en estos casos, el método de Newton

Dra. Adriana Lara 5 of 9


Opt. no lineal, notas de curso Método de Newton

alcanza los puntos:


x∗ tales que ∇f (x∗ ) = 0
en una sola iteración, sin importar el punto inicial x0 .
Para ver esto, supongamos que la función objetivo f está determinada por
la siguiente forma cuadrática
1 T
f (x) = x Qx − xT b
2
y que Q = QT es invertible.
Entonces, el gradiente g de f está dado por

g(x) = ∇f (x) = Qx − b

y la matriz Hessiana se calcula fácilmente de la expresión matricial como

∇2 f (x) = Q.

Al ser f convexa (cuadrática), tiene un único óptimo, y se alcanza justamente


cuando
g(x∗ ) = ∇f (x∗ ) = Qx∗ − b = 0
que ocurre si:

x∗ = Q−1 b.
Por otra parte, dado cualquier punto inicial x0 , por el algoritmo de Newton

x1 = x0 − F (x0 )−1 g 0
= x0 − Q−1 [Qx0 − b]
= Q−1 b
= x∗

Por lo tanto, para el caso cuadrático, el orden de convergencia del algoritmo de


Newton es ∞ para cualquier punto inicial x0 . El método llega en este caso en
un solo paso.
Veamos a continuación el caso general: Sea {xk } una sucesión del método de
Newton para minimizar una función f : Rn −→ R. El teorema siguiente indica
que {xk } converge al vectór mı́nimo x∗ con un orden de convergencia menor que
dos.

Dra. Adriana Lara 6 of 9


Opt. no lineal, notas de curso Método de Newton

Teorema 1. Supongase que f ∈ C 3 y x∗ ∈ Rn es el punto tal que

∇f (x∗ ) = 0 y F (x∗ ) es invertible.

Entonces, para todo x0 suficientemente cercano a x∗ , el método de Newton esta


bien definido para todo k, y converge a x∗ con orden menor que 2.
Como se ha indicado en el teorema anterior, el método de Newton tiene
una convergencia superior si el punto de partida está cerca de la solución. Sin
embargo, el método no está garantizado para converger a la solución si empe-
zamos lejos de ella (de hecho, puede que ni siquiera esté bien definido porque el
Hessiano puede ser singular).
En particular, el método no es un método de descenso; es decir que podrı́a
ocurrir que
f (xk+1 ) ≥ f (xk ).
Afortunadamente, es posible modificar el algoritmo de tal manera que la
propiedad de descenso se mantenga. Para ver esto, necesitamos el siguiente
resultado.
Teorema 2. Sea {xk } una sucesión generada por el método de Newton para
minimizar a una funcion objetivo dada f (x). Si la matriz Hessiana y el gradiente
cumplen F (xk ) > 0 y g k = ∇f (xk ) 6= 0, entonces la dirección

dk = −F (xk )−1 g k = xk+1 − xk

de xk a xk+1 es una dirección de descenso para f en el sentido de que existe


una ᾱ > 0 tal que para toda α ∈ (0, ᾱ),

f (xk + αdk ) < f (xk )

Demostración. Sea
φ(α) = f (xk + αdk )
entonces, usando regla de la cadena, tenemos

φ0 (α) = ∇f (xk + αdk )T dk

ya que
φ0 (0) = ∇f (xk )T dk = −(g k )T F (xk )−1 g k < 0
por que F (xk )−1 > 0 y g k 6= 0. Ası́, existen un ᾱ > 0 tal que para toda α ∈ (0, ᾱ)

f (xk + αdk ) < f (xk )

y la demostración esta completada.

Dra. Adriana Lara 7 of 9


Opt. no lineal, notas de curso Modificación LEVENBERG-MARQUARDT

El teorema anterior motiva la siguiente modificación del método de Newton:

f (xk )T dk = xk − αk F (xk )−1 g k

donde
αk = argmin f (xk − αF (xk )−1 g k )
α≥0

es decir, en cada iteración, realizamos una búsqueda de lı́nea en la dirección


−F (xk )−1 g k . Por el teorema anterior, concluimos que el método de Newton
modificado anteriormente tiene la propiedad de descenso; es decir,

f (xk+1 ) < f (xk )

siempre que g k 6= 0.
Un inconveniente del método de Newton es que la evaluación de F (xk ) para
n grandes puede ser computacionalmente caro. Además, tenemos que resolver
el conjunto de n lineal de las ecuaciones F (xk )dk = −g k .
Otra fuente de problemas potenciales en el método de Newton surge cuando
la matriz Hessiana no es definida positiva. A continuación, describimos una
modificación al método de Newton para superar este problema.

2. Modificación LEVENBERG-MARQUARDT
Si la matriz Hessiana no es definida positiva F (xk ), entonces la dirección
de busqueda dk = −F (xk )−1 g k puede no apuntar en una dirección de descenso.
Una técnica sencilla para asegurar que la dirección de búsqueda es una dirección
de descenso es introducir a veces llamada modificación de Levenberg-Marquardt
al algoritmo de Newton:

xk+1 = xk − (F (xk ) + µk I)−1 g k

donde µk ≥ 0.
La idea subyacente a la modificación de Levenberg-Marquardt es la siguien-
te. Consideremos una matriz simétrica F , que puede no ser definida positiva.
Sean λ1 , . . . , λn los eigenvalores de F con respecto a los eigenvectores v1 , . . . , vn .
Los eigenvalores λ1 , . . . , λn son reales, pero quizá no todos positivos. Ahora con-
sideramos la matriz
G = F + µI, donde µ ≥ 0.
Note que los eigenvalores de G son λ1 + µ, . . . , λn + µ.
En efecto
Gvi = (F + µI)vi
= F vi + µIvi
= λi vi + µvi
= (λi + µ)vi
lo cual muestra que para todos i = 1, . . . , n, vi es un eigenvector de G con
eigenvalor λi + µ, si µ es suficientemente grande, entonces todos los eigenvalores

Dra. Adriana Lara 8 of 9


Opt. no lineal, notas de curso Modificación LEVENBERG-MARQUARDT

de G son positivos y G es definida positiva. En consecuencia, si el parámetro


µk en la modificación de Levenberg-Marquardt del algoritmo de Newton es
suficientemente grande, entonces la dirección de búsqueda

dk = −(F (xk ) + µk I)−1 g k

siempre apunta en una dirección de descenso (en el sentido del teorema 2).
En este caso, si introducimos adicionalmente un paso de tamaño αk como se
describió en la sección anterior,

xk+1 = xk − αk (F (xk ) + µk I)−1 g k

Entonces garantizamos que la propiedad de descenso se mantiene.


La modificación de Levenberg-Marquardt del algoritmo de Newton se puede
hacer para acercarse al comportamiento del método puro de Newton dejando
µk −→ 0. Por otro lado, al dejar µk −→ ∞, el algoritmo se aproxima a un
método de gradiente puro con pequeño tamaño de paso. En la práctica, podemos
empezar con un pequeño valor de µk , y luego lentamente aumentando hasta que
encontramos que la iteración desciende, es decir,

f (xk+1 ) < f (xk ).

Aplicar el método de Newton a las funciones:


4
f (x) = x 3
f (x) = (x1 + x2 )4 − 14
f (x) = 7x − ln(x)

Dra. Adriana Lara 9 of 9

Potrebbero piacerti anche