MO Moduł 5: Różnice pomiędzy wersjami
Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwania
Nie podano opisu zmian |
Nie podano opisu zmian |
||
Linia 36: | Linia 36: | ||
{| border="0" cellpadding="4" width="100%" | {| border="0" cellpadding="4" width="100%" | ||
|width="500px" valign="top"|[[Grafika:MO_M5_Slajd6.png|thumb|500px]] | |width="500px" valign="top"|[[Grafika:MO_M5_Slajd6.png|thumb|500px]] | ||
|valign="top"|Przeanalizujmy teraz sposób pierwszy, zakładający kompletną niewiedzę o kształcie funkcji wyboru. Oznacza to że z punktów kuli, zaczepionej w „bieżącym” punkcie x^{(k)} Algorytm musi wybrać pewną próbę, np. tworząc wielowymiarową siatkę i jej węzły uznać za próbę (podejście deterministyczne), czy też wygenerować próbę losowo, bacząc aby była rozłożona równomiernie (podejście probabilistyczne). | |valign="top"|Przeanalizujmy teraz sposób pierwszy, zakładający kompletną niewiedzę o kształcie funkcji wyboru. Oznacza to że z punktów kuli, zaczepionej w „bieżącym” punkcie <math>x^{(k)}</math> Algorytm musi wybrać pewną próbę, np. tworząc wielowymiarową siatkę i jej węzły uznać za próbę (podejście deterministyczne), czy też wygenerować próbę losowo, bacząc aby była rozłożona równomiernie (podejście probabilistyczne). | ||
|} | |} | ||
Linia 44: | Linia 44: | ||
|width="500px" valign="top"|[[Grafika:MO_M5_Slajd7.png|thumb|500px]] | |width="500px" valign="top"|[[Grafika:MO_M5_Slajd7.png|thumb|500px]] | ||
|valign="top"|Algorytm może być: | |valign="top"|Algorytm może być: | ||
* ostrożny (wiem, że schody opadają w prawo, schodzę w prawo jeden stopień)i przyjąć <math>x^{M(k)}< | *'''ostrożny''' (wiem, że schody opadają w prawo, schodzę w prawo jeden stopień) i przyjąć <math>x^{M(k)}</math> za środek nowego otoczenia | ||
<math>x^{(k+1)}=x^{M(k)}=\alpha (x^{M(k)}-x^{(k)})+x^{(k)}, \alpha=1</math> | <math>x^{(k+1)}=x^{M(k)}=\alpha (x^{M(k)}-x^{(k)})+x^{(k)}, \alpha=1</math> | ||
a następnie przeszukiwać je tak jak poprzednio. | a następnie przeszukiwać je tak jak poprzednio. | ||
Linia 56: | Linia 54: | ||
|width="500px" valign="top"|[[Grafika:MO_M5_Slajd8.png|thumb|500px]] | |width="500px" valign="top"|[[Grafika:MO_M5_Slajd8.png|thumb|500px]] | ||
|valign="top"|Algorytm może być też: | |valign="top"|Algorytm może być też: | ||
*odważny (wiem, że schody opadają w prawo, skaczę kilka stopni w prawo) | *'''odważny''' (wiem, że schody opadają w prawo, skaczę kilka stopni w prawo) i przesunąć środek kuli poszukiwań wzdłuż kierunku wyznaczonego przez różnicę wektorów <math>x^{M(k)}-x^{k}=d</math> , tzn. ustalić środek nowej kuli w punkcie | ||
<math>x^{M(k)}=\alpha (x^{M(k)}-x^(k))+x^{(k)}, \alpha>1</math> | <math>x^{M(k)}=\alpha (x^{M(k)}-x^(k))+x^{(k)}, \alpha>1</math> | ||
|} | |} | ||
Linia 146: | Linia 141: | ||
Kroki algorytmu | Kroki algorytmu | ||
#Dla punktu <math>x^{(k)}</math> wyznacz model | #Dla punktu <math>x^{(k)}</math> wyznacz model <math>f_M(\cdot; x^{(k)})</math> funkcji celu w jego otoczeniu. | ||
#Znajdź przybliżenie punktu <math>\tilde{x}^{(k)}</math> | #Znajdź przybliżenie punktu <math>\tilde{x}^{(k)}</math> | ||
#Sprawdź czy wielkość obszaru zaufania została wybrana właściwie. Jeżeli tak, podstaw <math>\tildex^{(k)}:={x}^{(k)}</math> , idź do 5. W przeciwnym przypadku idź do 4. | #Sprawdź czy wielkość obszaru zaufania została wybrana właściwie. Jeżeli tak, podstaw <math>\tildex^{(k)}:={x}^{(k)}</math> , idź do 5. W przeciwnym przypadku idź do 4. | ||
#Zmniejsz obszar zaufania do TS, podstaw <math>T(x^{(k)}) := TS</math>, idź do 2. | #Zmniejsz obszar zaufania do TS, podstaw <math>T(x^{(k)}) := TS</math>, idź do 2. | ||
#Jeżeli spełnione jest kryterium stopu, to<math> x^{(k)}</math> przyjmij za rozwiązanie i stop. W przeciwnym przypadku idź do 6. | #Jeżeli spełnione jest kryterium stopu, to <math>x^{(k)}</math> przyjmij za rozwiązanie i stop. W przeciwnym przypadku idź do 6. | ||
#Sprawdź czy należy powiększyć obszar zaufania do TL. Jeżeli tak, podstaw | #Sprawdź czy należy powiększyć obszar zaufania do TL. Jeżeli tak, podstaw <math>T(x^{(k)}) := TL</math>, idź do 7. W przeciwnym przypadku idź do 7. | ||
<math>T(x^{(k)}) := TL</math>, idź do 7. W przeciwnym przypadku idź do 7. | |||
#Podstaw k := k + 1, idź do 1. | #Podstaw k := k + 1, idź do 1. | ||
Wyjaśnień wymagają kroki 2, 3, 6 i oczywiście kryterium stopu | Wyjaśnień wymagają kroki 2, 3, 6 i oczywiście kryterium stopu. | ||
|} | |} |
Wersja z 14:07, 3 paź 2006
![]() |
![]() |
![]() |
![]() |
![]() |
Algorytm może być:
a następnie przeszukiwać je tak jak poprzednio. |
![]() |
![]() |
Większość algorytmów deterministycznych poszła w zapomnienie, ale do dzisiaj jest używany algorytm wymyślony przez:
J. A. Neldera i R. Meada i opublikowany w 1965 r. |
![]() |
Dla funkcji kwadratowej algorytm Neldera i Meada zachowuje się bardzo ładnie. |
![]() |
Metody oparte na takim rozumowaniu od połowy lat dziewięćdziesiątych XX w nazywa się:
Metodami obszaru zaufania (Trust region methods) |
![]() |
![]() |
![]() |
Tu oczywistym pomysłem jest wykorzystanie rozważań teoretycznych, pokazujących związek kierunku poprawy z gradientem (lemat 4.3).
Algorytm będzie zatem wykorzystywał: Metody kierunków poprawy |
![]() |
![]() |
![]() |
![]() |
Teraz zauważmy tylko, że test stopu powinien zawierać dwa warunki: jeden badający “optymalność” kolejnego punktu, a drugi określający maksymalną liczbą iteracji. |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |