Įvadas
Įsivaizduokite, kad turime funkciją ir norėtume rasti jos minimumą. ka darytum tu?
Paprasta tiesa? Mums tereikia išspręsti šią lygtį:
Reikalas tas, kad rasti formulę ne visada lengva, nes jos būna labai sudėtingos, ypač gilaus mokymosi metu, kai susiduriame su sudėtingomis funkcijomis. Taigi turime rasti kitą metodą, kuris galėtų suteikti mums funkcijos minimumą, nerandant išvestinės formulės.
Sukurkime intuiciją
Tarkime, kad turime funkciją f su atitinkamu grafiku:
Pradėkime nuo atsitiktinio taško . Tikslas yra perkelti šį tašką ir padaryti jį vis arčiau , kad x*. Taigi problemą galima suskirstyti į dvi dalis:
-
Kuria kryptimi turėtume perkelti tašką ? Kairė ar dešinė?
-
Kiek turėtume jį perkelti?
Kryptis
Sukurkime intuiciją, kad galėtume atsakyti į pirmąjį klausimą. Pažvelkite į šį punktą:
Atkreipkite dėmesį, kad:
-
kai taškas yra į dešinę nuo optimalaus taško , jo liestinės linija pakyla aukštyn.
-
kai taškas yra į dešinę nuo optimalaus taško , jo liestinės linija nusileidžia.
Linijos kryptis nustatoma pagal jos nuolydžio ženklą:
-
Linija kyla aukštyn , nuolydis yra teigiamas.
-
Linija nusileidžia , nuolydis yra neigiamas.
Atkreipkite dėmesį, kad: \
Funkcijos liestinės linijos nuolydis tam tikrame taške yra ne didesnis kaip išvestinė tame taške :
Taigi kaip atsakymą į klausimą "Kur turėtume perkelti ?":
-
į dešinę nuo Turime perkelti į kairę.
-
kairėje nuo Turime perkelti į dešinę.
Žingsniai
Dabar antras klausimas: Kiek turėtume perkelti ?
Pažvelkite į šiuos pavyzdžius:
Galime daryti tokią išvadą:
-
yra artimas => liestinės nuolydis mažas => mažas.
-
yra nutolusi nuo => Liestinės nuolydis didelis => yra didelis.
Atsakydami į abu klausimus padarėme išvadą, kad tik žinios apie išvestinę taške gali suteikti mums daug informacijos apie optimalaus taško kryptį ir atstumą.
Gradiento nusileidimas
Gradiento nusileidimas yra dviejų ankstesnių klausimų atsakymų formulavimas. Tai optimizavimo iteracinis algoritmas, kuris apytiksliai apskaičiuoja minimalų funkcijos dydį, pradedant nuo atsitiktinio pradinio taško . Algoritmas nurodytas taip:
kur:
-
yra ne daugiau kaip išvestinė taške .
-
yra teigiama konstanta, kuri lemia, kokie dideli žingsniai bus.
Atkreipkite dėmesį, kad:
-
yra dešinėje nuo => => => juda į kairę.
-
yra kairėje nuo => => => juda į dešinę.
-
arti => arti => nedidelis .
Viktorina
– Kada gradiento nusileidimas nustoja kartotis:
– Kai yra pakankamai mažas.
– Kai yra arti .
– Kai . XXX
– Kaip pasirinkti :
– Renkamės atsitiktinai. XXX
- Paimame jį netoli .
– Tai priklauso nuo problemos.
- Kodėl mums reikia gradiento nusileidimo:
– Todėl, kad kompiuteriai nėra pakankamai galingi, kad skaičiuotų išvestines.
– Nes labai sunku rasti giluminio mokymosi modelių išvestines formules. XXX
– Kadangi funkcijos turi daugiau nei vieną vietinį minimumą.
Įvaldykite Data Science and AI su Code Labs Academy! Prisijunkite prie mūsų internetinės „Bootcamp“ – galimi lankstūs parinktys ne visą darbo dieną ir visą darbo dieną.