Gradient Descent

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

Киришүү

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

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

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

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

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

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

Graph 1

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

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

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

Багыт

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

Graph 2

Graph 3

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

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

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

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

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

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

Эскертүү: \

Белгилүү x0x_{0} чекитиндеги функциянын тангенс сызыгынын эңкейиши ошол 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})

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

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

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

Кадамдар

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

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

Graph 4

Graph 5

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

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

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

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

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

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

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

кайда:

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

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

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

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

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

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

Викторина

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

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

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

  • dfdx_n=0\frac{\mathrm{d} f}{\mathrm{d} x\_{n}} = 0 болгондо. ХХХ

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

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

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

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

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

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

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

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


Мастер Data Science and AI менен Code Labs Academy! Биздин онлайн окуу лагерине кошулуңуз – Ийкемдүү жарым-жартылай жана толук убакыт опциялары бар.


Career Services background pattern

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

Contact Section background image

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

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