Konjugált gradiens módszer

Hasonló dokumentumok
Gauss-Seidel iteráció

Legkisebb négyzetek módszere, Spline interpoláció

11. Előadás. 11. előadás Bevezetés a lineáris programozásba

10. Előadás. 1. Feltétel nélküli optimalizálás: Az eljárás alapjai

First Prev Next Last Go Back Full Screen Close Quit

Numerikus módszerek I. zárthelyi dolgozat (2017/18. I., A. csoport) Megoldások

6. gyakorlat. Gelle Kitti. Csendes Tibor Somogyi Viktor. London András. jegyzetei alapján

Matematika III előadás

2. SZÉLSŽÉRTÉKSZÁMÍTÁS. 2.1 A széls érték fogalma, létezése

Kétváltozós függvények differenciálszámítása

Gauss-eliminációval, Cholesky felbontás, QR felbontás

A lineáris programozás alapjai

Többváltozós, valós értékű függvények

n n (n n ), lim ln(2 + 3e x ) x 3 + 2x 2e x e x + 1, sin x 1 cos x, lim e x2 1 + x 2 lim sin x 1 )

Nemlineáris programozás 2.

További programozási esetek Hiperbolikus, kvadratikus, integer, bináris, többcélú programozás

Differenciálegyenletek numerikus megoldása

Gépi tanulás a gyakorlatban. Lineáris regresszió

Matematika III előadás

ACM Snake. Orvosi képdiagnosztika 11. előadás első fele

P 2 P ábra Az f(x) függvény globális minimuma (P 1 ) és egy lokális minimuma (P 2 ).

Optimalizálás alapfeladata Legmeredekebb lejtő Lagrange függvény Log-barrier módszer Büntetőfüggvény módszer 2017/

Szélsőérték-számítás

Nem-lineáris programozási feladatok

Optimalizálási eljárások GYAKORLAT, MSc hallgatók számára. Analízis R d -ben

Losonczi László. Debreceni Egyetem, Közgazdaság- és Gazdaságtudományi Kar

Numerikus módszerek beugró kérdések

Többváltozós, valós értékű függvények

Numerikus integrálás

A legjobb közeĺıtés itt most azt jelentette, hogy a lineáris

Matematika II. 1 sin xdx =, 1 cos xdx =, 1 + x 2 dx =

Gauss elimináció, LU felbontás

Nemlineáris egyenletrendszerek megoldása április 15.

x 2 e x dx c) (3x 2 2x)e 2x dx x sin x dx f) x cosxdx (1 x 2 )(sin 2x 2 cos 3x) dx e 2x cos x dx k) e x sin x cosxdx x ln x dx n) (2x + 1) ln 2 x dx

Feladatok megoldásokkal a 9. gyakorlathoz (Newton-Leibniz formula, közelítő integrálás, az integrálszámítás alkalmazásai 1.

Kvadratikus alakok és euklideszi terek (előadásvázlat, október 5.) Maróti Miklós, Kátai-Urbán Kamilla

3. Előadás. Megyesi László: Lineáris algebra, oldal. 3. előadás Lineáris egyenletrendszerek

Opkut deníciók és tételek

Fourier-sorok. néhány esetben eltérhetnek az előadáson alkalmazottaktól. Vizsgán. k=1. 1 k = j.

Numerikus módszerek 1.

KOVÁCS BÉLA, MATEMATIKA II.

15. LINEÁRIS EGYENLETRENDSZEREK

3. Lineáris differenciálegyenletek

Gazdasági matematika II. vizsgadolgozat megoldása, június 10

Feladatok a Gazdasági matematika II. tárgy gyakorlataihoz

Matematika szigorlat június 17. Neptun kód:

LINEÁRIS EGYENLETRENDSZEREK október 12. Irodalom A fogalmakat, definíciókat illetően két forrásra támaszkodhatnak: ezek egyrészt elhangzanak

Polinomok, Lagrange interpoláció

sin x = cos x =? sin x = dx =? dx = cos x =? g) Adja meg a helyettesítéses integrálás szabályát határozott integrálokra vonatkozóan!

f(x) vagy f(x) a (x x 0 )-t használjuk. lim melyekre Mivel itt ɛ > 0 tetszőlegesen kicsi, így a a = 0, a = a, ami ellentmondás, bizonyítva

Szélsőérték feladatok megoldása

1. Parciális függvény, parciális derivált (ismétlés)

A szimplex tábla. p. 1

Numerikus módszerek II. zárthelyi dolgozat, megoldások, 2014/15. I. félév, A. csoport. x 2. c = 3 5, s = 4

Problémás regressziók

Gauss-Jordan módszer Legkisebb négyzetek módszere, egyenes LNM, polinom LNM, függvény. Lineáris algebra numerikus módszerei

ALGORITMUSAI DR. NAGY TAMÁS. egyetemi docens. Miskolci Egyetem Alkalmazott Matematikai Tanszék

Számítási feladatok a Számítógépi geometria órához

Feladatok megoldásokkal az első gyakorlathoz (differencia- és differenciálhányados fogalma, geometriai és fizikai jelentése) (x 1)(x + 1) x 1

LINEÁRIS ALGEBRAI EGYENLETRENDSZEREK

1. feladatsor: Vektorfüggvények deriválása (megoldás)

Saj at ert ek-probl em ak febru ar 26.

Bevezetés az algebrába 2

Alap-ötlet: Karl Friedrich Gauss ( ) valószínűségszámítási háttér: Andrej Markov ( )

Norma Determináns, inverz Kondíciószám Direkt és inverz hibák Lin. egyenletrendszerek A Gauss-módszer. Lineáris algebra numerikus módszerei

11. gyakorlat megoldásai

Megoldott feladatok november 30. n+3 szigorúan monoton csökken, 5. n+3. lim a n = lim. n+3 = 2n+3 n+4 2n+1

Vektorterek. =a gyakorlatokon megoldásra ajánlott

Normák, kondíciószám

Lagrange-féle multiplikátor módszer és alkalmazása

y + a y + b y = r(x),

Numerikus módszerek 1.

Nemlineáris programozás: algoritmusok

cos 2 (2x) 1 dx c) sin(2x)dx c) cos(3x)dx π 4 cos(2x) dx c) 5sin 2 (x)cos(x)dx x3 5 x 4 +11dx arctg 11 (2x) 4x 2 +1 π 4

12. Mikor nevezünk egy részhalmazt nyíltnak, illetve zártnak a valós számok körében?

Haladó lineáris algebra

1 Lebegőpontos számábrázolás

Matematika A2 vizsga mgeoldása június 4.

6. Függvények. 1. Az alábbi függvények közül melyik szigorúan monoton növekvő a 0;1 intervallumban?

11. gyakorlat megoldásai

Line aris f uggv enyilleszt es m arcius 19.

4. Előadás: Erős dualitás

Kalkulus I. gyakorlat Fizika BSc I/1.

Mátrixok 2017 Mátrixok

ANALÍZIS III. ELMÉLETI KÉRDÉSEK

Matematika. 4. konzultáció: Kétváltozós függvények szélsőértéke. Parciális függvény, parciális derivált

Gyakorló feladatok. Agbeko Kwami Nutefe és Nagy Noémi

MATEMATIKA ÉRETTSÉGI TÍPUSFELADATOK MEGOLDÁSAI KÖZÉPSZINT Függvények

9. Előadás. Megyesi László: Lineáris algebra, oldal. 9. előadás Mátrix inverze, mátrixegyenlet

MATEMATIKA ÉRETTSÉGI TÍPUSFELADATOK MEGOLDÁSAI KÖZÉPSZINT Abszolútértékes és gyökös kifejezések

First Prev Next Last Go Back Full Screen Close Quit. Matematika I

Lineáris egyenletrendszerek

Függvények Megoldások

Matematika elméleti összefoglaló

Numerikus módszerek 1.

MATEMATIKA ÉRETTSÉGI TÍPUSFELADATOK MEGOLDÁSAI KÖZÉPSZINT Függvények

Matematika I. Vektorok, egyenesek, síkok

10. Előadás. Megyesi László: Lineáris algebra, oldal. 10. előadás Sajátérték, Kvadaratikus alak

MATEMATIKA 2. dolgozat megoldása (A csoport)

Átírás:

Közelítő és szimbolikus számítások 12. gyakorlat Konjugált gradiens módszer Készítette: Gelle Kitti Csendes Tibor Vinkó Tamás Faragó István Horváth Róbert jegyzetei alapján

1 LINEÁRIS EGYENLETRENDSZEREK MEGOLDÁSA 1. Lineáris egyenletrendszerek megoldása A Konjugált gradiens módszer olyan lineáris (azaz Ax = b alakú) egyenletrendszerek megoldására alkalmas, melyekben az A együtthatómátrix szimmetrikus (azaz A = A T ), pozitív definit (azaz x 0 x T Ax > 0) és valós (tehát A R n n ). A módszer ugyan véges lépésben képes lenne pontos aritmetikával megtalálni az x megoldást, viszont a kerekítési hibák miatt mégis iterációs módszerként tekintünk rá. A fenti tulajdonságú mátrixok sokszor adódnak optimalizálási feladatok, vagy parciális differenciálegyenletek megoldásakor, s mivel ezek lehetnek nagy, ritka mátrixok is, a direkt módszerek alkalmazása nem hatékony. A konjugált gradiens módszer viszont hatékonyan oldja meg az ilyen típusú egyenletrendszereket is. Az alapötlet az, hogy megadunk egy többváltozós függvényt, melynek globális minimumhelye az egyenletrendszer megoldása. Ezt a minimumhelyet keressük meg egy megfelelő iterációs eljárással. Vegyük a θ(x) = 1 2 xt Ax x T b n-változós függvényt. Az összeszorzott mátrixok mérete szerint a jobb oldali kifejezés valóban egy valós számot (egy 1 1-es mátrixot) rendel minden vektorhoz. Megmutatható, hogy ennek a kvadratikus függvénynek egyetlen globális minimumhelye van az R n halmazon és ez pontosan az Ax = b egyenletrendszer megoldása(azaz az x = A 1 b pontban), a minimum értéke pedig b T A 1 b/2. A θ(x) függvény mindegyik változója szerint parciálisan deriválható, így minden pontban értelmezve van a függvény gradiense. Most kiszámítjuk a gradiensfüggvényt. Határozzuk meg a θ(x) függvény x k változó szerinti parciális deriváltját (k = 1,..., n). Ekkor θ(x) = 1 2 i=1 a ij x i x j j=1 b j x j Elhagyva az x k -kat nem tartalmazó tagokat (deriváláskor azok úgyis kiesnek) kapjuk, hogy θ(x) x k = a kj x j b k. j=1 Azaz a gradiensfüggvény (θ(x)) = Ax b. j Egy lineáris egyenletrendszer esetén az r = b Ax vektort maradékvektornak (vagy reziduális vektornak) hívjuk. maradékvektor megmutatja, hogy egy adott x vektor esetén mekkora az eltérés az egyenletrendszer két oldala között. Nyilvánvalóan x = x esetén r = 0. Fontos észrevétel, hogy a gradiensvektor a maradékvektor ( 1)-szerese. Az Ax = b lineáris egyenletrendszer megoldása tehát a θ(x) függvény minimumhelyének megkeresésével egyenértékű. A 1

2 KONJUGÁLT GRADIENS MÓDSZER Példa: Tekintsük a 2x 1 = 4, 8x 2 = 8 egyenletrendszert, melynek megoldása x 1 = 2, x 2 = 1. Ekkor ez a megoldás lesz a θ(x) = x 2 1 + 4x 2 2 4x 1 8x 2 = (x 1 2) 2 + 4(x 2 1) 2 8 kétváltozós függvény minimuma. A c = 0 értékhez tartozó szintvonal egyenlete (x 1 2) 2 8 + (x 2 1) 2 2 = 1, ami egy x középpontú 8 és 2 féltengelyű ellipszis egyenlete, ahogy az az ábrán is látszik. Szemléletesen a θ(x) függvény minimumhelyének megkeresése tulajdonképpen egy olyan felület,,legmélyebben fekvő pontjának megkeresése, melynek szintvonalai koncentrikus hiperellipszoidok 1. 2. Konjugált gradiens módszer Ismert, hogy egy többváltozós függvény a gradiensvektorával ellentétes irányban csökken a leggyorsabban. Így kézenfekvőnek látszik mindig a gradiensvektor ( 1)- szeresét (ami a korábban mondottak szerint éppen az adott pontbeli r = b Ax maradékvektor) választani keresési iránynak. Az így nyert iterációs módszert a θ(x) függvény minimumhelyének megkeresésére gradiens-módszernek, másképpen a legmeredekebb ereszkedés módszerének hívjuk. Azonban a keresési irány ilyen megválasztása lassú konvergenciát eredményez sok esetben. Ezt küszöböli ki a konjugált gradiens módszer. Adott keresési irány mentén nem kell adaptív módon meghatározni a lépésközt (mint általános nemlineáris minimalizálás esetén kellene), mert az optimális α közvetlenül megadható. Mivel az új vektorunk az s k keresési irány mentén x k + α k s k lesz, így a θ(x k + α k s k ) értéket kell minimalizálnunk α függvényében az optimális α lépésköz 1 egy hipergömb képe egy invertálható lineáris transzformáció mellett 2

2 KONJUGÁLT GRADIENS MÓDSZER beállításához. Ezt a minimumot ott veszi fel, ahol az α szerinti deriváltja ennek a kifejezésnek 0. Ezt kiírva: 0 = α θ(x k+1) = θ(x k+1 ) T α x k+1 = (Ax k+1 b) T ( α (x k + αs k )) = r T k+1s k. Az új reziduális vektort ki lehet fejezni a régivel és a keresési iránnyal: r k+1 = b Ax k+1 = b A(x k + αs k ) = (b Ax k ) αas k = r k αas k. Behelyettesítve a fenti 0 = r T k+1 s k-ba a most kapott r k+1 = r k αas k -t kapjuk, hogy (αas k r k ) T s k = 0, átrendezve ezt kapjuk, hogy (αas k ) T s k = r T k s k ami ugyanaz mint αs T k AT s k = r T k s k amiből azt kihasználva, hogy A T = A azt kapjuk, hogy. α k = st k r k s T k As k Míg a gradiens módszer mindig a gradienssel ellentétes irányában keres, a konjugált gradiens úgy működik, hogy az s k+1 keresési irányt úgy állítja be, hogy az A-ortogonális legyen az s k keresési irányra (és az összes megelőző keresési irányra is), ennek a tulajdonságnak a definíciója: Definíció 2.1. Adott egy A R n n szimmetrikus, pozitív definit mátrix. Azt mondjuk, hogy az x és y vektorok A-konjugáltak (vagy A-ortogonálisak), ha x T Ay = 0. az Lineáris algebrai azonosságok alkalmazásával kijön, hogy ehhez az új keresési irányt s k+1 = r k+1 + rt k+1 r k+1 r T k r s k k képlettel kapjuk meg. Az első iterációban s 1 -et a maradékvektorral tesszük egyenlővé. 2.1 Konjugált gradiens-módszer iteratív algoritmusa Az A R n n pozitív definit mátrix, b R n adott vektor, x R n tetszőleges kezdővektor. Az első keresési irány, s 1 és r 1 is legyen az x gradiensének ( 1)-szerese. Amíg nem teljesülnek a megállási feltételek a következőket iteráljuk: 1. α k := (r T k r k)/(s T k As k) 2. x k+1 = x k + α k s k 3. r k+1 = r k α k As k 4. β k+1 = (r T k+1 r k+1)/(r T k r k) 3

3 NEMLINEÁRIS OPTIMALIZÁLÁS 5. s k+1 = r k+1 + β k+1 s k Vegyük észre, hogy az α k értékét most kicsit más formában határoztuk meg. Érvényes viszont, hogy r T k s k = r T k (r k + β k s k 1 ) = r T k r k + β k r T k s k 1 = r T k r k, mivel az r k reziduális vektor merőleges az s k 1 keresési irányra, hiszen láttuk, hogy az optimális α meghatározásakor 0 = r T k+1 s k kell teljesüljön. A megállási feltétel szokás szerint az, hogy a felhasználó előírja, hogy az utolsó néhány iterált közelítés eltérése és a lineáris egyenletrendszer két oldala különbsége normája ezekben a pontokban adott kis pozitív értékek alatt maradjanak. Egy megvalósítása Matlabban: 1 function [x] = conjgrad(a,b,x) 2 r=b A*x; 3 p=r; 4 rsold=r'*r; 5 6 for i=1:length(b) 7 Ap=A*p; 8 alpha=rsold/(p'*ap); 9 x=x+alpha*p; 10 r=r alpha*ap; 11 rsnew=r'*r; 12 if sqrt(rsnew)<1e 10 13 break; 14 end 15 p=r+(rsnew/rsold)*p; 16 rsold=rsnew; 17 end 18 end 3. Nemlineáris optimalizálás A konjugált gradiens módszer nemlineáris optimalizálásra is alkalmas, ha minden iterációs lépésben az eredeti célfüggvény kvadratikus modelljére alkalmazzuk (az adott pontbeli függvényértékre, a gradiensre és a Hesse mátrixra vagy ezek közelítésére támaszkodva). A lineáris verzióhoz képest 3 dolgon kell változtatnunk: a rekurzív formula a reziduális vektor kiszámításához nem használható, nehezebb kiszámolni az α lépésközt, és a β megválasztására többféle lehetőségünk is van. A nemlineáris konjugált gradiens módszerben a reziduális vektort mindig a gradiens 1-szeresére választjuk (azaz r k = f (x k ), ha f a függvényünk). A keresési irányt ugyanúgy megkaphatjuk, mint lineáris esetben, viszont a,,keresés kicsit bonyolultabb, 4

3 NEMLINEÁRIS OPTIMALIZÁLÁS mint a lineáris konjugált gradiens esetében. Az α k -t úgy választjuk, hogy az f(x k +α k s k ) függvényt minimalizálja úgy, hogy a keresési irányra merőleges legyen a gradiens. A nemlineáris konjugált gradiens módszer esetén a β kiszámítására több különböző, egymással nem ekvivalens eredményt adó módszer van. Két lehetőség például a Fletcher- Reeves formula, amit a lineáris módszerben is alkalmazunk, és a Polak-Ribière formula: β F R = rt k+1 r k+1 r T k r, β P R = rt k+1 (r k+1 r k ) k r T k r k A Fletcher-Reeves módszer akkor konvergens, ha a kiindulási pont elég közel van a keresett minimumhoz, a Polak-Ribière módszer pedig ritka esetekben végtelen ciklusba esik és nem konvergál. Azonban a Polak-Ribière gyakran sokkal gyorsabban konvergál. Tehát a nemlineáris optimalizálásra használható konjugált gradiens módszer lépései a következők: 1. s 0 = r 0 = f (x 0 ) 2. Keressük azt az α k -t, ami minimalizálja az f(x k + α k s k ) függvényt 3. x k+1 = x k + α k s k 4. r k+1 = f (x k+1 ) 5. β k+1 = rt k+1 r k+1 r T k r k 6. s k+1 = r k+1 + β k+1 s k, vagy β k+1 = max{ rt k+1 (r k+1 r k ), 0} r T k r k A módszer egy problémája, hogy egy f függvénynek több lokális minimuma is lehet, ekkor a nemlineáris konjugált gradiens módszer viszont nem garantálja, hogy a globális minimumot kapjuk eredményül. 5