Градіантний спуск і метод спряженого градієнта - це обидва алгоритми мінімізації нелінійних функцій, тобто таких функцій, як функція Розенброка
f(x1,x2)=(1−x1)2+100(x2−x21)2
або багатоваріантна квадратична функція (в даному випадку з симетричним квадратичним членом)
f(x)=12xTATAx−bTAx.
Обидва алгоритми також ґрунтуються на ітераційному та пошуковому напрямку. Для решти цієї посади і 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)d1−∇f(x1) мінус проекція вектора на така що . Кожен наступний вектор градієнта ортогоналізований проти всіх попередніх, що призводить до дуже приємних властивостей для квадратичної функції вище.d0(d1)Td0=0
Вищеназвана квадратична функція (та пов'язані з нею формулювання) також відбувається звідки обговорення розв’язання за допомогою методу спряженого градієнта, оскільки мінімум цього досягається в точці де .f ( x ) x A x = bAx=bf(x)xAx=b