Wykład 11

Transkrypt

Wykład 11
Wstep
˛ do metod numerycznych
Minimalizacja funkcji wielu zmiennych
P. F. Góra
http://th-www.if.uj.edu.pl/zfs/gora/
2011
Strategia minimalizacji wielowymiarowej
Zakładamy, że metody poszukiwania minimów lokalnych fukncji jednej zmiennej sa˛ znane.
Rozważmy funkcje˛ f :RN → R. Przedstawimy strategie˛ poszukiwania (lokalnego) minimum tej funkcji w postaci ciagu
˛ minimalizacji jednowymiarowych.
c 2009-11 P. F. Góra
Copyright 11–2
1. Aktualnym przybliżeniem minimum jest punkt xk .
2. Dany jest pewien kierunek poszukiwań pk .
3. Konstruujemy funkcje˛ gk :R → R
gk (α) = f (xk + αpk ) .
(1)
Zauważmy, że funkcja gk (α) jest funkcja˛ jednej zmiennej. Geometrycznie jest to “ślad” N +1-wymiarowego wykresu funkcji f (x) przecietego
˛
płaszczyzna˛ zawierajac
˛ a˛ punkt xk i wektor pk .
4. Znanymi metodami jednowymiarowymi znajdujemy αmin takie, że funkcja (1) osiaga
˛ minimum. Jest to minimum kierunkowe funkcji f .
5.
xk+1 = xk + αminpk .
(2)
6. goto 1.
c 2009-11 P. F. Góra
Copyright 11–3
Jak wybierać kierunki poszukiwań?
Cały problem sprowadza sie˛ zatem do wyboru odpowiedniej sekwencji kolejnych kierunków {pk }. Bardzo popularne sa˛ metody
• Minimalizacji po współrz˛ednych — kolejnymi kierunkami poszukiwań
sa˛ kierunki równoległe do kolejnych osi układu współrz˛ednych.
• Metoda najszybszego spadku, w której kierunek poszukiwań pokrywa
sie˛ z minus gradientem minimalizowanej funkcji w punkcie startowym.
Jeśli jesteśmy blisko minimum nie sa˛ to dobre pomysły, gdyż prowadza˛ do
wielu drobnych kroków, które cz˛eściowo likwiduja˛ efekty osiagni
˛ ete
˛ w krokach poprzednich. Dlaczego?
c 2009-11 P. F. Góra
Copyright 11–4
Znajdźmy warunek na to, aby f osiagała
˛
minimum kierunkowe, czyli aby
gk osiagała
˛
minimum:
T
X ∂f
dgk
=
(pk )i = ∇f |x=x
pk = 0 .
(3)
min
dα
i ∂xi
W minimum kierunkowym gradient funkcji jest prostopadły do kierunku poszukiwań. Widać stad
˛ natychmiast, że krok minimalizacji w metodzie najszybszego spadku co prawda zaczyna sie˛ prostopadle do poziomnic funkcji, ale kończy sie˛ stycznie do poziomnic. Dodatkowo w minimalizacji po
współrz˛ednych kolejne kierunki poszukiwań, czyli — tutaj — kolejne współrz˛edne, nie zależa˛ od kształtu minimalizowanej funkcji; taka strategia nie
może być optymalna.
c 2009-11 P. F. Góra
Copyright 11–5
Przykład — minimalizacja po współrzednych
˛
3
2
1
0
-1
-2
-3
-3
-2
-1
0
1
2
3
Dużo małych kroków
c 2009-11 P. F. Góra
Copyright 11–6
Przykład — metoda najszybszego spadku
3
2
1
0
-1
-2
-3
-3
-2
-1
0
1
2
3
Wyglada
˛ lepiej, ale kroków prawie tyle samo
c 2009-11 P. F. Góra
Copyright 11–7
Przybliżenie formy kwadratowej
Przypuśćmy, że jesteśmy dostatecznie blisko minimum. Rozwijamy minimalizowana˛ funkcje˛ w szereg Taylora wokół minimum i otrzymujemy
1 T
f (x) ' x Ax − bT x + f0 ,
2
(4)
gdzie A jest macierza˛ drugich pochodnych czastkowych
˛
(hessjanem) obliczanym w minimum. Z definicji minimum, macierz ta jest dodatnio określona, jeśli zaś funkcja jest dostatecznie gładka, macierz ta jest symetryczna. Zatem w pobliżu minimum, funkcja w przybliżeniu zachowuje sie˛
jak dodatnio określona forma kwadratowa.
c 2009-11 P. F. Góra
Copyright 11–8
Gradienty sprzeżone
˛
W przybliżeniu (4) gradient funkcji f w punkcie xk wynosi
∇f |x=xk = Axk − b .
(5)
Kolejne poszukiwania odbywaja˛ sie˛ w kierunku pk+1. Gradient funkcji
w pewnym nowym punkcie x = xk + αpk+1 wynosi
∇f |x = Axk + αApk+1 − b .
(6)
Zmiana gradientu wynosi
δ (∇f ) = αApk+1 .
c 2009-11 P. F. Góra
Copyright (7)
11–9
Punkt xk jest minimum kierunkowym w kierunku pk , a wiec
˛ gradient funkcji w tym punkcie spełnia warunek (3). Jeżeli chcemy aby poszukiwania
w nowym kierunku nie zepsuły minimum kierunkowego w kierunku pk ,
zmiana gradientu musi być prostopadła do starego kierunku poszukiwań,
δ (∇f )T pk = 0. Tak jednak musi być dla wszystkich poprzednich kierunków, nie chcemy bowiem naruszyć żadnego z poprzednich minimów
kierunkowych. A zatem
pTi Apj = 0 ,
i>j.
(8)
Metode˛ wybierania kierunków poszukiwań spełniajacych
˛
(8) nazywamy
metoda˛ gradientów sprz˛eżonych.
c 2009-11 P. F. Góra
Copyright 11–10
Jak sie˛ obejść bez hessjanu?
Z jednego z poprzednich wykładów znamy algebraiczna˛ metode˛ gradientów sprz˛eżonych, wydaje sie˛ zatem, iż moglibyśmy jej użyć do skonstruowania ciagu
˛ wektorów {pk }. Niestety, nie możemy, nie znamy bowiem
macierzy A, czyli hessjanu w minimum. Czy możemy sie˛ bez tego obejść?
Twierdzenie 1. Niech f ma postać (4) i niech rk = − ∇f |xk . Z punktu
xk idziemy w kierunku pk do punktu, w którym f osiaga
˛ minimum kierunkowe. Oznaczmy ten punkt xk+1. Wówczas rk+1 = − ∇f |xk+1 jest tym
samym wektorem, który zostałby skonstruowany w algebraicznej metodzie
gradientów sprz˛eżonych.
c 2009-11 P. F. Góra
Copyright 11–11
Dowód. Na podstawie równania (5), rk = −Axk + b oraz
rk+1 = −A(xk + αpk ) + b = rk − αApk .
(9)
Tr
W minimum kierunkowym pT
∇f
|
=
−
p
xk+1
k
k k+1 = 0 (por. (3)). Wobec tego mnożac
˛ równanie (9) lewostronnie przez pT
k , otrzymujemy
pTk rk
α= T
.
pk Apk
(10)
T
Ponieważ w algebraicznej metodzie gradientów sprz˛eżonych rT
k pk = rk rk ,
otrzymujemy dokładnie takie samo α jak we wzorach na metode˛ algebraiczna,
˛ co kończy dowód.
c 2009-11 P. F. Góra
Copyright 11–12
Algorytm gradientów sprzeżonych
˛
Rozpoczynamy w pewnym punkcie x1. Bierzemy r1 = p1 = − ∇f |x1 .
1. Bed
˛ ac
˛ w punkcie xk , dokonujemy minimalizacji kierunkowej w kierunku pk ; osiagamy
˛
punkt xk+1.
2. Obliczamy rk+1 = − ∇f |xk+1 .
3. Obliczamy (jak w metodzie algebraicznej)
β=
rTk+1rk+1
rTk rk
.
(11)
4. Obliczamy (jak w metodzie algebraicznej) pk+1 = rk+1 + β pk .
c 2009-11 P. F. Góra
Copyright 11–13
Zamiast używać równania (11), można skorzystać z
β=
rTk+1(rk+1 − rk )
rTk rk
.
(12)
Jeżeli funkcja f ma ściśle postać (4), nie ma to znaczenia, gdyż rT
k+1 rk = 0.
Ponieważ jednak f jest tylko w przybliżeniu forma˛ kwadratowa,
˛ (12) może
przyspieszyć obliczenia gdy grozi stagnacja.
c 2009-11 P. F. Góra
Copyright 11–14
Przykład — metoda gradientów sprzeżonych
˛
3
2
1
0
-1
-2
-3
-3
-2
-1
0
1
2
3
Tylko dwa kroki! Drugi krok nie jest prostopadły do pierwszego, ale jest z nim sprz˛eżony.
c 2009-11 P. F. Góra
Copyright 11–15
Metoda zmiennej metryki
Formalna konieczność rozwiazywania
˛
równania ∇f = 0 sugeruje zastosowanie nastepuj
˛ acego
˛
algorytmu opartego na metodzie Newtona:
xi+1 = xi − H−1 ∇f |xi ,
(13)
gdzie H oznacza macierz drugich pochodnych czastkowych
˛
funkcji f wyliczanych w punkcie xi (aktualnym).
c 2009-11 P. F. Góra
Copyright 11–16
W pobliżu minimum f ma w przybliżeniu postać (4). Wówczas położenie
minimum możemy znaleźć formalnie w jednym kroku jako
xmin − xi = −A−1 ∇f |xi ,
(14)
gdzie A jest hessjanem w minimum. Zauważmy, że aby krok Newtona
w istocie prowadził do zmniejszenia sie˛ wartości funkcji, musi zachodzić
(x − xi)T ∇f |xi < 0, czyli
− (x − xi)T A(x − xi) < 0
(15)
co jest spełnione, jeżeli A jest dodatnio określone.
c 2009-11 P. F. Góra
Copyright 11–17
Wreszcie jeśli xi, xi+1 sa˛ kolejnymi krokami iteracji prowadzacej
˛ do minimalizacji, oddejmujac
˛ odpowiednie równania (14) od siebie dostajemy
−1
xi+1 − xi = A
∇f |xi+1 − ∇f |xi .
(16)
Ale my wciaż
˛ nie znamy A.
Celem metody zmiennej metryki jest wobec tego skonstruowanie pewnego
ciagu
˛ przybliżeń hessjanu — zamiast równania (16) mamy
xi+1 − xi = Hi+1 ∇f |xi+1 − ∇f |xi .
c 2009-11 P. F. Góra
Copyright (17)
11–18
W powyższym równaniu Hi oznaczaja˛ kolejne przybliżenia hessjanu w minimum. Przyliżenia te musza˛ spełniać
1. Hi jest symetryczne i dodatnio określone.
2. Zachodzi
lim Hi = A−1 .
i→∞
(18)
Jeśli nie mamy żadnego lepszego pomysłu, możemy przyjać
˛ H1 = I.
Metoda ma formalnie postać
xi+1 = xi − Hi ∇f |xi .
c 2009-11 P. F. Góra
Copyright (19)
11–19
Konstruowanie kolejnych Hi
DFP updating formula:
Hi+1 = Hi +
h
−
(xi+1 − xi)(xi+1 − xi)T
(xi+1 − xi)T ∇f |xi+1 − ∇f |xi
Hi ∇f |xi+1 − ∇f |xi
∇f |xi+1 − ∇f |xi
c 2009-11 P. F. Góra
Copyright i h
T
Hi ∇f |xi+1 − ∇f |xi
Hi ∇f |xi+1 − ∇f |xi
iT
. (20)
11–20
BFGS updating formula:
Hi+1 = · · · + ∇f |xi+1 − ∇f |xi
u =
T
Hi ∇f |xi+1 − ∇f |xi uuT ,
(21a)
xi+1 − xi
(xi+1 − xi)T ∇f |xi+1 − ∇f |xi
− Hi ∇f |xi+1 − ∇f |xi
∇f |xi+1 − ∇f |xi
T
Hi ∇f |xi+1 − ∇f |xi
,
(21b)
gdzie kropki oznaczaja˛ cała˛ formułe˛ DFP.
c 2009-11 P. F. Góra
Copyright 11–21
Własności metody zmiennej metryki
Można pokazać, że Hi modyfikowane tak według formuły DFP, jak i BFGS
1. Jest symetryczne i dodatnio określone, jeśli tylko H1 jest symetryczne
i dodatnio określone.
2. Spełnia warunek (17).
3. Spełnia (18).
4. Dodatkowo, jeśli f jest forma˛ kwadratowa˛ (4), Hi>N +1 ≡ A−1 w arytmetyce dokładnej.
c 2009-11 P. F. Góra
Copyright 11–22
Metoda Levenberga-Marquardta
Tak metoda gradientów sprz˛eżonych, jak i metoda zmiennej metryki, sa˛
dostosowane do przypadku, w którym funkcja jest z dobrym przybliżeniem
postaci (4), a wiec
˛ gdy jesteśmy dostatecznie blisko poszukiwanego minimum. Jednak daleko od minimum metody te sa˛ powolne — trudno oczekiwać, że wzory słuszne dla formy kwadratowej bed
˛ a˛ dobrze działać gdy
funkcja forma˛ kwadratowa˛ nie jest. Daleko od minimum jest sens stosować metode˛ najszybszego spadku. Powinniśmy zatem mieć metode,
˛ która
daleko od minimum zachowuje sie˛ jak najszybszy spadek, blisko zaś minimum redukuje sie˛ do zmiennej metryki (lub gradientów sprz˛eżonych).
c 2009-11 P. F. Góra
Copyright 11–23
Powróćmy do “algorytmu” opartego na metodzie Newtona (13):
xi+1 = xi − H−1(xi) ∇f |xi ,
Daleko od minimum hessjan nie musi być nawet dodatnio określony, co
powoduje, iż krok newtonowski wcale nie musi prowadzić do spadku wartości funkcji (por. (15)). My jednak chcemy aby wartość funkcji w kolejnych
krokach spadała. Zmodyfikujmy wiec
˛ hessjan:
∂ 2f
,
ii = (1 + λ)
2
∂xi
2f
∂
f
, i 6= j ,
H
ij =
∂xi∂xj
f
H
(22a)
(22b)
przy czym λ > 0.
c 2009-11 P. F. Góra
Copyright 11–24
Zauważmy, że zachodzi jedna z dwu możliwych sytuacji: (i) jeśli znajdujemy sie˛ w basenie atrakcji minimum, wówczas dla odpowiednio dużego
λ macierz (22) stanie sie˛ dodatnio określona lub też (ii) jeśli dla żadnego
dodatniego λ macierz (22) nie staje sie˛ dodatnio określona, znajdujemy
sie˛ na monotonicznej gałezi
˛ funkcji, poza basenem atrakcji minimum.
Rozpoczynamy z jakimś niewielkim λ, na przykład λ = λ0 = 2−10 =
1/1024. Przypuśćmy, iż aktualnym przybliżeniem minimum jest punkt xi.
Dostajemy zatem. . .
verte
c 2009-11 P. F. Góra
Copyright 11–25
Algorytm Levenberga-Marquardta
1. Oblicz ∇f (xi).
f(x ).
2. Oblicz H
i
3. Oblicz
f−1(x )∇f (x ) .
xtest = xi − H
i
i
(23)
4. Jeżeli f (xtest) > f (xi), to
(a) λ → 8λ (można też powiekszać
˛
o inny znaczny czynnik).
(b) Idź do punktu 2.
5. Jeżeli f (xtest) < f (xi), to
(a) λ → λ/8 (można też zmniejszać o inny znaczny czynnik).
(b) xi+1 = xtest.
(c) Idź do punktu 1.
c 2009-11 P. F. Góra
Copyright 11–26
Komentarz
Dodatkowo, jeśli λ > λmax 1, uznajemy, iż znajdujemy sie˛ poza basenem atrakcji minimum i algorytm zawodzi. Jeśli natomiast λ < λmin 1,
f jest w praktyce równa hessjanowi, a zatem modyfikacja (22)
macierz H
przestaje być potrzebna. Możemy wówczas przerzucić sie˛ na metode˛ gradientów sprz˛eżonych lub metode˛ zmiennej metryki aby wykorzystać ich
szybka˛ zbieżność w pobliżu minimum, gdzie funkcja ma postać (4).
Ponadto w celu przyspieszenia obliczeń, jeżeli f (xtest) < f (xi), możemy
f i przeprochwilowo zrezygnować ze zmniejszania λ i modyfikowania H
wadzić kilka kroków z ta˛ sama˛ macierza,
˛ a wiec
˛ korzystajac
˛ z tej samej
faktoryzacji.
c 2009-11 P. F. Góra
Copyright 11–27
Zauważmy, iż przypadek λ 1 oznacza, iż jesteśmy daleko od minimum.
f staje sie
Z drugiej strony jeśli λ 1, macierz H
˛ w praktyce diagonalna,
a zatem

!
 ∂ 2f −1
xtest ' xi − (1 + λ)−1diag
,
 ∂x2
1
!−1
2
∂ f
,...,
2
∂x2
' xi − const ∇f (xi) ,
!−1

∂ 2f
∇f (xi)
2

∂xN
(24)
o ile drugie pochodne czastkowe
˛
w poszczególnych kierunkach nie różnia˛ sie˛ znacznie od siebie. Widać, iż daleko od minimum, gdzie warunek
zachowujacy
˛ raz osiagni
˛ ete
˛ minima kierunkowe nie zachodzi, algorytm
Levenberga-Marquardta zachowuje sie˛ prawie jak metoda najszybszego
spadku.
c 2009-11 P. F. Góra
Copyright 11–28
Przykład — funkcja Rosenbrocka
Rosenbrock function z = (1-x)2 + 100(y-x2)2
1600
1400
1200
1000
800
600
400
200
03
2.5
2
2
1.5
1
1.5
y
0.5
1
0
-0.5
0.5
-1
0 -2
-1.5
x
Funkcja Rosenbrocka f (x, y) = (1 − x)2 + 100(y − x2)2 jest
przykładem
˛
funkcji, w której daleko od minimum metody gradientów
sprz˛eżonych i zmiennej metryki nie zapewniaja˛ szybkiej zbieżności.
c 2009-11 P. F. Góra
Copyright 11–29
Metoda Powella
Wszystkie omówione wyżej metody wymagały obliczania pochodnych (gradientu) funkcji f (x). Co jednak zrobić, jeśli obliczenie pochodnych jest
kosztowne, niemożliwe lub funkcja jest nieróżniczkowalna? Zasadnicza
strategia postepowania
˛
— minimalizacja kierunkowa, wybór nowego kierunku etc — pozostaje w mocy, zmienia sie˛ tylko sposób wyboru kolejnych
kierunków. Metoda Powella polega na konstrukcji kierunków, które z czasem, po wielu iteracjach, staja˛ sie˛ sprz˛eżone.
c 2009-11 P. F. Góra
Copyright 11–30
N , gdzie {e }N sa˛ kolejnymi werInicjalizujemy biorac
˛ {pi}N
=
{
e
}
i
i i=1
i=1
i=1
sorami (innymi słowy, zaczynamy od minimalizacji po współrz˛ednych). Nastepnie
˛
1. Znajdujemy sie˛ w pewnym punkcie X0.
2. Minimalizujemy wzdłuż kolejnych kierunków pi, osiagaj
˛ ac
˛ kolejno punkty
Xi .
3. Dla i = 1, . . . , N − 1 : pi = pi+1 .
4. pN = XN − X0 .
5. Minimalizujemy wzdłuż (nowego) pN , oznaczajac
˛ znaleziony punkt
przez X0.
6. GOTO 1
Jeśli badana funkcja jest rozwijalna w szereg Taylora wokół minimum, po
N iteracjach powyższej procedury kierunki {pi}N
˛ sprz˛eżone.
i=1 staja˛ sie
c 2009-11 P. F. Góra
Copyright 11–31
Przykład — metoda Powella
3
2
1
0
-1
-2
-3
-3
-2
-1
0
1
2
3
Mniej kroków niż w minimalizacji po współrz˛ednych. W wiekszej
˛
liczbie wymiarów byłoby jeszcze lepiej.
c 2009-11 P. F. Góra
Copyright 11–32