• Gå direkte til primær navigation
  • Skip til indhold

Kausa

Samfundsanalyser

  • Forside
  • Dataoversigt
  • Økonomi
  • Machine Learning
  • Statistik
  • Kontakt
Du er her: Forside / Statistik / Stokastisk gradient decent

Stokastisk gradient decent

22/05/2019 By Lasse Lundqvist Skriv kommentar

Læsetid: 2 minutter

SGD er en optimeringsmetode, som optimerer enkelte dataudtag af gangen til forskel fra gradient decent (GD). Dette gør optimeringen væsentlig hurtigere og kræver færre computerkrafter. En typisk GD algoritme kan beskrives ved formlen:$ latex \theta=\theta-\alpha \nabla_{\theta} E[L(\theta)] $
GD-algoritmen opdaterer parameteren $ latex \theta$ i forhold til en omkostningsfunktion $L(\theta)$, som approksimeres på baggrund af omkostningen og gradienten for det fulde træningsæt. Imens, benytter SGD kun et eller få dataudtræk af gangen til udregningen af gradienten for parametrene:
$ \theta=\theta-\alpha \nabla_{\theta} L\left(\theta ; x^{(i)}, y^{(i)}\right)
$
Hvor $ \left(x^{(i)}, y^{(i)}\right)$ er et eksempel på et par fra træningsættet og $\alpha$ er indlæringsraten.
Et mindre dataudtræk af $m$ observertioner ${x^1,\dots,x^m}$ med korresponderende mål $y^i$, udtrækkes fra træningssættet og vægtene opdateres ved en negativ gradient ved brug af (24).\
På den måde sker hver opdatering af parameteren $\theta$ ved brug af et mindre udtræk fra træningsdataen. Dette leder dog til øget varians i opdateringsprocessen, men i praksis sker udregningerne væsentlig hurtigere sammenlignet med (\ref{7}).
Indlæringsraten $\alpha$ bestemmes i praksis ikke som en konstant værdi, men falder over tid når træningen påbegyndes. Det betyder altså at indlæringsraten $\alpha$ påvirkes af antallet af gentagelser og derfor defineres som $\alpha_k$, hvor $k$ angiver antallet af gentagelser (epochs).

Figure 1: Trinstørrelse og aftagningsrate

Den blå linje (repræsenterer en konstant konvergensrate) konvergerer imod et optima, men trinstørrelsen er for stor omkring toppen. Den grønne linje (repræsenterer aftagende konvergensrate) konvergerer mere jævnt mod optima og kommer derved tættere på optima (Toppen). Kilde: Egen figur.

For at sørge for, at SGD konvergere effektiv mod et globalt minima jf. figur 1, og ikke sidder fast, skal indlæringsraten overholde en række betingelser:
$ \sum^\infty_{k=1}\alpha_k=\infty, \quad \text{og} \quad \sum^\infty_{k=1}\alpha_k^2<\infty $
Hastigheden som indlæringsraten falder med er ofte lineært bestemt:
$ \alpha_k=(1-\beta) \alpha_0+\beta \alpha_\tau $
hvor $\beta=\frac{k}{\tau}$ og $\tau$ angiver den endelige gentagelse.
Når træningen begynder, vil en høj indlæringsrate hjælpe algoritmen med at konvergere hurtigere imod ekstremaet, men på et vist tidspunkt vil de store spring gøre, at algoritmen oscillerer rundt om ekstremaet og aldrig konvergere rigtigt mod den optimale værdi.

Skrevet i: Machine Learning, Statistik

Lasse Lundqvist

Lasse Lundqvist er stud.polit ved Københavns Universitet. Lasse har han en stor interesse for programmering, kausalanalyser og musik mm. og hvordan man bl.a. kan bruge dataanalyse til at sætte en ny vinkel på div. emner.

Læserinteraktioner

Skriv et svar Annuller svar

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *

Copyright © 2023