A konjugátum gradiens módszer 1
A "konjugált gradiens módszer" kifejezés egy példa arra, hogy az értelmetlen mondatok hogyan válnak szokásosá, és nem okoznak zavart. Az a tény, hogy egy konkrét eset kivételével, amely nem gyakorlati szempontból érdekes, a színátmenetek nem konjugáltak, és a konjugált irányoknak nincsenek semmi közük a gradiensekkel. A módszer neve tükrözi azt a tényt, hogy ez a feltétel nélküli extrém módszer megtalálásának módja ötvözi az objektív függvény gradiense és a konjugált irányok fogalmát.
Néhány szó az alább használt jelölésről.
A két vektor skaláris terméke $ x ^ Ty $, és a skalárok összegét jelenti: $ \ sum_ ^ n \, x_i \, y_i $. Ne feledje, hogy $ x ^ Ty = y ^ Tx $. Ha x és y ortogonális, akkor $ x ^ Ty = 0 $. Általában az 1x1 mátrixra konvertált kifejezések, mint például a $ x ^ Ty $ és a $ x ^ TA_x $, skaláris mennyiségeknek tekintendők.
Kezdetben a konjugátum gradiens módszerét úgy alakították ki, hogy megoldja az alak lineáris algebrai egyenleteit:
ahol x egy ismeretlen vektor, b egy ismert vektor, és A egy ismert, négyzetes, szimmetrikus, pozitív-definite mátrix. Ennek a rendszernek a megoldása egyenértékű a megfelelő négyzetes alak minimális megtalálásával.
A kvadratikus forma egyszerűen egy skalár, a következő alakú x-vektor kvadratikus függvénye:
Egy ilyen kapcsolat az A lineáris transzformáció mátrixa és az f (x) skaláris függvény között lehetővé teszi a lineáris algebra egyes képleteinek intuitív ábrákkal történő illusztrálását. Például az A mátrix pozitív definíciójú, ha minden nem nulla vektor esetében az alábbiak igazak:
Az 1. ábrán látható, hogy hogyan kell keresni a kvadratikus formák rendre pozitív definit mátrix (a) a negatív definit mátrix (b), a pozitív-határozatlan mátrix (s), meghatározatlan mátrix (d).
Vagyis, ha az A mátrix pozitív-definite, akkor az 1. egyenletek rendszerének megoldása helyett megtalálhatjuk a minimális kvadratikus függvényét. Ezenkívül a konjugátum gradiens módszer ezt n vagy kevesebb lépésben teszi meg, ahol n az ismeretlen x vektor dimenziója. Minthogy a minimális pont közelében lévő bármilyen sima működést egy kvadratikus függvény közelíti, ugyanaz a módszer alkalmazható a nem kvadratikus függvények minimalizálására. Ebben az esetben a módszer véget nem ér, de iteratív lesz.
Célszerű a konjugált gradiens módszer megfontolását megfontolni, figyelembe véve egy egyszerűbb módszert a funkció legvégső csoportjának, a legmeredekebb lejtés módszerének keresésére. A 2. ábra a mozgás pályáját mutatja a legkisebb pontra a legmeredekebb merülés módszerével. Ennek a módszernek a lényege:
- a gradiens kiszámítása az x (0) kezdőponton történik, és a mozgás az antigradíziós irányba történik, amíg a célfüggvény csökken;
- abban a pontban, ahol a funkció leáll, a gradiens ismét kiszámításra kerül, és a süllyedés folytatódik egy új irányba;
- Az eljárást addig ismételjük, amíg a minimális pontot el nem éri.
Ebben az esetben minden új mozgási irány merőleges az előzőhöz. Van-e érdemesebb módja annak, hogy új irányt válasszon? Van, és ezt a konjugált irány módszernek nevezik. És a konjugátum gradiens eljárás csak konjugált irányú módszerek csoportja. A 3. ábra a mozgás pályáját mutatja a legkisebb pontra a konjugátum gradiens módszer alkalmazásával.
Meghatározása konjugátumot az alábbiak szerint történik: a két vektor x és y az úgynevezett A-konjugátum (vagy konjugálva a mátrix A) vagy A-ortogonális, ha a skalár szorzata X és Ay nullával egyenlő, azaz:
A konjugáció az ortogonalitás koncepciójának generalizálása. Valóban, amikor a mátrix - identitás mátrix, 4. egyenlet szerint, a vektorok x és y - ortogonális. És egyébként kapcsolatot mutatja a fogalmak és ortogonális konjugáiumra mentálisan szakaszon 3. ábra úgy, hogy a vonalak azonos szintű ellipszis körbefordult, a kapcsolódó, egymásra merőleges irányban lesz csak.
Továbbra is látni kell, hogyan kell kiszámítani a konjugált irányokat. Az egyik lehetséges módja a lineáris algebra, különösen a Gramm-Schmidt ortogonalizációs eljárásának alkalmazása. De ehhez ismerni kell az A mátrixot, ezért a legtöbb probléma (például a többszintű neurális hálózatok megtanulása) ez a módszer nem megfelelő. Szerencsére vannak más, iteratív módszerek a konjugált irány kiszámítására, a leghíresebb a Fletcher-Reeves formula:
Egyenlet 5 azt jelenti, hogy az új irányt hozzáadásával kapott a konjugátum antigradient a fordulópont és a korábbi mozgás irányát, szorozva együttható képlettel számítottuk ki 6. Útvonal számítva 5 képlet, vannak konjugálva, ha a funkció minimalizálni kell határozza formájában 2. Azaz, kvadratikus a konjugált gradiensek módszere legalább n lépést talál (n a keresési tér dimenziója). Általános formájú függvények esetén az algoritmus megszűnik, és végül iteratív lesz. Ebben az esetben Fletcher és Reeves azt javasolja, hogy folytassák az algoritmikus eljárást minden n + 1 lépésben.
A konjugátum irányának, a Polak-Ribiere-képletnek egy további formula adható:
A Fletcher-Reeves módszer konvergál, ha a kiindulási pont elég közel van a szükséges minimumhoz, míg a Polak-Reiber-módszer ritkán ciklikusan ritkán ciklikusan ciklikus. Az utóbbi azonban gyorsabban konvergál, mint az első módszer. Szerencsére a Polak-Reiber módszer konvergenciáját a $ \ beta = \ max \ $ választásával lehet garantálni. Ez megegyezik egy algoritmus helyreállításával $ \ beta \ leq 0 $ feltétel mellett. Az algoritmikus eljárás újraindítása szükséges ahhoz, hogy elfelejtse az utolsó keresési irányt, és újra elindítsa az algoritmust a gyors leereszkedés irányába.
Ezután egy konjugált gradiens algoritmust mutatunk be, hogy minimálisra csökkentsük az általános alakzat (nem-párhuzamos) funkcióit.
- Az antigradíziót tetszőleges x (0) pontban számoljuk ki.
A fenti algoritmusból következik, hogy a 2. lépésben a függvény egydimenziós minimalizálása történik. Erre különösen a Fibonacci-módszer, az arany metszet módszer vagy a bisection módszer használható. A Newton-Raphson módszer gyorsabb konvergenciát biztosít, de erre szükség van a hesseni mátrix kiszámítására. Az utóbbi esetben az optimalizálást végző változó az iteráció minden egyes lépésénél a következő képlet segítségével számítható ki:
Néhány szó a konjugált irányú módszer használatáról a neurális hálózatok képzésében. Ebben az esetben a képzési időszakok, azaz a számítás a célfüggvény kerülnek bemutatásra az összes minta a tanító, és a számított átlagos négyzetes hiba függvény (vagy egyéb átalakítás is). Ugyanez történik a gradiens kiszámításakor is, azaz a teljes gradiens a teljes oktatási készletben történik. Az egyes példákhoz tartozó gradiens kiszámítása a BackProp algoritmussal történik.
A konjugátum irányának egy változata, a Fletcher-Reeves képlet segítségével konjugált irányok kiszámítására.
r: = -f '(x) // az objektív funkció antipódusa
d: = r // a lejtés kezdeti iránya egybeesik az antigradijenssel
Sigmanew. = r T * r // az antigradizáló modul négyszöge
// Keresési ciklus (számláló vagy hiba kimenet)
míg i
kezdődik
j. = 0
Sigmad. = d T * d
// Egydimenziós minimalizálási ciklus (d irányban)
ismétlés
a. =
x. = x + a
j. = j + 1
amíg (j> = jmax) vagy (2 * Sigmad <= Eps 2 )
r. = -f '(x) // az objektumfüggvény antigraditense az új pontban
Sigmaold. = Sigmanew
Sigmanew. = r T * r
béta. = Sigmanew / Sigmaold
d. = r + béta * d // A konjugált irány számítása
k. = k + 1
ha (k = n) vagy (r T * d <= 0) then // Рестарт алгоритма
kezdődik
d. = r
k. = 0
vég
A konjugátum gradiens eljárás egy elsőrendű módszer, míg konvergenciája négyzetes. Ez előnyösen eltér a szokásos gradiens módszerektől. Például, a legmeredekebb csökkenési eljárásával és a módszer a koordináta származású egy másodfokú függvénnyel konvergálnak csak a határt, míg a konjugált gradiens módszerrel, hogy optimalizálja a másodfokú függvény véges számú iteráció. Az általános forma funkcióinak optimalizálásakor a konjugált irányú módszer 4-5-ször gyorsabb, mint a legmeredekebb lefelé irányuló módszer. Ebben az esetben a másodrendű eljárásokkal ellentétben a második részleges származékok laboratóriumi számításai nem szükségesek.