Jaki jest najlepszy sposób na zainicjowanie simpleksa do użycia w wyszukiwaniu simpleks Nelder-Mead z wierzchołka "zgadywania" użytkownika?Wybór początkowego simpleksa w algorytmie optymalizacji Neldera-Meada
Odpowiedz
Nie jestem pewien, czy istnieje najlepsza metoda:, aby wybrać początkowy simplex w metodzie Neldera-Meada, ale poniżej jest to, co się robi w powszechnej praktyce.
Konstrukcja początkowej simplex S
uzyskuje się od generowania n+1
wierzchołki x0,..,xn
wokół tego, co nazywasz użytkownika „odgadnąć” wierzchołek xin
w N
przestrzeni trójwymiarowej. Najczęstszym wybór
x0=xin
a pozostałe n
wierzchołki są wtedy generowane tak, że
xj=x0+hj*ej
gdzie ej
jest wektorem jednostkowym z j
-ty osi współrzędnych R^n
i hj
jest według etapu rozmiar w kierunku ej
.
hj = 0.05 if (x0)j is non-zero
hj = 0.00025 if (x0)j=0
z (x0) j j-ty komponentem x0. Zauważ, że jest to wybór w rutynowej procedurze Matlaba fminsearch, która jest oparta na schemacie Neldera-Meada.
można znaleźć więcej informacji w
myślę, nie istnieje ogólna zasada, aby ustalić najlepszy początkowy simplex optymalizacji Nelder-Mead, ponieważ wymaga to co najmniej niejasne znajomości odpowiedzi powierzchnia.
Jednak rozsądnym rozwiązaniem może być ustalanie punktów w taki sposób, aby simpleks obejmował praktycznie cały możliwy zakres. Algorytm Neldera-Meada zmniejszy się automatycznie o jeden prosty i przybliżony do optymalnego. Praktyczną zaletą tej zasady jest to, że uzyskasz lepszą ogólną wiedzę o funkcji odpowiedzi.
Zrobiliśmy kilka testów z HillStormer ("http://www.berkutec.com"). Ten program pozwala przetestować te zasady na testach i okazało się, że ta gra działa dość dobrze.
Należy pamiętać, że pierwsza operacja jednostronna jest zawsze refleksją. Jeśli początkowa simpleks obejmuje cały dozwolony zakres, odbicie musi koniecznie dać punkt poza granicami. Ale HillStormer pozwala używać liniowych ograniczeń i może uniknąć tego problemu.
Możesz znaleźć więcej informacji w systemie pomocy HillStormer.
B. Kühne
- 1. Wybór sąsiada w algorytmie symulowanego wyżarzania
- 2. Złożoność w algorytmie rekursji
- 3. Niektóre zmiany w algorytmie Soundex
- 4. Wybór koła ruletki w algorytmie genetycznym. Ludność musi być najpierw posortowana?
- 5. Zmiana obrazu początkowego obrazu początkowego nav-pills
- 6. Niezdefiniowane zachowanie operatorów w algorytmie zamiany XOR?
- 7. Konwergencja punktu łamania w algorytmie losu
- 8. Korzystanie z funkcji lambda w algorytmie RK4
- 9. MATLAB: Making matryca jak w algorytmie Wavefront
- 10. Niedomiar w algorytmie Forward Algorithm dla HMM
- 11. Nieoczekiwany wyjątek NullReferenceException w algorytmie F #
- 12. toczące się sumy kontrolne w algorytmie rsync
- 13. Określanie, które wejścia ważą w algorytmie ewolucyjnym
- 14. Aspekt programowania dynamicznego w algorytmie Kadane
- 15. Wybór rankingu w kodzie algorytmu genetycznego
- 16. Techniki optymalizacji kodu w extjs?
- 17. Wybór miesiąca jquery: ustawianie początkowego zakresu min/maks powoduje konflikt z funkcją "od" <"do"
- 18. Metoda optymalizacji równań()
- 19. Programowa kontrola optymalizacji Pythona?
- 20. Najlepsze praktyki optymalizacji baz danych MySQL
- 21. optymalizacji kompilatora Java String
- 22. Java dla optymalizacji pętli
- 23. Błąd optymalizacji pętli LLVM?
- 24. Ustawianie początkowego katalogu SaveFileDialog?
- 25. Wartości statystyki ładowania początkowego
- 26. Wybór parametrów w adaboost
- 27. Wybór QComboBox w QTableWidget
- 28. Wybór bloku w xterm
- 29. Wybór tekstu w WebView?
- 30. Wybór pliku w Python3