Градієнтний спуск і кон'югований градієнтний спуск


11

Для проекту я повинен реалізувати ці два методи та порівняти, як вони виконують різні функції.

Схоже, метод спряженого градієнта призначений для вирішення систем лінійних рівнянь для

Ax=b

Де - це матриця n-by-n, яка є симетричною, позитивно-визначеною та реальною.A

З іншого боку, коли я читаю про спуск градієнта, я бачу приклад функції Розенброк , яка є

f(x1,x2)=(1x1)2+100(x2x12)2

Як я це бачу, я не можу вирішити це методом спряженого градієнта. Або я щось сумую?

Відповіді:


14

Градіантний спуск і метод спряженого градієнта - це обидва алгоритми мінімізації нелінійних функцій, тобто таких функцій, як функція Розенброка

f(x1,x2)=(1x1)2+100(x2x12)2

або багатоваріантна квадратична функція (в даному випадку з симетричним квадратичним членом)

f(x)=12xTATAxbTAx.

Обидва алгоритми також ґрунтуються на ітераційному та пошуковому напрямку. Для решти цієї посади і d будуть векторами довжини n ; f ( x ) і α - скалари, а надписи позначають індекс ітерації. Спуск градієнта та метод спряженого градієнта можна використовувати для пошуку значення x ∗, яке вирішуєxdnf(x)αx

minf(x)

Обидва методи починаються з початкової здогадки, , а потім обчислюють наступну ітерацію, використовуючи функцію формиx0

xi+1=xi+αidi.

Словами, наступне значення знаходимо, починаючи з поточного місця і переміщуючись у напрямку пошуку на деяку відстань . В обох методах відстань для переміщення може бути знайдена шляхом пошуку рядка (мінімізуйте над ). Також можуть застосовуватися інші критерії. Там, де обидва способи відрізняються, це їх вибір . Для градієнтного методу . Для методу спряженого градієнта використовується процедура Грам-Шмідта для ортогоналізації векторів градієнта. Зокрема, , але тоді дорівнюєx i d i α i f ( x i + α i d i ) α i d i d i = - f ( x i ) d 0 = - f ( x 0 ) d 1 - f ( x 1 ) d 0 ( d 1 ) T d 0 = 0xxidiαif(xi+αidi)αididi=f(xi)d0=f(x0)d1f(x1) мінус проекція вектора на така що . Кожен наступний вектор градієнта ортогоналізований проти всіх попередніх, що призводить до дуже приємних властивостей для квадратичної функції вище.d0(d1)Td0=0

Вищеназвана квадратична функція (та пов'язані з нею формулювання) також відбувається звідки обговорення розв’язання за допомогою методу спряженого градієнта, оскільки мінімум цього досягається в точці де .f ( x ) x A x = bAx=bf(x)xAx=b


9

В цьому контексті обидва способи можна розглядати як проблеми мінімізації функції: Коли симетричний, то мінімізовано, коли .

ϕ(x)=12xTAxxTb
ϕ A x = bAϕAx=b

Спуск градієнта - це метод, який ітераційно шукає мінімізатор, дивлячись у напрямку градієнта. Кон'югатний градієнт схожий, але вказівки пошуку також повинні бути ортогональними один одному в тому сенсі, що .piTApj=0i,j

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.