Optymalizacja stochastycznych modeli komputerowych

11

Jest to dla mnie trudny temat do wyszukiwania w Google, ponieważ optymalizacja słów i stochastyczna w wyszukiwaniu prawie automatycznie domyślnie wyszukuje optymalizację stochastyczną. Ale tak naprawdę chcę wiedzieć, jakie istnieją metody optymalizacji modeli komputerowych, gdy wyniki modelu komputerowego są stochastyczne, tj. Nie deterministyczne?

Na przykład, jeśli weźmiemy pod uwagę model komputerowy, w którym istnieje nieznana funkcja reprezentująca dane wyjściowe modelu komputerowego, istnieje wiele metod statystycznych służących do rozwiązywania problemów, takich jakf(x)

minf(x)xX

gdy f(x) jest deterministyczne. Ale co się stanie, gdy f(x) jest stochastyczny? Czy istnieje rozwiązanie problemu, a w najlepszym razie możemy tylko rozwiązać

minE[f(x)]xX

gdzie E() jest zwykłym operatorem oczekiwania.

RustyStatistician
źródło
1
To bardzo interesujące pytanie. Optymalizacja jest jedyną rzeczą, która naprawdę będzie możliwa. Aplikacja statystyczna związana z tym pytaniem to algorytm MCEM, w którym funkcja pełnego prawdopodobieństwa jest obserwowalna tylko z błędem MCMC na nim. Podobnie algorytmy filtrów cząstek MCMC mają ten sam problem. Nie przeczytałem wystarczająco dużo na temat żadnej z literatur, aby wiedzieć, jakie są najnowocześniejsze metody odpowiedzi na to pytanie. E[f(x)]
Cliff AB
2
To zależy od twojego celu. to tylko jedna z wielu możliwych opcji. W niektórych aplikacjach możesz chcieć mieć „niezawodne” rozwiązanie, a nie tylko takie, które jest „przeciętnie dobre”. W tym scenariuszu zoptymalizowałbyś wrt do jakiegoś kwantyla rozkładu . Optymalizacja bayesowska zajmuje się kosztownymi (a czasem głośnymi) ocenami funkcji. Sprawdź na przykład to pytanie . f ( x )E[f(x)]f(x)
lacerbi
1
@ Lacerbi czy któryś z tych przykładów jest głośny? Myślę, że są one tylko deterministyczne.
RustyStatistician
@RustyStatistician: masz rację, większość przykładów jest deterministyczna lub ogólnie mówi o optymalizacji bayesowskiej. Poniżej znajdują się odniesienia bardziej skoncentrowane na części „głośnej”.
lacerbi
Czy masz dostęp do programu komputerowego, abyś mógł uruchomić go sam dla wybranych wejść ? Następnie dostępne są metody projektowania eksperymentów! Przeszukaj tę stronę. x
kjetil b halvorsen

Odpowiedzi:

10

( Rozszerzając mój komentarz na poprawną odpowiedź ).

Jak wspomniałem, zależy to od twojego celu.

Oczekiwana wartość jest tylko jedną z wielu możliwych opcji celu optymalizacji. Na przykład, zakładając, że są normalnie rozłożone, możesz:f ( x )E[f(x)]f(x)

κRκ>0κκ

xopt=argminx{E[f(x)]+κVar[f(x)]}
dla niektóre które manipulują wrażliwością na ryzyko. Jeśli , szukasz solidnego rozwiązania, które prawdopodobnie będzie najlepsze i odstraszy duże pozytywne wahania. Odwrotnie, negatywna sprzyjałaby optymalizacji „optymistycznej”, która szuka dużych ujemnych fluktuacji (ujemna jest dobra, ponieważ minimalizujemy). Możesz wybrać na podstawie kwantyli rozkładu normalnego (patrz odnośnik 2 poniżej).κRκ>0κκ

Zasadniczo optymalizacja bayesowska (BO, która jest związana z procesami Gaussa i krigingiem ) dotyczy kosztownych, a czasem głośnych ocen funkcji; chociaż większość literatury skupiała się na poprzedniej części. Możesz znaleźć opinie na temat optymalizacji bayesowskiej pod tym pytaniem .

Kilka osób zastosowało BO do hałaśliwych funkcji. Jako wstęp do tematu David Ginsbourger wygłosił przemówienie zatytułowane „Wariacje na temat oczekiwanej poprawy” podczas warsztatów na temat procesów gaussowskich dla globalnej optymalizacji (Sheffield, 17 września 2015 r.). Możesz znaleźć jego przemówienie tutaj , a wszystkie przemówienia są dostępne na tej stronie (polecam również wszystkie inne przemówienia jako doskonałe ogólne wprowadzenie do BO.)

Jako odniesienia zacznę od pracy wykonanej przez Ginsbourgera i współpracowników oraz Gramacy i współpracowników:

  1. Picheny, V. i Ginsbourger, D., 2014. „Głośne metody optymalizacji oparte na krigingu: ujednolicona implementacja w pakiecie DiceOptim”. Statystyka obliczeniowa i analiza danych , 71, s. 1035–1053. ( link )

  2. Picheny, V., Ginsbourger, D., Richet, Y. i Caplin, G., 2013. „Oparta na kwantach optymalizacja głośnych eksperymentów komputerowych z dostrajaną precyzją”. Technometrics , 55 (1), s. 2–13. ( link )

  3. Gramacy, RB i Lee, HK, 2012. „Bayesian potraktował modele procesu Gaussa za pomocą aplikacji do modelowania komputerowego”. Journal of American Statistics Association . ( link )

  4. Gramacy, RB i Apley, DW, 2015. „Lokalne zbliżenie procesu Gaussa do dużych eksperymentów komputerowych”. Journal of Computational and Graphical Statistics , 24 (2), str. 561-578. ( link )

Zarówno Ginsburger, jak i Gramacy mają pakiety R, które implementują swoje metody BO, odpowiednio DiceOptim i tgp .

Lacerbi
źródło
1
Gdzie jest w twojej odpowiedzi, czy masz na myśli ? κkκ
RustyStatistician
1
Jeszcze jednym algorytmem, którego nie użyłem *, ale wygrywa w zabawnym dziale nazw, jest SNOBFIT . (* Autor jest jednak znany w społeczności zajmującej się optymalizacją, a oprogramowanie
zadziałało w deterministycznym teście
4

Obecne odpowiedzi koncentrują się na właściwej (matematycznej) definicji stochastycznego celu optymalizacji - chcę przedstawić nieco bardziej stosowaną perspektywę.

Ten problem występuje często przy dopasowywaniu modeli stochastycznych, np. Przy użyciu nieformalnych lub syntetycznych prawdopodobieństw. Odwołanie (1) zawiera listę opcji, których można użyć do zdefiniowania odległości między modelem stochastycznym a danymi.

Po zdefiniowaniu celu w ten sposób pozostaje kwestia znalezienia optymalnego środka hałaśliwego celu. Do przejścia są dwie drogi: a) optymalizacja i b) próbkowanie MCMC. Pytałeś konkretnie o optymalizację, ale chcę wprowadzić MCMC, ponieważ często lepiej nadają się do tego zadania.

a) Jeśli pozostaniesz przy optymalizacji, musisz upewnić się, że nie utkniesz i że optymalizator poradzi sobie ze stochastycznym celem. Rozdział 4 w rozprawie doktorskiej Matteo Fasiolo zawiera pewne wskazówki, patrz (2).

b) Jak zauważamy w (1), MCMC są ogólnie bardziej odporne na cel stochastyczny - w łagodnych warunkach dotyczących rozkładu hałasu MCMC uśrednia hałas, a próbkowany cel będzie nie do odróżnienia od nieszumnego cel ze średnią głośnego celu. Jednak MCMC również mogą utknąć, gdy napotkają ocenę, która jest szczególnie dobra. To, czego NIE MOŻESZ ROBIĆ, to uzyskanie następującego „oczywistego” pomysłu: po prostu oblicz zarówno bieżącą, jak i proponowaną wartość w każdej iteracji MCMC. Słowo kluczowe do wyszukania tutaj to „pseudo-marginalna”, patrz także tutaj i tutaj .

1) Hartig, F .; Calabrese, JM; Reineking, B .; Wiegand, T. & Huth, A. (2011) Wnioskowanie statystyczne dla stochastycznych modeli symulacyjnych - teoria i zastosowanie . Ecol. Lett., 14, 816–827.

2) Fasiolo, M. (2016) Metody statystyczne dla złożonej dynamiki populacji . University of Bath

Florian Hartig
źródło
4

Powiedzmy, że znajdujemy się w dyskretnej przestrzeni prawdopodobieństwa, więc . Intuicyjnie potrzebujesz funkcji , abyś mógł zoptymalizować . Możesz zoptymalizować tylko jeden cel! U : R nR U ( f ( x ) )f(x)RnU:RnRU(f(x))

Optymalizacja funkcji jednego celu może wydawać się dość ograniczająca, ale tak nie jest ! Pojedynczy cel może reprezentować niewiarygodnie różnorodne preferencje, które możesz mieć względem tego, co jest lepsze lub gorsze.

Przeskakując do przodu, prostym miejscem do rozpoczęcia może być wybranie zmiennej losowej a następnie rozwiązanie:λ

E[f(x)]

minimize (over x)E[λf(x)]subject toxX
Jest to prosta liniowa zmiana wagi . Tak czy inaczej, oto argument, dlaczego zwijanie wielu celów do jednego celu jest zazwyczaj w porządku.E[f(x)]

Podstawowe ustawienia:

  • Masz wybór zmiennej i wykonalnego zbiór .XxX
  • Twój wybór prowadzi do losowego wyniku˜ y = f ( x )xy~=f(x)
  • Masz racjonalne preferencje stosunku do losowego wyniku. (Zasadniczo możesz powiedzieć, czy wolisz jeden losowy wynik od drugiego.)~ ry~

Twoim problemem jest wybranie tak aby:xX

xXf(x)f(x)
W języku angielskim wybierasz , aby żaden możliwy wybór prowadził do wyniku preferowanego zamiast .xxf(x)

Równoważność z maksymalizacją użyteczności (w określonych warunkach technicznych)

Dla uproszczenia technicznego powiem, że znajdujemy się w dyskretnej przestrzeni prawdopodobieństwa z wynikami, więc mogę reprezentować losowy wynik za pomocą wektora .ny~yRn

W pewnych warunkach technicznych (które nie są ograniczeniem w sensie praktycznym) powyższy problem jest równoważny maksymalizacji funkcji użyteczności . (Funkcja użyteczności przypisuje bardziej preferowane wyniki większej liczbie).U(y)

Ta logika miałaby zastosowanie do każdego problemu, w którym twój wybór prowadzi do wielu zmiennych wyniku.

maximize (over x)U(f(x))subject toxX

Nadanie większej struktury funkcji użytecznej : Oczekiwana hipoteza użyteczności :U

Jeśli znajdujemy się w otoczeniu probabilistycznym i akceptujemy aksjomaty Neumanna-Morgernsterna , ogólna funkcja użyteczności musi przyjąć specjalną formę:U

U(y)=E[u(yi)]=ipiu(yi)
Gdzie jest prawdopodobieństwem stanu a jest wklęsłą funkcją użyteczności. Krzywizna mierzy awersję do ryzyka. Po prostu zastępując tę ​​specjalistyczną formę , otrzymujesz:piiuuU

maximize (over x)ipiu(yi)subject toxXy=f(x)

Zauważ, że prosty przypadek maksymalizuje wartość oczekiwaną (tj. Brak awersji do ryzyka).u(yi)=yi

Innym podejściem: ciężaryλ

Inną rzeczą do zrobienia jest:

maximize (over x)iλiyisubject toxXy=f(x)

Intuicyjnie możesz wybrać wagi które są większe lub mniejsze niż prawdopodobieństwo wystąpienia stanu, a to oddaje znaczenie stanu.p iλipi

Głębsze uzasadnienie tego podejścia jest takie, że w pewnych warunkach technicznych istnieją wagi lambda takie, że powyższy problem i wcześniejsze problemy (np. Maksymalizacja ) mają to samo rozwiązanie.U ( f ( x ) )λU(f(x))

Matthew Gunn
źródło
Ale czy w tej konfiguracji nie wszystkie funkcje narzędziowe prowadzą do tej samej odpowiedzi, prawda?
RustyStatistician
Czy istnieją typowe opcje dla funkcji narzędziowych? Moim problemem jest stochastyczny symulator komputerowy, który w rzeczywistości jest symulatorem blackboksa, więc nie znam żadnych informacji na temat podstawowych mechanizmów, więc czy w ogóle mogę przypisać mu funkcję narzędziową?
RustyStatistician
Musisz przemyśleć logikę swojego problemu, co stanowi dobry wynik, a następnie znaleźć jakąś obiektywną funkcję, która przypisuje lepsze wyniki większej liczbie. (Lub równoważnie, możesz ustawić to jako problem minimalizacji i przypisać gorszym wynikom wyższą liczbę, np. Zminimalizować pewne pojęcie błędu kwadratu itp.)
Matthew Gunn