Gradienta nolaišanās

dziļa mācīšanās
matemātika
gradienta nolaišanās
Gradienta nolaišanās cover image

Ievads

Iedomājieties, ka mums ir funkcija f(x)f(x) un mēs vēlētos atrast tās minimumu. ko tu darītu?

Vienkārši vai ne? Mums ir jāatrisina tikai šāds vienādojums:

f(x)=0f'(x) = 0

Lieta tāda, ka ff' formulas atrašana ne vienmēr ir vienkārša, jo tās mēdz būt ārkārtīgi sarežģītas, it īpaši dziļās mācībās, kur mēs nodarbojamies ar sarežģītām funkcijām. Tāpēc mums ir jāatrod cita metode, kas var nodrošināt mums minimālo funkciju bez nepieciešamības atrast atvasinājuma ff' formulu.

Veidosim kādu intuīciju

Pieņemsim, ka mums ir funkcija f ar atbilstošo grafiku:

Graph 1

Sāksim ar nejaušu punktu x0x_{0}. Mērķis ir pārvietot šo punktu un padarīt to tuvāk un tuvāk xx* tā, lai f(f'(x*)=0) = 0. Tātad problēmu var iedalīt divās daļās:

  • Kurā virzienā jāpārvieto punkts xx ? Pa kreisi vai pa labi?

  • Cik mums tas jāpārvieto?

Virziens

Veidosim intuīciju, lai atbildētu uz pirmo jautājumu. Apskatiet šādu punktu:

Graph 2

Graph 3

Ņemiet vērā, ka:

  • ja punkts x0x_{0} atrodas pa labi no optimālā punkta xx*, tā pieskares līnija iet uz augšu.

  • ja punkts x0x_{0} atrodas pa labi no optimālā punkta xx*, tā pieskares līnija iet uz leju.

Līnijas virzienu nosaka tās slīpuma zīme:

  • Līnija iet uz augšu     \implies, slīpums aa ir pozitīvs.

  • Līnija iet uz leju     \implies, slīpums aa ir negatīvs.

Ņemiet vērā, ka: \

Funkcijas pieskares līnijas slīpums noteiktā punktā x0x_{0} nav lielāks par atvasinājumu šajā punktā f(x0)f'(x_{0}):

tangent(x0):g(x)=f(x0).(xx0)+f(x0)tangent(x*{0}): g(x) = f'(x*{0}).(x-x*{0}) + f(x*{0})

Tātad kā atbilde uz jautājumu "Kur mums vajadzētu pārvietot x0x_{0}?":

  • f(x0)<0f'(x_{0}) < 0     \implies x0x_{0} pa labi no xx*     \implies Mums ir jāpārvieto x0x_{0} pa kreisi.

  • f(x0)>0f'(x_{0}) > 0     \implies x0x_{0} pa kreisi no xx*     \implies Mums ir jāpārvieto x0x_{0} pa labi.

Soļi

Tagad par otro jautājumu Cik daudz mums vajadzētu pārvietot x0x_{0}?

Apskatiet tālāk norādītos piemērus.

Graph 4

Graph 5

Mēs varam secināt, ka:

  • x0x_{0} ir tuvu xx* => Pieskares slīpums ir mazs => f(x0)f'(x_{0}) ir mazs.

  • x0x_{0} ir tālu no xx* => Pieskares slīpums ir liels => f(x0)f'(x_{0}) ir liels.

Atbildot uz abiem jautājumiem, mēs secinājām, ka tikai zināšanas par atvasinājumu punktā x0x_{0} var sniegt mums lielu ieskatu par optimālā punkta x0x_{0} virzienu un attālumu.

Gradienta nolaišanās

Gradienta nolaišanās ir iepriekšējo divu jautājumu atbilžu formulējums. Tas ir optimizācijas iteratīvs algoritms, kas tuvina funkcijas minimālo vērtību xx*, sākot no nejauša sākuma punkta x0x_{0}. Algoritms ir norādīts šādi:

xn+1=xnlr×dfdx_nx*{n+1} = x*{n} - lr \times \frac{\mathrm{d} f}{\mathrm{d} x\_{n}}

kur:

  • dfdxn\frac{\mathrm{d} f}{\mathrm{d} x*{n}} ir ne vairāk kā ff atvasinājums punktā xnx*{n}.

  • lrlr ir pozitīva konstante, kas nosaka, cik lieli būs soļi.

Ņemiet vērā, ka:

  • xnx_{n} atrodas pa labi no xx* => dfdxn>0\frac{\mathrm{d} f}{\mathrm{d} x_{n}} > 0 => xn+1=xnpozitıˉvsx_{n+ 1} = x_{n} — pozitīvs => xnx_{n} pārvietojas pa kreisi.

  • xnx_{n} atrodas pa kreisi no xx* => dfdxn<0\frac{\mathrm{d} f}{\mathrm{d} x_{n}} < 0 => xn+1=xn+pozitıˉvsx*{n +1} = x*{n} + pozitīvs => xnx_{n} pārvietojas pa labi.

  • xnx_{n} tuvu xx* => dfdxn\frac{\mathrm{d} f}{\mathrm{d} x_{n}} tuvu 00 => neliels atjauninājums xnx_{ n}.

Viktorīna

  • Kad gradienta nolaišanās pārtrauc atkārtošanos:

  • Kad xnx_{n} ir pietiekami mazs.

  • Ja xnx_{n} ir tuvu x0x_{0} .

  • Kad dfdx_n=0\frac{\mathrm{d} f}{\mathrm{d} x\_{n}} = 0 . XXX

- Kā mēs izvēlamies x0x_{0}:

  • Mēs to izvēlamies nejauši. XXX

  • Mēs to uzņemam xnx{n} apkārtnē.

  • Tas ir atkarīgs no problēmas.

  • Kāpēc mums ir nepieciešama gradienta nolaišanās:

  • Tāpēc, ka datori nav pietiekami jaudīgi, lai aprēķinātu atvasinājumus.

  • Jo ir ārkārtīgi grūti atrast dziļās mācīšanās modeļu atvasinājumu formulas. XXX

  • Tā kā funkcijām ir vairāk nekā viens lokālais minimums.


Career Services background pattern

Karjeras pakalpojumi

Contact Section background image

Sazināsimies

Code Labs Academy © 2024 Visas tiesības paturētas.