HyperAIHyperAI

Command Palette

Search for a command to run...

Markov-Ketten-Monte-Carlo-Methode MCMC

Datum

MCMC Es handelt sich um einen Algorithmus zur Stichprobenziehung aus einer Zufallsverteilung auf Grundlage einer Markow-Kette, der die Posterior-Verteilung des betreffenden Parameters durch Zufallsstichprobenziehung im Wahrscheinlichkeitsraum approximiert.

Die grundlegende Theorie von MCMC ist der Markow-Prozess. Um in verwandten Algorithmen eine Stichprobe auf einer bestimmten Verteilung zu erfassen, können wir diesen Prozess gemäß dem Markov-Prozess aus jedem Zustand simulieren und kontinuierlich Zustandsübergänge durchführen, bis er schließlich zu einer stabilen Verteilung konvergiert.

Die Grundidee besteht darin, die komplexe Verteilung durch eine stabile Verteilung zu ersetzen und diese zum Abtasten und Anpassen zu verwenden, um schließlich die Verteilung der komplexen Stichprobe zu erhalten.

Gängige MCMC-Methoden: Metropolis-Hastings-Sampling, Gibbs-Sampling

Metropolis-Hastings-Probenahme

1: Initialisieren Sie den Anfangszustand der Markov-Kette latexX_0 = x_0latex {X\mathop{{}}\nolimits\_{{0}}\text{ }=\text{ }x\mathop{{}}\nolimits\_{{0}}}latexX_0 = x_0

2: Beispiel für den folgenden Prozess des latext = 0, 1, 2, latex {t\text{ }=\text{ }0,\text{ }1,\text{ }2,\text{ }…}latext = 0, 1, 2, -Zyklus

  • Zum Zeitpunkt latextlatex {t}latext ist der Zustand der Markov-Kette latexX_t = x_tlatex {X\mathop{{}}\nolimits\_{{t}}\text{ }=\text{ }x\mathop{{}}\nolimits\_{{t}}}latexX_t = x_t und die Stichprobenziehung latexy  q(xx_t)latex {y\text{ } \sim \text{ }q{ \left( {x \left| x\mathop{{}}\nolimits\_{{t}}\right. } \right) }}latexy  q(xx_t)
  • Stichprobenziehung aus einer Gleichverteilunglatexu  Uniform[0,1]latex {u\text{ } \sim \text{ }Uniform{ \left[ {0,1} \right] }}latexu  Uniform[0,1]
  • Wenn latex {u\text{ } < \text{ } \alpha { \left( {x\mathop{{}}\nolimits\_{{t}},y} \right) }\text{ }=\text{ }min{ \left\{ {\frac{{p{ \left( {y} \right) }q{ \left( {x\mathop{{}}\nolimits\_{{t}} \left| y\right. } \right) }}}{{p{ \left( {x\mathop{{}}\nolimits\_{{t}}} \right) }p{ \left( {y \left| {x\mathop{{}}\nolimits\_{{t}}\text{ } \to \text{ }y}, d.h. latexX_t+1 = ylatex {X\mathop{{}}\nolimits\_{{t+1}}\text{ }=\text{ }y}latexX_t+1 = y
  • Andernfalls wird die Übertragung nicht akzeptiert, d. h. latexX_t+1 = x_tlatex {X\mathop{{}}\nolimits\_{{t+1}}\text{ }=\text{ }x\mathop{{}}\nolimits\_{{t}}}latexX_t+1 = x_t

Gibbs-Sampling

1: latexzufa¨lliginitialisierenX_0 = x_0, Y_0 = y_0latex zufällig initialisieren {X\mathop{{}}\nolimits\_{{0}}\text{ }=\text{ }x\mathop{{}}\nolimits\_{{0}},\text{ }Y\mathop{{}}\nolimits\_{{0}}\text{ }=\text{ }y\mathop{{}}\nolimits\_{{0}}}latexzufa¨lliginitialisierenX_0 = x_0, Y_0 = y_0

2: Zyklische Abtastung von latext = 0, 1, 2, latex {t\text{ }=\text{ }0,\text{ }1,\text{ }2,\text{ }…}latext = 0, 1, 2, 

  • latexy_t+1  p(yx_t)latex {y\mathop{{}}\nolimits\_{{t+1}}\text{ } \sim \text{ }p{ \left( {y \left| x\mathop{{}}\nolimits\_{{t}}\right. } \right) }}latexy_t+1  p(yx_t)
  • latexx_t+1  p(xy_t+1)latex {x\mathop{{}}\nolimits\_{{t+1}}\text{ } \sim \text{ }p{ \left( {x \left| y\mathop{{}}\nolimits\_{{t+1}}\right. } \right) }}latexx_t+1  p(xy_t+1)

Verweise

【1】Erste Schritte mit MCMC

【2】Eine kurze Analyse der Markov-Ketten-Monte-Carlo-Methode

KI mit KI entwickeln

Von der Idee bis zum Launch – beschleunigen Sie Ihre KI-Entwicklung mit kostenlosem KI-Co-Coding, sofort einsatzbereiter Umgebung und bestem GPU-Preis.

KI-gestütztes kollaboratives Programmieren
Sofort einsatzbereite GPUs
Die besten Preise

HyperAI Newsletters

Abonnieren Sie unsere neuesten Updates
Wir werden die neuesten Updates der Woche in Ihren Posteingang liefern um neun Uhr jeden Montagmorgen
Unterstützt von MailChimp