Zejście gradientowe i zejście gradientowe sprzężone

11

W przypadku projektu muszę zaimplementować te dwie metody i porównać ich działanie na różnych funkcjach.

Wygląda na to, że metoda gradientu sprzężonego służy do rozwiązywania układów równań liniowych for

Ax=b

Gdzie jest macierzą n-na-n, która jest symetryczna, dodatnia i rzeczywista.A

Z drugiej strony, kiedy czytam o spadku gradientu , widzę przykład funkcji Rosenbrocka , którą jest

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

Moim zdaniem nie mogę tego rozwiązać metodą gradientu sprzężonego. Czy coś mi umknęło?

Philipp
źródło

Odpowiedzi:

14

Obniżanie gradientu i metoda gradientu sprzężonego to algorytmy minimalizujące funkcje nieliniowe, to znaczy funkcje takie jak funkcja Rosenbrocka

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

lub wielowymiarowa funkcja kwadratowa (w tym przypadku z symetrycznym wyrażeniem kwadratowym)

f(x)=12xTATAxbTAx.

Oba algorytmy są również iteracyjne i oparte na kierunkach wyszukiwania. W pozostałej części tego postu i będą wektorami o długości ; i są skalarami, a indeksy górne oznaczają indeks iteracji. Zejście gradientu i metodę gradientu sprzężonego można użyć do znalezienia wartości która rozwiązujed n f ( x ) α x xdnf(x)αx

minf(x)

Obie metody zaczynają się od wstępnego odgadnięcia , a następnie obliczają następną iterację przy użyciu funkcji formularzax0

xi+1=xi+αidi.

Innymi słowy, następną wartość można znaleźć, rozpoczynając od bieżącej lokalizacji , i przesuwając się w kierunku wyszukiwania na pewną odległość . W obu metodach odległość do przesunięcia można znaleźć poprzez wyszukiwanie linii (minimalizuj ponad ). Można również zastosować inne kryteria. Różnice między tymi dwiema metodami polegają na wyborze . W przypadku metody gradientowej . W przypadku metody gradientu sprzężonego do ortogonalizacji wektorów gradientu stosowana jest procedura Grahm-Schmidta. W szczególności , ale wtedy jest równex i d i α i f ( x i + α i d i ) α i d ixxidiαif(xi+αidi)αidid 0 = - f ( x 0 ) d 1 - f ( x 1 ) d 0 ( d 1 ) T d 0 = 0di=f(xi)d0=f(x0)d1f(x1) minus rzut tego wektora na tak, że . Każdy kolejny wektor gradientowy jest ortogonalizowany względem wszystkich poprzednich, co prowadzi do bardzo dobrych właściwości powyższej funkcji kwadratowej.d0(d1)Td0=0

Powyższa funkcja kwadratowa (i powiązane sformułowania) ma również miejsce, gdy pochodzi dyskusja na temat rozwiązywania przy użyciu metody gradientu sprzężonego, ponieważ minimum tej osiąga się w punkcie gdzie .f ( x ) x A x = bAx=bf(x)xAx=b

Elaine Hale
źródło
9

W tym kontekście obie metody można traktować jako problemy z minimalizacją funkcji: Gdy jest symetryczny, to jest zminimalizowane, gdy .AϕAx=b

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

Zejście gradientu to metoda, która iteracyjnie szuka minimalizatora, patrząc w kierunku gradientu. Gradient sprzężony jest podobny, ale kierunki wyszukiwania również muszą być względem siebie ortogonalne w tym sensie, że .piTApj=0i,j

Bill Barth
źródło