Jaitsiera Gradientea
Eguneratua November 15, 2024 3 Irakurri minutuak

Sarrera
Imajinatu $f(x)$ funtzio bat dugula eta bere minimoa aurkitu nahiko genukeela. Zer egingo zenuke?
Sinplea ezta? Ekuazio hau ebatzi besterik ez dugu egin behar:
$$f’(x) = 0$$
Kontua da $f’$-ren formula aurkitzea ez dela beti erraza izaten, oso konplikatuak izan ohi direlako batez ere ikaskuntza sakonean, non funtzio konplexuak lantzen ditugun. Beraz, $f’$ deribatuaren formula aurkitu beharrik gabe funtzio baten minimoa eman diezagukeen beste metodo bat bilatu behar dugu.
Eraiki dezagun intuizio pixka bat
Demagun f funtzio bat dugula dagokion grafikoarekin:
Has gaitezen zorizko puntu batekin $x_{0}$. Helburua puntu hau mugitzea eta $x*$-ra gero eta hurbilago egitea da, hala nola $f’($x*$) = 0$. Beraz, arazoa bi zatitan bana daiteke:
-
Zein norabidetan mugitu behar dugu $x$ puntua ? Ezkerra ala eskuinera?
-
Zenbat mugitu behar dugu?
Norabidea
Eraiki dezagun intuizio pixka bat lehen galderari erantzuteko. Begiratu hurrengo puntuari:
Kontuan izan:
-
$x_{0}$ puntua $x*$ puntu optimoaren eskuinaldean dagoenean bere zuzen ukitzailea gora doa.
-
$x_{0}$ puntua $x*$ puntu optimoaren eskuinaldean dagoenean bere zuzen ukitzailea behera egiten du.
Zuzen baten norabidea bere maldaren zeinuaren arabera zehazten da:
-
Lerro batek gora $\inplikatzen du $a$ malda positiboa dela.
-
Lerro batek $\implitus$ behera doa $a$ malda negatiboa dela.
Kontuan izan: \
$x_{0}$ puntu jakin batean funtzio baten zuzen ukitzailearen malda ez da $f’(x_{0})$ puntu horretako deribatua baino gehiago:
$$ tangent(x*{0}): g(x) = f’(x*{0}).(x-x*{0}) + f(x*{0}) $$
Beraz, “Nora eraman behar dugu $x_{0}$?” galderari erantzunez:
-
$f’(x_{0}) < 0$ $\implies$ $x_{0}$ $x*$ $\implies$ $x_{0}$ ezkerrera eraman behar dugu.
-
$f’(x_{0}) > 0$ $\implies$ $x_{0}$ $x*$ren ezkerrean $\implies$ $x_{0}$ eskuinera mugitu behar dugu.
Urratsak
Orain bigarren galderari, Zenbat mugitu behar dugu $x_{0}$?
Begiratu adibide hauei:
Ondorioztatu dezakegu:
-
$x_{0}$ $x*$tik gertu dago => Ukitzailearen malda txikia da => $f’(x_{0})$ txikia da.
-
$x_{0}$ $x*$tik urrun dago => Ukitzailearen malda handia da => $f’(x_{0})$ handia da.
Bi galderei erantzunez, $x_{0}$ puntuko deribatuaren ezagutzak bakarrik $x_{0}$ puntu optimoaren norabideari eta distantziari buruzko argibide asko eman diezagukeela ondorioztatu dugu.
Jaitsiera desnibela
Jaitsiera gradientea aurreko bi galderen erantzunen formulazioa da. Optimizazio-algoritmo iteratibo bat da, $x_{0}$ ausazko hasierako puntutik hasita funtzioaren gutxieneko $x*$ gutxi gorabehera. Algoritmoa honela adierazten da:
$$ x*{n+1} = x*{n} - lr \times \frac{\mathrm{d} f}{\mathrm{d} x_{n}} $$
non:
-
$ \frac{\mathrm{d} f}{\mathrm{d} x*{n}} $ ez da $f$-ren deribatua baino $x*{n}$ puntuan.
-
$lr$ urratsak zenbaterainokoak izango diren zehazten duen konstante positiboa da.
Kontuan izan:
-
$x_{n}$ $x*$ren eskuinean dago => $\frac{\mathrm{d} f}{\mathrm{d} x_{n}} > 0 $ => $ x_{n+ 1} = x_{n} - $ positiboa => $x_{n}$ ezkerrera mugitzen da.
-
$x_{n}$ $x*$ren ezkerrean dago => $\frac{\mathrm{d} f}{\mathrm{d} x_{n}} < 0$ => $ x*{n +1} = x*{n} + $ positiboa => $x_{n}$ eskuinera mugitzen da.
-
$x_{n}$ $x*$tik gertu => $\frac{\mathrm{d} f}{\mathrm{d} x_{n}}$ $0$tik gertu => $x_{ren eguneraketa txikia n}$.
Galdetegia
-
Noiz gelditzen da desnibela jaitsierak errepikatzea:
-
$x_{n}$ nahikoa txikia denean.
-
$x_{n}$ $x_{0}$tik gertu dagoenean.
-
$\frac{\mathrm{d} f}{\mathrm{d} x_{n}} = 0 $ denean. XXX
-
Nola aukeratzen dugu $x_{0}$:
-
Ausaz hautatzen dugu. XXX
-
$x_{n}$-ren inguruan hartzen dugu.
-
Arazoaren araberakoa da.
-
Zergatik behar dugu malda jaitsiera:
-
Ordenagailuak ez direlako deribatuak kalkulatzeko adina indartsu.
-
Ikaskuntza sakoneko ereduen formula deribatuak aurkitzea oso zaila delako. XXX
-
Funtzioek tokiko minimo bat baino gehiago dituztelako.
- Master Datu Zientzia eta AI Code Labs Academy-rekin! Sartu gure lineako Bootcamp - Lanaldi partzialeko eta lanaldi osoko aukera malguak eskuragarri.*