Градиенттин түшүүсү

терең үйрөнүү
математика
градиент түшүү
Градиенттин түшүүсү cover image

Киришүү

Элестеткиле, бизде $f(x)$ функциясы бар жана биз анын минимумун тапкыбыз келет. Эмне кылмаксыз?

Жөнөкөй туурабы? Бизге төмөнкү теңдемени гана чечиш керек:

$$f'(x) = 0$$

Эң негизгиси $f'$ формуласын табуу дайыма эле оңой боло бербейт, анткени алар өтө татаал, өзгөчө терең үйрөнүүдө биз татаал функциялар менен алектенебиз. Демек, $f'$ туундусунун формуласын табууга муктаж болбостон, функциянын минимумун камсыз кыла турган башка ыкманы табышыбыз керек.

Бир аз интуиция түзөлү

Тиешелүү графиги бар f функциясы бар дейли:

Graph 1

$x_{0}$ кокустук чекити менен баштайлы. Максат бул чекитти жылдыруу жана аны $f'($x*$) = 0$ боло тургандай кылып $x*$га жакындатуу. Ошентип, маселени эки бөлүккө бөлүүгө болот:

  • $x$ чекитинин кайсы тарапка жылдырылышы керек? Солбу же оңбу?

  • Аны канча жылдырышыбыз керек?

Багыт

Биринчи суроого жооп берүү үчүн бир аз интуиция түзөлү. Төмөнкү пунктту карап көрүңүз:

Graph 2

Graph 3

Белгилей кетчү нерсе:

  • $x_{0}$ чекити оптималдуу $x*$ чекитинин оң жагында болгондо, анын тангенс сызыгы жогору көтөрүлөт.

  • $x_{0}$ чекити оптималдуу $x*$ чекитинин оң жагында болгондо, анын тангенс сызыгы төмөндөйт.

Сызыктын багыты анын эңкейиш белгиси менен аныкталат:

  • Сызыктын жогору көтөрүлүшү $\кеңешинин $a$ оң экендигин билдирет.

  • Төмөн сызык $\накайда $a$ терс болот.

Эскертүү: \

Белгилүү $x_{0}$ чекитиндеги функциянын тангенс сызыгынын эңкейиши ошол $f'(x_{0})$ чекитиндеги туундудан ашпайт:

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

Ошентип, "$x_{0}$ кайда жылдырышыбыз керек?" деген суроого жооп катары:

  • $f'(x_{0}) < 0$ $\implies$ $x_{0}$ $x*$ оң жагында $\implies$ Биз $x_{0}$ солго жылдырышыбыз керек.

  • $f'(x_{0}) > 0$ $\implies$ $x_{0}$ $x*$ сол жагына $\implies$ Биз $x_{0}$ оңго жылдырышыбыз керек.

Кадамдар

Эми экинчи суроого, $x_{0}$ канчага жылдырышыбыз керек?

Төмөнкү мисалдарды карап көрүңүз:

Graph 4

Graph 5

Биз төмөнкүдөй жыйынтык чыгарсак болот:

  • $x_{0}$ $x*$ жакын => Тангенстин эңкейиши кичине => $f'(x_{0})$ кичине.

  • $x_{0}$ $x*$дан алыс => Тангенстин эңкейиши чоң => $f'(x_{0})$ чоң.

Эки суроого тең жооп берип, биз $x_{0}$ чекитиндеги туундуну билүү гана $x_{0}$ оптималдуу чекитинин багыты жана алыстыгы жөнүндө көп түшүнүк бере алат деген жыйынтыкка келдик.

Градиенттин түшүүсү

Градиенттин түшүүсү - бул мурунку эки суроонун жооптору. Бул $x_{0}$ кокус баштапкы чекитинен баштап функциянын минималдуу $x*$ өлчөмүнө жакындаган оптималдаштыруунун итеративдик алгоритми. Алгоритм төмөнкүчө чагылдырылган:

$$ x*{n+1} = x*{n} - lr \times \frac{\mathrm{d} f}{\mathrm{d} x_{n}} $$

кайда:

  • $ \frac{\mathrm{d} f}{\mathrm{d} x*{n}} $ $x*{n}$ чекитиндеги $f$ туундусунан көп эмес.

  • $lr$ кадамдардын канчалык чоң болорун аныктаган оң константа.

Көңүл буруңуз:

  • $x_{n}$ $x*$ оң жагында => $\frac{\mathrm{d} f}{\mathrm{d} x_{n}} > 0 $ => $ x_{n+ 1} = x_{n} - оң $ => $x_{n}$ солго жылат.

  • $x_{n}$ $x*$ сол жагында => $\frac{\mathrm{d} f}{\mathrm{d} x_{n}} < 0$ => $ x*{n +1} = x*{n} + оң $ => $x_{n}$ оңго жылат.

  • $x_{n}$ жакын $x*$ => $\frac{\mathrm{d} f}{\mathrm{d} x_{n}}$ $0$га жакын => $x_{ чейин кичине жаңыртуу n}$.

Викторина

  • Градиенттин түшүүсү итерацияны качан токтотот:

  • $x_{n}$ жетиштүү кичине болгондо.

  • $x_{n}$ $x_{0}$ жакын болгондо.

  • $\frac{\mathrm{d} f}{\mathrm{d} x_{n}} = 0 $ болгондо. ХХХ

  • $x_{0}$ кантип тандайбыз:

  • Кокус тандап алабыз. ХХХ

  • Биз аны $x{n}$ жакын жерде алабыз.

  • Бул маселеге жараша болот.

  • Эмне үчүн бизге градиенттүү түшүү керек:

  • Анткени туундуларды эсептөөгө компьютерлердин күчү жетпейт.

  • Анткени терең үйрөнүү моделдеринин туунду формулаларын табуу өтө кыйын. ХХХ

  • Анткени функцияларда бирден ашык локалдык минимум бар.


Career Services background pattern

Карьера кызматтары

Contact Section background image

байланышта бололу

Code Labs Academy © 2024 Бардык укуктар корголгон.