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!
quelle
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.
quelle
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.
quelle
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.
quelle