Gradientní sestup

Z testwiki
Skočit na navigaci Skočit na vyhledávání
Gradientní sestup a vrstevnice minimalizované funkce

Gradientní sestup (anglicky gradient descent) je iterativní optimalizační algoritmus prvního řádu pro nalezení lokálního minima diferencovatelné funkce. Myšlenkou metody je posouvat se z výchozího bodu po krocích vždy v opačném směru gradientu (nebo přibližného gradientu) funkce v daném bodě, protože to je směr nejstrmějšího klesání její hodnoty. Naopak krokování ve směru gradientu povede k lokálnímu maximu této funkce; postup je pak známý jako gradientní výstup.

Algoritmus se přičítá Cauchymu, který ho poprvé zmínil v roce 1847, ale jeho konvergenční vlastnosti pro nelineární optimalizační problémy byly poprvé studovány Haskellem Currym v roce 1944.

Gradientní sestup je spojitou analogií metody hill-climbing (gradientní algoritmus). Sám je základem dalších metod, zejména algoritmu zpětného šíření chyby používaného pro učení umělých neuronových sítí.

Popis

Gradientní sestup je založen na pozorování, že pokud je funkce více proměnných F(𝐱) definována a diferencovatelná v sousedství bodu 𝐚, pak F(𝐱) klesá nejrychleji, pokud se jde z 𝐚 ve směru záporného gradientu F v 𝐚,F(𝐚) . Z toho vyplývá, že se v řadě iterací z 𝐚𝐧 posuneme k nižší hodnotě funkce F(𝐱) v bodě 𝐚𝐧+𝟏, pokud

𝐚n+1=𝐚nγF(𝐚n)

pro γ+ dost malé, aby platilo F(𝐚𝐧)F(𝐚𝐧+𝟏). Jinými slovy člen γF(𝐚) odčítáme od 𝐚, protože se chceme pohybovat proti nejstrmějšímu nárůstu směrem k lokálnímu minimu. Vyjděme tedy z libovolného (náhodně nebo záměrně zvoleného) bodu 𝐱0, v němž je F definovaná a diferencovatelná, a zvažujme posloupnost 𝐱0,𝐱1,𝐱2, definovanou jako

𝐱n+1=𝐱nγnF(𝐱n), n0.

Ta odpovídá monotónní posloupnosti

F(𝐱0)F(𝐱1)F(𝐱2),

takže lze doufat, že (𝐱n) dokonverguje k nějakému lokálnímu minimu F (pokud nebude divergovat k minus nekonečnu, což by znamenalo nalezení globálního infima F, anebo pokud se v některém kroku nedostaneme mimo oblast, kde je F definovaná či „pěkná“). Všimněte si, že hodnota velikosti kroku γ se může měnit při každé iteraci. S určitými předpoklady o funkci F – například F lokálně konvexní a F lipschitzovská – a o algoritmu výběru γ – např. Barzilaiovou-Borweinovou metodou[1]

γn=|(𝐱n𝐱n1)T[F(𝐱n)F(𝐱n1)]|F(𝐱n)F(𝐱n1)2

– lze zaručit konvergenci na lokální minimum. Pokud je funkce F konvexní, lze zaručit nalezení globálního řešení.

Gradientní sestup funguje v prostorech libovolné dimenze, dokonce i v nekonečněrozměrných prostorech. V tom případě se obvykle prohledává nějaký prostor funkcí a počítá se Fréchetova derivace funkcionálu, který se má minimalizovat, aby se určil směr sestupu.[2]

Reference

Šablona:Překlad

Externí odkazy

Šablona:Autoritní data