Wann wird der Gradientenabstieg gegenüber Monte Carlo als numerische Optimierungstechnik verwendet?


11

Wenn ein Satz von Gleichungen nicht analytisch gelöst werden kann, können wir einen Gradientenabstiegsalgorithmus verwenden. Es scheint aber auch die Methode der Monte-Carlo-Simulation zu geben, mit der Probleme gelöst werden können, für die es keine analytischen Lösungen gibt.

Wie kann man feststellen, wann man den Gradientenabstieg verwendet und wann man Monte Carlo verwendet? Oder verwechsle ich einfach den Begriff "Simulation" mit "Optimierung"?

Vielen Dank!

Antworten:


4

Diese Techniken machen verschiedene Dinge.

Der Gradientenabstieg ist eine Optimierungstechnik, daher ist er bei allen statistischen Methoden üblich, die eine Maximierung erfordern (MLE, MAP).

Die Monte-Carlo-Simulation dient zur Berechnung von Integralen durch Abtasten aus einer Verteilung und Auswerten einiger Funktionen an den Abtastwerten. Daher wird es häufig mit Techniken verwendet, die eine Berechnung der Erwartungen erfordern (Bayesian Inference, Bayesian Hypothesis Testing).


Gradientenabstieg ist also mit Differenzierung (Maxima, Minima) verbunden und Monte Carlo ist mit Integration verbunden?
Victor

Der Gradient ist eine (eine von vielen) Verallgemeinerung der Ableitung. Der Gradientenabstieg ist also mit der Differenzierung verbunden. Aber ich würde sagen, "Gradient Descent verwendet Ableitungen zur Optimierung" und "Monte Carlo verwendet Stichproben zur Integration", wenn ich so wenig Wörter wie möglich verwenden müsste.
jlimahaverford

4

Dies sind beide große Familien von Algorithmen, daher ist es schwierig, Ihnen eine genaue Antwort zu geben, aber ...

Gradient Aufstieg (oder Abstieg) ist nützlich, wenn Sie ein Maximum (oder Minimum) finden möchten. Beispielsweise finden Sie möglicherweise den Modus einer Wahrscheinlichkeitsverteilung oder eine Kombination von Parametern, die eine Verlustfunktion minimieren. Der "Weg", der benötigt wird, um diese Extrema zu finden, kann Ihnen ein wenig über die Gesamtform der Funktion erzählen, ist aber nicht dazu gedacht; Je besser es funktioniert, desto weniger wissen Sie über alles außer den Extrema.

Monte-Carlo-Methoden sind nach dem Monte-Carlo-Casino benannt, da sie wie das Casino von der Randomisierung abhängen. Es kann auf viele verschiedene Arten verwendet werden, aber die meisten davon konzentrieren sich auf die Annäherung von Verteilungen. Markov-Ketten-Monte-Carlo-Algorithmen finden beispielsweise Möglichkeiten, um aus komplizierten Wahrscheinlichkeitsverteilungen effizient abzutasten. Andere Monte-Carlo-Simulationen können Verteilungen über mögliche Ergebnisse erzeugen.


"Monte-Carlo-Methoden" beziehen sich normalerweise auf das, was Sie mit den Proben tun , im Gegensatz zu Methoden zum Erhalten der Proben. In MCMC bezieht sich die "Markov-Kette" auf den Prozess des Erhaltens der Proben.
jlimahaverford

"Ja wirklich?" Ich habe immer gedacht, dass Monte Carlo impliziert, dass eine Art Randomisierung stattfindet und nicht viel mehr bedeutet. In MCMC ist es wahr, dass Markov-Ketten beteiligt sind, aber Sie nehmen auch zufällig Stichproben aus den Ketten (daher Monte-Carlo) /
Matt Krause

Vielleicht ist das Ansichtssache. Wenn ich MCMC verwenden würde, um den Mittelwert einer posterioren Verteilung zu approximieren, würde ich zufällige Spaziergänge auf einer Markov-Kette verwenden, um ungefähr eine Stichprobe aus meiner nicht normalisierten Verteilung zu erstellen. Ich würde Monte-Carlo-Integration verwenden, um den Mittelwert zu approximieren. Ich betrachte Stichprobenmethoden als Werkzeuge, die Monte-Carlo-Methoden ermöglichen. Zum Beispiel würde ich die Ablehnungsstichprobe nicht als Monte-Carlo-Methode bezeichnen, aber ich kann mir vorstellen, dass jemand sie zusammen verwendet.
jlimahaverford

Trotzdem betrachtet Wikipedia die Ablehnungsstichprobe als Monte-Carlo-Methode. Es ist also durchaus möglich, dass meine Vorstellungen hier völlig falsch sind.
jlimahaverford

2

Wie von anderen erklärt, führt der Gradientenabstieg / -aufstieg eine Optimierung durch, dh er findet das Maximum oder Minimum einer Funktion. Monte Carlo ist eine Methode der stochastischen Simulation, dh die Annäherung an eine kumulative Verteilungsfunktion durch wiederholte Zufallsstichprobe. Dies wird auch als "Monte-Carlo-Integration" bezeichnet, da das cdf einer kontinuierlichen Verteilung tatsächlich ein Integral ist.

Was zwischen Gradientenabstieg und Monte Carlo gemeinsam ist, ist, dass beide besonders nützlich bei Problemen sind, bei denen es keine geschlossene Lösung gibt. Sie können eine einfache Differenzierung verwenden, um den Maximal- oder Minimalpunkt einer konvexen Funktion zu ermitteln, wann immer eine analytische Lösung möglich ist. Wenn eine solche Lösung nicht existiert, müssen Sie eine iterative Methode wie den Gradientenabstieg verwenden. Dies gilt auch für die Monte-Carlo-Simulation. Grundsätzlich können Sie die einfache Integration verwenden, um jedes PDF analytisch zu berechnen. Es gibt jedoch keine Garantie dafür, dass eine solche Lösung in geschlossener Form immer möglich ist. Das Problem wird mit der Monte-Carlo-Simulation wieder lösbar.

Können Sie den Gradientenabstieg für die Simulation und Monte Carlo für die Optimierung verwenden? Die einfache Antwort lautet nein. Monte Carlo benötigt ein stochastisches Element (eine Verteilung) zum Abtasten, und der Gradientenabstieg hat keine Möglichkeit, stochastische Informationsprobleme zu behandeln. Sie können jedoch Simulation mit Optimierung kombinieren, um leistungsfähigere stochastische Optimierungsalgorithmen zu erstellen, mit denen sehr komplexe Probleme gelöst werden können, die durch einen einfachen Gradientenabstieg nicht gelöst werden können. Ein Beispiel hierfür wäre das simulierte Tempern von Monte Carlo.


1

Diese Antwort ist teilweise falsch. Sie können in der Tat Monte-Carlo-Methoden mit Gradientenabstieg kombinieren. Sie können Monte-Carlo-Methoden verwenden, um den Gradienten einer Verlustfunktion zu schätzen, die dann beim Gradientenabstieg verwendet wird, um die Parameter zu aktualisieren. Eine beliebte Monte-Carlo-Methode zur Schätzung des Gradienten ist der Score-Gradientenschätzer , der beispielsweise beim Lernen der Verstärkung verwendet werden kann. Siehe Monte-Carlo-Gradientenschätzung im maschinellen Lernen (2019) von Shakir Mohamed et al. Für mehr Information.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.