11.07.2015 Views

Metody Gradientowe Metoda najszybszego spadku

Metody Gradientowe Metoda najszybszego spadku

Metody Gradientowe Metoda najszybszego spadku

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

<strong>Metody</strong> <strong>Gradientowe</strong>nW tym rozdziale bdziemy rozwaa metody poszukiwania dla funkcji z przestrzeni R owartociach rzeczywistych. <strong>Metody</strong> te wykorzystuj gradient funkcji jak równie wartocifunkcji.Przypomnijmy, czym jest zbiór poziomicowy dla funkcjiJest to zbiór tych punktów x , które spełniaj równanief : Rn → R .f ( x)= c , dla pewnej zadanej stałej c.Kierunek ∇ f (x)jest kierunkiem <strong>najszybszego</strong> wzrostu funkcji f w punkcie x.Kierunek – ∇ f (x)jest kierunkiem <strong>najszybszego</strong> <strong>spadku</strong> funkcji f w punkcie x.(0)Postpujemy wówczas nastpujco. Niech x bdzie punktem startowym i rozwamy punkt(0)(0)x − α ∇f ( x ) . Z rozwinicia Taylora otrzymujemy(0)(0)(0)(0) 2f ( x − α∇f( x )) = f ( x ) −α|| f ( x ) || + o(α).(0)Tak, wic jeeli ∇f ( x ) ≠ 0, wówczas dla odpowiednio małego α > 0 otrzymujemy(0)(0)f ( x − α ∇f( x )


αk= arg minα > 0f ( x( k )− α∇f( x( k))).Twierdzenie( k ) ∞Jeeli x } jest cigiem kroków <strong>spadku</strong> dla danej funkcji f : Rn → R,wówczas dla{k =0kadego k wektorx − x( k + 1) ( k )jest ortogonalny do wektoraDowódZ iteracyjnej formuły metody najwikszego <strong>spadku</strong> wynika, e< x− x, x− x>= α αx< ∇f( x− x( k + 2) ( k + 1)), ∇f( x( k + 1) ( k ) ( k + 2) ( k + 1)( k )( k + 1)k k + 1Aby dokoczy dowód wystarczy pokaza, e< ∇f( x( k )), ∇f( x( k + 1)) >= 0.) > .Zauwamy, e αkjest nieujemnym skalarem, który minimalizuje( k )( k )Φ ( α ) = f ( x − α∇f( x )) . Std wykorzystujc warunek konieczny istnienia ekstremumkotrzymujemy0 = Φ'k( α ) =dΦ= ( αk) =dα( k )(= ∇f( x − α∇f( x= − < ∇f( xk )))), ∇f( xT( k + 1)( k )i dowód jest kompletny.( −∇f( x) > .( k ))) =Twierdzenie( k ) ∞Jeeli x } jest sekwencj kroków metody najwikszego <strong>spadku</strong> dla funkcji f : Rn → R{k =0( k )( k + 1)koraz ∇f ( x ) ≠ 0 wówczas f ( x ) < f ( x ).Dowód:Na pocztku przypomnijmy( k + 1) ( k )( k )x = x − αk∇f( x ),gdzie α ≥ 0 jest punktem w którym realizowane jest minimum funkcjikΦTak, wic dla α ≥ 0 otrzymujemyk( α ) = ∇f( x− α∇f( x( k )( k )Φ ( α ) ≤ Φ ( α ).kkk))


Ze wzoru na pochodn funkcji złoonejΦ'kdΦk(0) = (0) = −(∇f( xdα( k )− 0∇f( xkT ())) ∇f( xk )) = − || ∇f( x( k )2) || < 0,kponiewa ∇f( x ) ≠ 0 z załoenia.Tak, wic co implikuje, e istnieje takie α > 0e Φ ( 0) > ( α ) dla wszystkich α ∈ ( 0, α ]. StdkΦ kco koczy dowód.k + 1)f ( x ) = Φ ( α ) ≤ Φ ( α ) < Φ(0)=f ( x( ( k )k k k)<strong>Metoda</strong> najwikszego <strong>spadku</strong> w przypadku funkcji kwadratowych w postaci:1 Tf ( x)= x Qx − b 2Txn×ngdzie Q ∈ R jest symetryczn, dodatnio okrelon macierz,Algorytm najmniejszego <strong>spadku</strong> dla funkcji kwadratowej:x= x− α g( k + 1) ( k ) ( k )k,nb ∈ R orazgdziek )g = ∇f ( x( ( k )),α = arg min f ( xkα ≥0( k )− αg( k )) =1 (arg min( ( xα ≥02k )− αg)( k ) TQ(x( k )− αg( k )) − ( x( k )− αg)( k ) Tb).Zatemx g ggQg ( k ) T ( k )( k + 1) ( k )( k )= x − g( k ) T ( k ),gdzieg( k )= ∇f( x( k )) = Qx( k )− b.ANALIZA METOD GRADIENTOWYCH<strong>Metoda</strong> najwikszego <strong>spadku</strong> jest przykładem algorytmu iteracyjnego. To znaczy, ealgorytm generuje cig punktów, kady z kolejnych jest obliczany na podstawie poprzedniego(bazowego).Mówimy, e iteracyjny algorytm jest zbieny, jeeli dla dowolnego punktu startowegoalgorytm generuje cig punktów zbieny do punktu spełniajcego warunek konieczny. Jeelialgorytm nie jest zbieny (globalnie zbieny), moe on by lokalnie zbieny tzn., jeeli punktstartowy znajduje si dostatecznie blisko punktu optymalnego, wówczas algorytm generuje


cig punktów zbiegajcy do punktu optymalnego. Jak blisko musi znajdowa si punktstartowy aby algorytm był zbieny lokalnie zley od własnoci lokalnej zbienoci algorytmu.Powizanym zagadnieniem jest równie szybko zbiegania algorytmu do rozwizania.Analiza zbienoci jest bardziej wygodna, jeeli zamiast zajmowa si funkcj f , zajmiemysi funkcj w postaciV ( x)=f ( x)+12x* TQx*=1(2x − x*)Tq(x − x*),gdzie Q = QT > 0.Punkt rozwizania* −1wic x = Q b.LematIteracyjny algorytm*x jest otrzymywany przez rozwizanieQx = b , takx= x−αg( k + 1) ( k ) ( k )kgdzieg( k )= Qx( k )− b spełniaV ( x) = (1 − γ ) V ( x( k + 1)( k )k),gdzieγkggQgQ ggggQg−α.( k ) T ( k )( k ) T ( k )= αk2( k ) T −1( k ) ( k ) T ( k ) kTwierdzenie(k )Niech { x } bdzie cigiem otrzymanym w wyniku zastosowania algorytmu gradientowegox= x− α g( k + 1) ( k ) ( k )kγ ≥ 0 dla wszystkich k.k(k )Wówczas { x } zbiega do punktugdy.Niech γkbdzie zdefiniowane jak w poprzednim lemacie, i przyjmijmy*x dla kadego punktu startowego(0)x wtedy i tylko wtedy, ∞k = 0γk= ∞.W kolejnych analizach wykorzystamy nierówno Rayleigh’a okrela, e dla kadegoQ = QT > 0 mamyλ ≤ λ2 T2min( Q)|| x || ≤ x Qxmax( Q)|| x ||


gdzie λ ( Q)oznacza minimaln warto własn macierzy Q natomiast λ ( Q ) oznaczaminmaksymaln warto własn macierzy Q . Dla Q = QT > 0 mamy równie−11λmin( Q ) = ,λ ( Q)orazLematλmin( Q−1λmax) || x ||2( Q≤ x−1Tmax1) = ,λ ( Q)Q−1minx ≤ λmax( Q−1) || x ||Niech Q = QT > 0 bdzie macierz symetryczna, rzeczywist, o wymiarze n × n , dodatniookrelon. Wówczas dla dowolnegonx ∈ R , mamy2.maxλλminmax( Q)( Q)( xT 2( x x)TQx)(x Q≤T− 1λ≤x)λmaxmin( Q).( Q)TwierdzenieW przypadku algorytmu najwikszego <strong>spadku</strong> mamy( ) *x k (0)→ x dla dowolnego punktu x .Dowód:Przypomnijmy, e dla metody <strong>najszybszego</strong> <strong>spadku</strong> mamyαk=gg( k ) T( k ) TgQg( k )( k ).Podstawiajc powysze wyraenie do wzoru na γkotrzymujemyγk=( g( k ) T( g(Qg( kk )) Tg)( g( k )( k )2)TQ−1g( k ).)Zauwamy, e w tym przypadku γ ≥ 0 dla kadego k.Co wicej, z poprzedniego lematukmamy γ ≥ λ ( Q) / λ ( Q))0.Tak, wic mamy γ = ∞,a z poprzedniegok(min max>( ) *twierdzenia wiemy, e wówczas x k → x . ∞ k=0k

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!