Strojenie hiper parametrów: Wyszukiwanie losowe a optymalizacja Bayesa

14

Wiemy zatem, że wyszukiwanie losowe działa lepiej niż wyszukiwanie siatki, ale nowszym podejściem jest optymalizacja Bayesa (przy użyciu procesów gaussowskich). Sprawdziłem porównanie między nimi i nic nie znalazłem. Wiem, że w cs231n Stanforda wspominają tylko o losowym wyszukiwaniu, ale możliwe jest, że chcieli zachować prostotę.

Moje pytanie brzmi: które podejście jest ogólnie lepsze, a jeśli odpowiedź brzmi „czasami wyszukiwanie losowe, czasami Bayesa”, kiedy powinienem preferować jedną metodę zamiast drugiej?

Yoni Keren
źródło
2
Google sprzedaje teraz swoje usługi głębokiego uczenia się w chmurze i wprowadza funkcję, która automatycznie dostraja twoje hiperparametry dzięki optymalizacji Bayesa ... oczywiście twierdząc, że robi to najlepiej i jest szybszy (bardziej efektywnie przeszukując hiperprzestrzeń). Istnieje kilka prac, które oceniają BO w porównaniu z RS, a także pokazują, że BO ma się nieco lepiej. IMO z tego, co widziałem, różnica jest czymś, na czym bardziej zależy Ci w zawodach Kaggle niż w prawdziwym życiu.
JPJ,

Odpowiedzi:

9

Myślę, że odpowiedź tutaj jest taka sama, jak wszędzie w nauce o danych: zależy to od danych :-)

Może się zdarzyć, że jedna metoda przewyższa inną (tutaj https://arimo.com/data-science/2016/bayesian-optimization-hyperparameter-tuning/ ludzie porównują optymalizację hiperparametrów Bayesa i osiągają lepszy wynik w wyzwaniu kryminalnym w San Francisco niż z losowym wyszukiwaniem), ale wątpię, aby istniała ogólna zasada. Możesz zobaczyć fajny gif tutaj ( http://blog.revolutionanalytics.com/2016/06/bayesian-optimization-of-machine-learning-models.html ), gdzie ludzie pokazują „ścieżkę”, jaką optymalizacja bayesowska przyjmuje w krajobrazie hiperparametrów, w szczególności nie wydaje się, że ogólnie przewyższa losowe wyszukiwanie ...

Myślę, że powodem, dla którego ludzie używają optymalizacji hiperparametrów bayesowskich, jest to, że po prostu wymaga mniej kroków treningowych, aby osiągnąć porównywalny wynik w porównaniu do losowego wyszukiwania z wystarczająco dużą liczbą eksperymentów.

Podsumowanie w jednym zdaniu:

* Gdy czas szkolenia jest krytyczny, skorzystaj z optymalizacji hiperparametrów Bayesa, a jeśli czas nie stanowi problemu, wybierz jedno z obu ... *

Zwykle jestem zbyt leniwy, aby wdrożyć Bayesowskie procesy z procesami Gaussa, jeśli mogę osiągnąć ten sam wynik za pomocą losowego wyszukiwania ... Po prostu trenuję zespoły Gradient Bossting na „kilku” danych, więc dla mnie czas nie jest problemem ...

Fabian Werner
źródło
5

Optymalizacja bayesowska jest lepsza, ponieważ podejmuje mądrzejsze decyzje. Możesz sprawdzić ten artykuł, aby dowiedzieć się więcej: Optymalizacja hiperparametrów dla sieci neuronowych . Ten artykuł zawiera także informacje o zaletach i wadach obu metod + dodatkowe techniki, takie jak wyszukiwanie siatki i estymatory parzen o strukturze drzewa. Mimo że został napisany w celu pokazania zalet i wad różnych metod dla sieci neuronowych, podstawową wiedzę można uogólnić dla innych domen uczenia maszynowego

itdxer
źródło
1
Chciałem tylko zaznaczyć, że w pierwszym zdaniu faktyczna przyczyna, dla której optymalizacja bayesowska jest lepsza, nie polega na tym, że podejmowane decyzje są mądrzejsze , ale w ogóle na podejmowaniu decyzji .
Alexander Rossa
1

Warto zauważyć, że optymalizacja hiperparametrów Bayesa jest procesem sekwencyjnym, więc może potrwać dłużej niż niektóre inne podejścia, które mogą wyszukiwać lub być prowadzone równolegle.

hlsmith
źródło