2. A konvex optimalizálás alapjai 41
2.3. A feltétel nélküli optimalizálás algoritmusai
2.3.2. Keresési irány
Minden minimalizálási algoritmus döntő eleme a keresési irány megalkotása. Terjedelmi okok miatt most csak két alapvető módszert tekintünk át.
Gradiens-módszer
A gradiens-módszer az f függvény negatív gradiensét, (−∇f(xk))-t használja keresési irányként.6 Ezt az irányt gyakranlegmeredekebb csökkenési iránynakhívják. Az elnevezés indokolt, ha megfigyeljük, hogy a normalizált iránymenti deriváltat a negatív gradiens minimalizálja:
δf(x,−∇f(x)) = −∇f(x)T∇f(x) = min
ksk=k∇f(x)k{∇f(x)Ts}.
Figyeljük meg, hogy a (negatív) gradiens ortogonális a függvény szintvonalaira. A gradi-ens kiszámolása viszonylag kevés számítást igényel, ami azt jelzi, hogy a gradigradi-ens-módszer elég hatékony. Bár sok esetben valóban jól működik, azért néhány elméleti és gyakorlati
6Most az egyszerűség kedvéért feltesszük, hogyC=Rn a feltételes esetekben a negatív gradiens nem feltétlenül esik aChalmazba. Ilyen esetekben a negatív gradienst pl. vetíthetjük aC halmazra.
hátrányát megemlítjük. Először is, konvex kvadratikus függvény gradiens-módszerrel tör-ténő minimalizálása nem véges folyamat. „Cikk-cakkos” haladásának (lásd a 2.15 ábrát) köszönhetően a konvergencia igen lassú. Másrészt, a konvergencia sebessége csak lineáris.
x0
N
3 N >Nµ
x1
x2 x3
x4
2.15. ábra. A gradiens módszer cikk-cakkossága.
2.14. Feladat. Számítsuk ki a következő kvadratikus függvényhez tartozó legmeredekebb csök-kenési irányt:
f(x) = 1
2xTQx+qTx−β,
ahol a Q mátrix pozitív definit. Határozzuk meg az egyenes mentén történő keresés pontos lépéshosszát is.
2.15. Feladat. Bizonyítsuk be, hogy az egymást követő keresési irányok a fenti kvadratikus függvény esetében ortogonálisak (azazsk⊥sk+1; k= 0,1,2, . . .).
A következő tétel a gradiens-módszer konvergenciáját vizsgálja.
2.61. Tétel. Legyen f folytonosan differenciálható függvény és indítsuk a gradiens mód-szert az x0 kezdőpontból. Ha az egyenes mentén keresést pontosan hajtjuk végre, akkor a gradiens módszer olyan x0, x1, x2, . . . sorozatot állít elő, amelyre f(xk) > f(xk+1), k = 0,1,2, . . . esetén. Tegyük fel, hogy a D = {x : f(x) ≤ f(x0)} szinthalmaz kompakt, ekkor a generáltx0, x1, x2, . . . , xk, . . . sorozat bármelyx¯torlódási pontja azf függvény sta-cionárius pontja (azaz∇f(¯x) = 0). Továbbá, ha azf függvény konvex, akkor x¯a függvény globális minimumhelye.
Bizonyítás: Mivel D kompakt és f folytonos, így f korlátos D felett, tovább létezik egy xkj → x¯ konvergens részsorozat, amelyre f(xkj) → f∗, ha kj → ∞. Az f függvény folytonossága miatt f(¯x) = f∗. Mivel a keresési irány az f függvény gradiense, és f folytonosan differenciálható, ezért
¯
s= lim
kj→∞skj =− lim
kj→∞∇f(xkj) = −∇f(¯x).
Mindkét oldalt∇f(¯x)-szel szorozva
¯
sT∇f(¯x) = −∇f(¯x)T∇f(¯x)≤0. (2.10) Felhasználva az iterációs sorozat és a konvergens részsorozat felépítését:
f(xkj+1)≤f(xkj+1)≤f(xkj+λskj), majd határértéket véve kapjuk, hogy
f(¯x)≤f(¯x+λ¯s).
Ebből már következik, hogy δf(¯x,s) = ¯¯ sT∇f(¯x) ≥ 0. Ezt a (2.10) egyenlőtlenséggel
összevetve kapjuk, hogy∇f(¯x) = 0. 2
Newton-módszer
A Newton-módszer alkalmazásához fel kell tételeznünk, hogy f kétszer folytonosan diffe-renciálható, szigorúan konvex függvény. Newton keresési iránya azf függvény másodrendű közelítésén alapul. Tekintsükf Taylor-polinomjának első három tagját, és az eredeti függ-vény helyett ezt minimalizáljuk:
q(x) :=f¡ xk¢
+∇f¡ xk¢T ¡
x−xk¢ +1
2
¡x−xk¢T
∇2f¡ xk¢ ¡
x−xk¢ .
A 2.44 lemma és a 2.45 állítás (l. 56. oldal) szerint ∇2f(xk) pozitív definit, amiből kö-vetkezik a q(x) függvény szigorú konvexitása. Így q(x) minimumát akkor érjük el, ha gradiense
∇q(x) =∇f¡ xk¢
+∇2f¡ xk¢ ¡
x−xk¢ a nullvektorral lesz egyenlő, azaz ahol
xk+1 =xk−¡
∇2f¡ xk¢¢−1
∇f¡ xk¢
.
Ha a már elég közel vagyunk a minimumhoz, akkor a Newton-módszer kvadratikusan konvergál (egyenes mentén való keresés nélkül!), így a Newton-módszer hatékonyságának teljes kihasználásához szükségünk van egy jó kezdőpontra.7
A klasszikus Newton-módszer nem alkalmaz egyenes mentén való keresést. Ha egyenes mentén történő keresést alkalmazunk, akkor jellemzően messze vagyunk a megoldástól, a lépés hossza általában egynél kisebb. Ekkor beszélünk rövidített lépéses, vagy tompított Newton-módszerről.
Meg kell említenünk, hogy a Hesse-mátrix kiszámítása és invertálása sokkal több szá-mítást igényel, mint a gradiens megtalálása. Számos módszert fejlesztettek ki a számí-tásigény csökkentésére, amelyek a Newton-módszer előnyeit is megtartják. Ezek az ún.
7A belsőpontos módszerek (3. fejezet) meglepően jó eredményei nagyban annak köszönhetőek, hogy az iterációkat közel tartják a centrális úthoz, így az eljárás majdnem kvadratikusan konvergál.
kvázi-Newton-módszerek, amelyek közül a legelterjedtebbek a konjugált irányt használó eljárások. Másrészt a Newton-módszer többletköltségét a jobb keresési irány kompen-zálja. Példaként megjegyezzük, hogy konvex kvadratikus függvények minimalizálása egy lépésben történik. Emlékezzünk rá, hogy a gradiens-módszer nem is volt véges erre a feladatra.
Ha az f(x)függvény nem szigorúan konvex, vagy a Hesse-mátrix nem jól-kondicionált (a legnagyobb és a legkisebb sajátérték hányadosa nagy), akkor a Hesse-mátrix nem (vagy csak nehezen) invertálható. Ezen nehézségek leküzdésére különféle technikákat dolgoztak ki. Példaként megemlítjük a trust region-módszert, ahol a keresési irány definíciójában
∇2f(x) helyett (∇2f(x) +αI)-t használjuk, ahol I az egységmátrix, és α változtatható annak érdekében, hogy elkerüljük az egyenes mentén való keresést. Figyeljük meg, hogy ha α = 0, akkor a Hesse-mátrixot kapva a Newton-módszerhez térünk vissza, míg ha α → ∞, akkor ez a mátrix az egységmátrix számszorosához közelít és így a keresési irány aszimptotikusan párhuzamos lesz a negatív gradienssel. Ezen módszerek részletes vizsgálata meghaladja könyvünk kereteit, az érdeklődő olvasónak a [2, 4, 16, 12] könyveket ajánljuk.
2.16. Feladat. Legyen f : Rn → R kétszer folytonosan differenciálható függvény. Mutassuk meg, hogy az s= −H∇f(x) irány bármely H pozitív definit mátrix esetén az f függvény egy x-hez tartozó csökkenési irányát adja meg. Milyen H esetén lesz s a legmeredekebb csökkenés iránya, illetve a Newton-irány (konvexf függvény esetén)?
2.17. Feladat. Tekintsük az alábbi, feltétel nélküli optimalizálási feladatot:
min (x1−2)4+ (x1−2x2)2.
0 0.5 1 1.5 2 2.5 3
0 0.5 1 1.5 2 2.5 3
x1 x2
2.16. ábra. A függvény szintvonalai. A minimum (2,1)-ben van.
1. Mutassuk be a gradiens-módszer két iterációját azx0= [0,3]T kezdőpontból indulva.
2. Mutassuk be a Newton-módszer négy iterációját (egyenes mentén keresés nélkül) ugyan-abból azx0 kezdőpontból indulva.
Newton-módszer nemlineáris egyenletek megoldására
A Newton-módszer nemlineáris egyenletrendszerek megoldására is használható. Tegyük fel, hogy a nemlineáris egyenletrendszer
F(x) = 0
alakú, ahol F(x) :Rn →Rm differenciálható függvény. Tegyük fel, hogy azxk ∈Rn pont az egyenlet egy közelítő megoldása. Először linearizáljuk xk-ban a nemlineáris egyenletet úgy, hogy F(x)-et az F¡
xk¢
+JF¡ xk¢ ¡
x−xk¢
kifejezéssel közelítjük, ahol JF(x) jelöli F n Jacobi-mátrixát:
JF(x)ij = ∂Fi(x)
∂xj
i= 1, . . . , m; j = 1, . . . , n.
Innen a következő linearizált egyenletet kapjuk:
JF ¡ xk¢ ¡
x−xk¢
=−F ¡ xk¢
. (2.11)
Ez egy lineáris egyenletrendszer, amelynek megoldását (ha létezik) a sztenderd lineáris algebra eszközeivel kaphatjuk meg. Az innen kapott xk+1 =x megoldás lesz az egyenlet-rendszer megoldásának új közelítése, és az eljárás kezdődik elölről.
Vegyük észre, hogy egy f(x) szigorúan konvex függvény minimalizálása ekvivalens a ∇f(x) = 0 egyenletrendszer megoldásával. A Newton-módszert használva (a (2.11) formula alapján) a következőt kapjuk:
∇2f¡ xk¢ ¡
xk+1−xk¢
=−∇f¡ xk¢
.
A gradiens Jacobi-mátrixa éppen f(x)Hesse-mátrixa, ami így pozitív definit, és xk+1 =xk−¡
∇2f¡ xk¢¢−1
∇f¡ xk¢
, ahogy ezt már korábban is láttuk.