Optimierung der Hyperparameter: Zufallssuche vs. Bayes'sche Optimierung

13

Wir wissen also, dass die Zufallssuche besser funktioniert als die Rastersuche, aber ein neuerer Ansatz ist die Bayes'sche Optimierung (unter Verwendung von Gauß'schen Prozessen). Ich habe einen Vergleich zwischen den beiden nachgeschlagen und nichts gefunden. Ich weiß, dass sie bei Stanfords cs231n nur zufällige Suche erwähnen, aber es ist möglich, dass sie die Dinge einfach halten wollten.

Meine Frage lautet: Welcher Ansatz ist im Allgemeinen besser, und wenn die Antwort "manchmal zufällige Suche, manchmal bayesianisch" lautet, wann sollte ich eine Methode einer anderen vorziehen?

Yoni Keren
quelle
2
Google verkauft jetzt seine Deep Learning Cloud-Dienste und pusht eine Funktion, die Ihre Hyperparameter automatisch mit der Bayes-Optimierung abstimmt. Natürlich behauptet Google, dass sie das Beste leistet und auch schneller ist (effizienteres Durchsuchen des Hyperraums). Es gibt mehrere Veröffentlichungen, die BO gegen RS bewerten und zeigen, dass BO nur geringfügig besser abschneidet. IMO von dem, was ich gesehen habe, ist der Unterschied etwas, das Sie in einem Kaggle-Wettbewerb mehr interessieren würden als das wirkliche Leben.
JPJ

Antworten:

8

Ich denke, dass die Antwort hier die gleiche ist wie überall in der Datenwissenschaft: es kommt auf die Daten an :-)

Es kann vorkommen, dass eine Methode eine andere übertrifft (hier https://arimo.com/data-science/2016/bayesian-optimization-hyperparameter-tuning/). Die Leute vergleichen die bayesianische Hyperparameteroptimierung und erzielen ein besseres Ergebnis bei der San Francisco Crime Kaggle Challenge als Ich bezweifle jedoch, dass es eine allgemeine Regel dafür gibt. Sie können hier ein nettes GIF sehen ( http://blog.revolutionanalytics.com/2016/06/bayesian-optimization-of-machine-learning-models.html ), in dem die Leute den "Weg" zeigen, den die Bayesianische Optimierung in der Landschaft nimmt Insbesondere bei den Hyperparametern scheint es nicht so zu sein, als ob sie die Zufallssuche im Allgemeinen übertreffen ...

Ich denke, der Grund, warum die Leute dazu neigen, die Bayes'sche Hyperparameteroptimierung zu verwenden, ist, dass im Vergleich zur Zufallssuche mit einer ausreichend hohen Anzahl von Experimenten nur weniger Trainingsschritte erforderlich sind, um ein vergleichbares Ergebnis zu erzielen.

Zusammenfassend in einem Satz:

* Wenn die Trainingszeit kritisch ist, verwenden Sie die Bayes'sche Hyperparameter-Optimierung. Wenn die Zeit kein Problem darstellt, wählen Sie eine der beiden Optionen ... *

Normalerweise bin ich zu faul, um das Bayes'sche Zeug mit Gauß'schen Prozessen zu implementieren, wenn ich mit zufälliger Suche das gleiche Ergebnis erzielen kann ... Ich trainiere nur Gradient Bossting-Ensembles mit 'wenigen' Daten, also ist Zeit für mich kein Problem ...

Fabian Werner
quelle
5

Bayesianische Optimierung ist besser, weil sie intelligentere Entscheidungen trifft. In diesem Artikel erfahren Sie mehr über: Hyperparameter-Optimierung für neuronale Netze . Dieser Artikel enthält auch Informationen zu Vor- und Nachteilen für beide Methoden sowie einige zusätzliche Techniken wie die Rastersuche und Baumstruktur-Parzen-Schätzer. Obwohl es geschrieben wurde, um Vor- und Nachteile verschiedener Methoden für neuronale Netze aufzuzeigen, ist das Hauptwissen für alle anderen Bereiche des maschinellen Lernens verallgemeinerbar

itdxer
quelle
1
Ich wollte nur darauf hinweisen, dass in Ihrem ersten Satz der eigentliche Grund dafür, warum die Bayes'sche Optimierung besser ist, nicht darin besteht, dass die getroffenen Entscheidungen klüger sind , sondern dass es um Entscheidungen geht, die überhaupt getroffen werden .
Alexander Rossa
1

Es ist zu beachten, dass die Bayes'sche Hyperparameteroptimierung ein sequentieller Prozess ist und daher länger dauern kann als bei einigen anderen Ansätzen, die parallel gesucht oder durchgeführt werden können.

Schmied
quelle