Ich habe kürzlich von der Bayes'schen Optimierung gehört und sie zusammengefasst. Ich bin kein Spezialist, also habe ich vielleicht etwas falsch geschrieben, aber wenn ich es finde, würde ich es begrüßen, wenn Sie darauf hinweisen könnten.
Es gibt eine Menge Dinge auf der Welt, mit denen man nur schwer experimentieren kann. Deshalb möchte ich das Experiment systematisch gestalten. Die Bayes'sche Optimierung besteht darin, das nächste Experiment "Bayes-like" basierend auf den Ergebnissen früherer Experimente jedes Mal zu entwerfen. Zum Beispiel die tatsächlich verwendeten Felder
Es scheint so etwas zu geben. Im grundlegendsten Beispiel für die Hyperparametersuche beim maschinellen Lernen denke ich, dass dies häufig manuell oder automatisch durch Rastersuche oder zufällig erfolgt. Mit der Bayes'schen Optimierung können Sie es jedoch besser machen. Bei der Bayes'schen Optimierung wird eine alternative Funktion (Erfassungsfunktion), die das Ergebnis des nächsten Experiments vorhersagt, basierend auf den bisherigen Daten erstellt, der Punkt zur Maximierung der Funktion wird gefunden und das nächste Experiment wird dort durchgeführt.
Ich denke, dass es eine Erklärung ist, die beim verstärkten Lernen häufig auftaucht, aber wir schwanken zwischen Erforschung und Nutzung. Die Nutzung besteht darin, etwas zu verwenden, von dem bereits bekannt ist, dass es bis zu einem gewissen Grad gut ist, und die Erforschung besteht darin, etwas Unbekanntes herauszufordern und eine völlig andere Erfahrung zu sammeln. Die Bayes'sche Optimierung kann leicht als eine Methode zur Auswahl der nächsten auszuwählenden Aktion beschrieben werden, indem sowohl die Konzepte der Nutzung als auch der Exploration im Rahmen der Optimierung berücksichtigt werden. Mit anderen Worten, verwenden Sie die Erfassungsfunktion, die die Nutzung und Erkundung berücksichtigt. Man kann auch sagen, dass Menschen unbewusst eine Bayes'sche Optimierung in Situationen durchführen, in denen sie etwas kaufen oder zum ersten Mal etwas ausprobieren.
Das obige GIF ist eine grobe Erklärung der Bayes'schen Optimierung. Erstens ist die gelbe Linie links die wahre Funktion. Die Aufgabe besteht darin, schrittweise Punkte aus den Einschränkungen ((-20,20) dieses Mal) zu entnehmen, um den Punkt zu finden, der diese Funktion maximiert. Dieses Mal ist die Punktbewertung (Experiment) sofort abgeschlossen. Beachten Sie jedoch, dass die Bewertung einige Zeit in Anspruch nimmt. Die rote Linie zeigt den Durchschnittswert der vorhergesagten Werte, die aus den bisherigen Datenpunkten vorhergesagt wurden. Der grüne Bereich repräsentiert das Konfidenzintervall ($ Durchschnitt \ pm Verteilung $). Dieser Mittelwert und diese Varianz werden unter Verwendung des Gaußschen Prozesses basierend auf den erhaltenen Datenpunkten berechnet.
Verwenden Sie die Bayes'sche Optimierung, wenn Sie Punkte auswählen, da Sie sich fragen, wie Sie punkten sollen. Angenommen, Sie wählen den ersten Punkt zufällig aus. Wählen Sie aus den folgenden Punkten den Punkt mit der höchsten Erfassungsfunktion aus. Diese Erfassungsfunktion wird durch die blaue Linie rechts dargestellt. Mit anderen Worten, die Höhepunkte in der blauen Funktion sind sicherlich vielversprechend, also machen wir es als nächstes. Wie bereits erwähnt, kann die Erstellung einer Erfassungsfunktion, die die Suche und Nutzung berücksichtigt, als Schlüssel zur Bayes'schen Optimierung bezeichnet werden.
Zuerst werde ich GP erklären und dann einige Arten von Erfassungsfunktionen vorstellen. Danach habe ich andere wichtige Dinge in der Literatur zusammengefasst, die ich gelesen habe.
GP ist in erster Linie ein stochastischer Prozess. Ein stochastischer Prozess ist eine Menge stochastischer Variablen {$ X_ {t}
Wenn beispielsweise $ T $ diskret ist, gibt es den diskreten Markov-Prozess, und wenn er kontinuierlich ist, gibt es den Wiener-Prozess. Es ist sehr wichtig, dass der stochastische Prozess als eine Funktion der Zeit oder nur als eine stochastische Variable betrachtet werden kann, die zu einem bestimmten Zeitpunkt durch Ändern des Fixierten herausgeschnitten wird. Ersteres wird oft als Abtastpfad bezeichnet. Auch die Existenz eines kontinuierlichen stochastischen Prozesses ist garantiert, wenn die "Konsistenz" erreicht ist. [^ 1] Im Gaußschen Prozess folgt die gleichzeitige Verteilung von y für jede Menge von x einer Gaußschen Verteilung. Zu diesem Zeitpunkt garantiert die Befriedigung der "Konsistenz" die Existenz eines solchen kontinuierlichen stochastischen Prozesses. Die Gaußsche Verteilung wird eindeutig bestimmt, sobald die Varianz und der Mittelwert bestimmt sind. Der stochastische Prozess, bei dem der Mittelwert 0 ist und die Varianz als Kernel ausgedrückt wird, ist der Gaußsche Prozess im Kontext des maschinellen Lernens.
[^ 1]: Es ist eine leicht verständliche Behauptung, dass Konsistenz bei Marginalisierung erreicht werden sollte, aber der Beweis ist ziemlich kompliziert. Bewiesen von Kolmogorov. Die genaue Diskussion stochastischer Prozesse über einen kontinuierlichen Zeitraum kann eine entmutigende Aufgabe sein.
Die einfachste Interpretation der Kernel-Regression besteht darin, die Ridge-Regression durch den Kernel zu ersetzen. Im Kontext der Bayes'schen Optimierung ist die Interpretation als Gauß'scher Prozess jedoch wichtig, daher werde ich das schreiben. Angenommen, Sie haben $ x $, $ y $, $ t $. x ist die Eingabe und y ist die Ausgabe. t ist y mit Rauschen (Dispersion ist $ \ beta $) und repräsentiert den tatsächlich beobachteten Wert. Zunächst sei der Prior von y $ N (0, K) $ (K ist die Gramm-Matrix des Kernels). Dann wird die hintere Verteilung (vorhergesagte Verteilung) von $ t_ {N + 1} $ nach Beobachtung des N-Punkts für $ x_ {N + 1} $ bestimmt. Diese hintere Verteilung ist Gaußsch und der Mittelwert und die Varianz sind wie folgt.
$ \ mu_ {N + 1} = k ^ {T} (K + \ beta I) ^ {-1} t_ {1: N} $ ($ k (x_ {n}, x_ {N + 1}) $ Die Seite an Seite ist $ k $)
$ \sigma_{N+1}= k(x_{N+1},x_{N+1})-k^{T}(K+\beta I)^{-1}k$
Definieren Sie die Erfassungsfunktion ($ a (x) $), um oben $ x_ {N + 1} $ auszuwählen. Erstellen Sie, wie oben erwähnt, eine Funktion, die den Kompromiss zwischen Nutzung und Suche erfolgreich erfasst. Unter dem Gesichtspunkt der "Auslastung" sollte der Punkt mit einem hohen Durchschnitt ausgewählt werden, und unter dem Gesichtspunkt der "Suche" sollte der Punkt mit einer hohen Streuung ausgewählt werden. Von nun an repräsentiert $ f_ {+} $ die maximale Ausgabe an den Punkten, die bis zum N-ten Punkt erhalten wurden. Der Code wird vorerst hier angegeben. https://github.com/Ma-sa-ue/practice/blob/master/machine%20learning(python)/bayeisan_optimization.ipynb
Probability of Improvement(PI)
$ \ Phi $ ist eine normalverteilte PDF-Datei. Sie können aus dem GIF sehen, dass es nicht so gut ist. $ \ Xi $ wird bereitgestellt, um zu verhindern, dass es zu gierig wird, aber es wird immer noch häufiger verwendet. Expected Improvement(EI)
$ \ phi $ ist ein normalverteiltes PDF. Dies ist eine viel bessere Methode als PI. Wenn man den erwarteten Wert der Verbesserung ($ f_ {N + 1} (x) -f ^ {+} $) nimmt, ergibt sich das Obige. Es scheint, dass ungefähr 0,01 für $ \ xi $ empfohlen wird.
GP Upper (lower) Confidence Band
Dies ist auch eine einfache Methode (Upprt Confidence Bound), bei der der ursprünglich auf die Varianz angewendete Koeffizient eine Konstante ist. Dies funktioniert jedoch nicht sehr gut, sodass GP-UCB den Koeffizienten für jedes Update anpasst. Sie können sehen, dass es die gleiche Tendenz wie EI zeigt.
Thomson sampling
Nehmen Sie einen Beispielpfad und verwenden Sie ihn als Erfassungsfunktion.
Information-theoretic approaches
Verwenden Sie Funktionen, die auf der Informationstheorie basieren.
Ich denke, dass das Grundkonzept wahrscheinlich das Ende dessen ist, was bisher geschrieben wurde, aber verschiedene Studien wurden basierend auf diesen Dingen durchgeführt. Während ich die Gliederung erfasste, versuchte ich vorerst zusammenzufassen, was wichtig zu sein scheint, obwohl es oben nicht geschrieben steht.
Es wurde ein Verfahren vorgeschlagen, bei dem die Diversitätshypothese für die Eingabe der Suche gilt, dh die Optimierung wird durchgeführt, während die Dimension basierend auf der Hypothese verringert wird, dass es sich um eine niedrigdimensionale Subvariante handelt. Es scheint eine wirklich gute Technik zu sein. http://arxiv.org/pdf/1301.1942.pdf
Wenn Sie einen normalen Kernel einsetzen, handelt es sich um einen stetigen stochastischen Prozess. Reale Daten sind jedoch häufig nicht stationär. Die Idee ist, eine Bayes'sche Optimierung durchzuführen, indem die Eingabe mit einer vollständig monomorphen Funktion verzerrt wird, um einen solchen instationären stochastischen Prozess darzustellen. http://jmlr.org/proceedings/papers/v32/snoek14.pdf
Die Auswahl eines Kernels ist sehr wichtig. Im Experiment habe ich einen einfachen mit einem quadratischen Exponenten verwendet, aber es scheint, dass es verschiedene Kernel für die Bayes'sche Optimierung gibt.
Das Einstellen der Hyperparameter des Kernels ist ein ärgerliches Problem. Zum Beispiel scheint die in der berühmten Bibliothek Spearmint verwendete Methode Hyperparameter ungefähr zu integrieren und zu eliminieren. https://papers.nips.cc/paper/4522-practical-bayesian-optimization-of-machine-learning-algorithms.pdf
Die Bayes'sche Optimierung selbst gibt es schon seit geraumer Zeit. Es scheint, dass die Bayes'sche Optimierung mit der Entwicklung des maschinellen Lernens für die Hyperparametersuche wiederbelebt wurde. Ich habe vielleicht schon lange etwas an mir geschrieben, aber auf der jüngsten Forschungsebene habe ich verschiedene Entwicklungen sowohl in Bezug auf die Theorie als auch in Bezug auf die Anwendung gemacht.
Es ist zu beachten, dass die Bayes'sche Optimierung unter der Voraussetzung durchgeführt wird, dass die Beobachtung der Zielfunktion problematisch ist. Sie können $ y $ für das Video sofort bekommen, aber natürlich können Sie es nicht sofort bekommen. Andererseits ist die Bewertung der Erfassungsfunktion einfach. Es gibt jedoch keine Garantie dafür, dass es konvex oder differenzierbar ist. Daher verwenden wir eine primitive Methode wie das Teilen des Intervalls, um den Maximalwert zu ermitteln. (vielleicht)
Es wird davon ausgegangen, dass die Beobachtungskosten angemessen sind, aber es stimmt immer noch, dass die Kosten je nach Eingabe unterschiedlich sind. Es scheint ein Modell zu geben, das dies berücksichtigt.
Recommended Posts