Frage:
Kann jemand Gibbs Sampling mit sehr einfachen Worten erklären?
Thea
2011-05-02 00:37:57 UTC
view on stackexchange narkive permalink

Ich lese etwas über Themenmodellierung (mit Latent Dirichlet Allocation), bei der Gibbs-Sampling verwendet wird. Als Neuling in der Statistik - nun, ich kenne Dinge wie Binome, Multinome, Prioritäten usw. - fällt es mir schwer zu verstehen, wie Gibbs-Sampling funktioniert. Kann es bitte jemand in einfachem Englisch und / oder anhand einfacher Beispiele erklären? (Wenn Sie mit der Themenmodellierung nicht vertraut sind, reichen Beispiele aus.)

Siehe diese Frage: http://stats.stackexchange.com/questions/8485/a-good-gibbs-sampling-tutorials-and-references
Ich frage mich, wer diese Frage als Duplikat gemeldet hat.Diese Frage war älter als die Frage im Link ...
Drei antworten:
#1
+182
charles.y.zheng
2011-05-02 01:52:41 UTC
view on stackexchange narkive permalink

Sie sind ein Dungeonmaster, der Dungeons & Dragons hostet, und ein Spieler wirkt 'Spell of Eldritch Chaotic Weather' (SECW). Sie haben noch nie von diesem Zauber gehört, aber es stellt sich heraus, dass er ziemlich involviert ist. Der Spieler gibt Ihnen ein dichtes Buch und sagt: "Der Effekt dieses Zaubers ist, dass eines der Ereignisse in diesem Buch eintritt." Das Buch enthält sage und schreibe 1000 verschiedene Effekte, und außerdem haben die Ereignisse unterschiedliche „relative Wahrscheinlichkeiten“. Das Buch sagt Ihnen, dass das wahrscheinlichste Ereignis "Feuerball" ist; Alle Wahrscheinlichkeiten der anderen Ereignisse werden in Bezug auf die Wahrscheinlichkeit eines "Feuerballs" beschrieben. Beispiel: Auf Seite 155 heißt es, dass 'Entensturm' halb so wahrscheinlich ist wie 'Feuerball'.

Wie können Sie, der Dungeon-Meister, ein zufälliges Ereignis aus diesem Buch probieren? So geht's:

Der Akzeptanz-Ablehnungs-Algorithmus:

1) Wirf einen d1000, um ein 'Kandidaten'-Ereignis zu bestimmen. P. >

2) Angenommen, das Kandidatenereignis ist 44% so wahrscheinlich wie das wahrscheinlichste Ereignis, 'Feuerball'. Dann akzeptiere den Kandidaten mit einer Wahrscheinlichkeit von 44%. (Wirf einen d100 und akzeptiere, wenn der Wurf 44 oder niedriger ist. Andernfalls gehe zurück zu Schritt 1, bis du ein Ereignis akzeptierst.)

3) Das akzeptierte Ereignis ist deine Zufallsstichprobe.

Es wird garantiert, dass der Akzeptanz-Ablehnungs-Algorithmus mit den angegebenen relativen Wahrscheinlichkeiten aus der Verteilung abtastet.

Nach vielen Würfeln akzeptieren Sie schließlich einen Kandidaten: 'Frosch beschwören'. Sie atmen erleichtert auf, als Sie jetzt zu dem (im Vergleich dazu routinemäßigen) Geschäft zurückkehren können, den Kampf zwischen den Trollorcs und den Drachenelfen zu führen.

Um jedoch nicht übertroffen zu werden, beschließt ein anderer Spieler, 'Level' zu wirken. 2 arkaner Cyber-Effekt-Sturm. ' Für diesen Zauber treten zwei verschiedene zufällige Effekte auf: ein zufällig generierter Angriff und ein zufällig generierter Charakter-Buff. Das Handbuch für diesen Zauber ist so umfangreich, dass es nur auf eine CD passt. Der Player startet Sie und zeigt Ihnen eine Seite. Ihr Kiefer fällt herunter: Der Eintrag für jeden Angriff ist ungefähr so ​​groß wie das Handbuch für den vorherigen Zauber, da er eine relative Wahrscheinlichkeit für jeden möglichen begleitenden Buff

auflistet. ' Cupric Blade '

Der wahrscheinlichste Buff, der diesen Angriff begleitet, ist' Hotelling Aura '

' Jackal Vision 'ist 33% so wahrscheinlich, dass er diesen Angriff begleitet wie' Hotelling Aura '

'Toaster Ears' begleitet diesen Angriff mit einer um 20% höheren Wahrscheinlichkeit als 'Hotelling Aura'

...

Ebenso die Wahrscheinlichkeit eines bestimmten Angriffs Das Auftreten eines Angriffszaubers hängt von der Wahrscheinlichkeit des Auftretens des Buffs ab.

Es wäre gerechtfertigt, sich zu fragen, ob angesichts dieser Informationen überhaupt eine korrekte Wahrscheinlichkeitsverteilung definiert sein kann. Nun, es stellt sich heraus, dass wenn es eine gibt, diese durch die im Handbuch angegebenen bedingten Wahrscheinlichkeiten eindeutig spezifiziert wird. Aber wie kann man daraus probieren?

Zum Glück wird die CD mit einem automatisierten Gibbs-Sampler geliefert, da Sie eine Ewigkeit damit verbringen müssten, Folgendes von Hand zu tun.

Gibbs 'Sampler-Algorithmus

1) Wählen Sie einen Angriffszauber nach dem Zufallsprinzip

2) Verwenden Sie den Accept-Reject-Algorithmus, um den vom Angriff abhängigen Buff auszuwählen

3) Vergessen Sie den Angriffszauber, den Sie in Schritt 1 ausgewählt haben. Wählen Sie einen neuen Angriffszauber mit dem Algorithmus zum Akzeptieren / Ablehnen, der vom Buff in Schritt 2 abhängig ist.

4) Fahren Sie mit Schritt 2 fort und wiederholen Sie ihn für immer (obwohl normalerweise 10000 Iterationen ausreichen)

5) Was auch immer Ihr Algorithmus bei der letzten Iteration hat, ist Ihr Beispiel.

Sie sehen, dass MCMC-Sampler im Allgemeinen nur asymptotisch garantiert Samples aus einer Verteilung mit den angegebenen bedingten Wahrscheinlichkeiten generieren. In vielen Fällen sind MCMC-Sampler jedoch die einzige verfügbare praktische Lösung.

Das Gleiche gilt für +1, um D & D in einen Statistik-Thread zu bringen.
Ähm, was ist ein Buff?
+1 (sollte +10 sein) - Beste Erklärung, die ich je gehört habe:]
@charles, hm interessant, ich denke immer, dass Gibbs-Abtastung ist, wenn Sie $ p (x | y) $ und $ p (y | x) $ abtasten, um die Stichprobe von $ (x, y) $ zu erhalten. Das hier beschriebene Stichprobenschema heißt Metropolis-Hastings. Liege ich falsch?
@mpiktas. Im zweiten Beispiel ist $ x $ der 'Angriff' und $ y $ der Buff. In der Tat präsentiere ich einen Algorithmus zum Abtasten von $ (x, y) $ mit $ p (x | y) $ und $ p (y | x) $.
@charles, danke, ich habe es verpasst. Aus irgendeinem seltsamen Grund finde ich strenge mathematische Texte immer leichter verständlich als die nicht strengen Beispiele. Vielleicht wirkt in diesem Fall die Tatsache, dass ich noch nie D & D gespielt habe, gegen mich. +1 für die Antwort.
Das ist so großartig, dass ich mich anmelde, um es abzustimmen und mich zu bedanken!
Ich verstehe die meisten Antworten nicht ...
Hier kein Ork mit Hundegesicht zu sein ... ähm ... aber ich stimme @mpiktas, zu, das sieht aus wie Metropolis-Hastings, nicht wie Gibbs.
@charles.y.zheng, wenn Sie Ihre eigenen Daten und Ihr eigenes Modell zum Schätzen eines Parameters verwenden, was wären p (x | y) und p (y | x), um die Stichprobe von (x, y) zu erhalten?x der Parameter und y wären die Daten?Hätte es die Form p (Parameter | Daten, Modell)?
Leicht verständliche Erklärung - und ich habe noch nicht einmal D & D gespielt.Vielen Dank!
@JDLong Gibbs ist ein Sonderfall von U-Bahn-Hastings.
ok jetzt, wenn ich eine Erklärung von D & D mit Gibbs Sampling bekommen kann, kann ich loslegen!:) :)
Muss ich jetzt etwas über das Spielen von D & D lernen, um eine Antwort auf eine Statistikfrage zu verstehen?: /
ADOM jemand?# & $>
#2
+14
edwinfj_
2016-11-29 20:41:58 UTC
view on stackexchange narkive permalink

Ich finde dieses Dokument GIBBS SAMPLING FOR THE UNINITIATED von Resnik & Hardisty sehr nützlich für nicht statistische Hintergrundleute. Es erklärt, warum & Gibbs-Sampling verwendet, und es gibt Beispiele, die das Algo demonstrieren.

Scheint, dass ich noch keinen Kommentar abgeben kann.

Gibbs-Sampling ist kein in sich geschlossenes Konzept. Es erfordert einige vorausgesetzte Kenntnisse. Nachfolgend finden Sie die Wissenskette, die ich aus meiner eigenen Studie als Referenz zusammengefasst habe (mein Hauptfach war angewandte Physik):

  1. Monte Carlo (hohes Verständnis)
  2. Markov-Modell (hohes Niveau)
  3. Bayes-Theorem
  4. Gibbs-Abtastung
  5. ol>

    Das hier genannte Dokument folgt ungefähr der Kette. Wenn der Link unterbrochen ist, googeln Sie den Dokumentnamen. Sie werden es finden.

    Einige Gedanken: Ich glaube nicht, dass Gibbs Sampling nur von einigen Abstracts verstanden werden kann. Es gibt keine Abkürzung dafür. Sie müssen die Mathematik dahinter verstehen. Und da es sich eher um eine "Technik" handelt, lautet mein Kriterium für das "Verstehen" "Sie können den Code bearbeiten und verstehen, was Sie tun (nicht unbedingt von Grund auf neu)". Für diejenigen, die glauben, es verstanden zu haben, indem sie sich einige kurze Notizen ansehen, verstehen sie wahrscheinlich nur, was "Markov-Kette Monte Carlo" auf hohem Niveau ist, und denken, sie haben alles (ich habe diese Illusion selbst gemacht).

Können Sie den Inhalt des Links zusammenfassen?Ansonsten ist dies eher ein Kommentar als eine Antwort (obwohl es ein nützlicher Kommentar wäre)
Gutes Papierzitat: Ich bin neu in diesem Bereich und nicht gut mit strengen Definitionen, und Seite 2 des Papiers ist die beste und prägnanteste Zusammenfassung der maximalen Wahrscheinlichkeitsschätzung im Vergleich zum Maximum a posteriori, das ich gesehen habe.
#3
+4
Taylor
2016-11-30 00:31:02 UTC
view on stackexchange narkive permalink

Aus Wikipedia: "Das Ziel von Gibbs Sampling hier ist es, die Verteilung von $ P (\ mathbf {Z} | \ mathbf {W}; \ alpha, \ beta) $" Notation zu approximieren finden Sie auf der Wiki-Site oder auf dem Originalpapier hier.

Ein "Scan" von Gibbs-Stichproben, der auf die obige Verteilung abzielt, ergibt Ziehungen aus den folgenden Wahrscheinlichkeitsverteilungen: $ P (\ mathbf {Z} _ {(1,1)} | \ mathbf {Z} _ {- (1,1)} \ mathbf {W}; \ alpha, \ beta) $, $ P (\ mathbf { Z} _ {(1,2)} | \ mathbf {Z} _ {- (1,2)} \ mathbf {W}; \ alpha, \ beta) $, $ P (\ mathbf {Z} _ {( 1,3)} | \ mathbf {Z} _ {- (1,3)} \ mathbf {W}; \ alpha, \ beta), \ ldots, P (\ mathbf {Z} _ {(N, K) } | \ mathbf {Z} _ {- (N, K)} \ mathbf {W}; \ alpha, \ beta) $. Sie können sie entweder in einer Sequenz durchlaufen oder nach dem Zufallsprinzip auswählen, welche davon Sie als Beispiel verwenden möchten. Aber Sie scannen immer wieder, um viele Proben zu erhalten. Unabhängig von der gewählten Option erhalten Sie eine Folge von $ \ mathbf {Z} $ s.

$$ \ mathbf {Z} ^ 1, \ mathbf {Z} ^ 2, \ mathbf {Z} ^ 3 \ ldots $$

Jedes $ \ mathbf {Z} ^ i $ ist eine $ N \ mal K $ -Matrix. Außerdem ist für zwei aufeinanderfolgende $ \ mathbf {Z} $ -Matrizen nur ein Element unterschiedlich. Das liegt daran, dass Sie eine Stichprobe aus einer Verteilung $ P (\ mathbf {Z} _ {(m, n)} | \ mathbf {Z} _ {- (m, n)} \ mathbf {W}; \ alpha, \ Beta) $, wenn Sie von einer Probe zur nächsten wechseln.

Warum sollten Sie das wollen? Wollen wir nicht unabhängige und identische Draws von $ P (\ mathbf {Z} | \ mathbf {W}; \ alpha, \ beta) $? Auf diese Weise könnten wir das Gesetz der großen Zahlen und der zentralen Grenzwertsätze verwenden, um die Erwartungen zu approximieren, und wir hätten eine Vorstellung von dem Fehler. Aber ich bezweifle, dass diese $ \ mathbf {Z} $ -Ziehungen unabhängig sind. Und sind sie überhaupt identisch (kommen sie überhaupt aus derselben Verteilung)?

Gibbs-Stichproben können Ihnen immer noch ein Gesetz großer Zahlen und einen zentralen Grenzwertsatz geben. $ \ mathbf {Z} ^ 1, \ mathbf {Z} ^ 2, \ mathbf {Z} ^ 3 \ ldots $ ist eine Markov-Kette mit stationärer / invarianter Verteilung $ P (\ mathbf {Z} | \ mathbf {W}; \ alpha, \ beta) $.Das bedeutet, dass die marginale Verteilung jeder Ziehung von der Verteilung abhängt, auf die Sie abzielen (es handelt sich also um identische Ziehungen).Sie sind jedoch nicht unabhängig.In der Praxis bedeutet dies, dass Sie die Kette länger laufen lassen oder die Kette unterproben (z. B. nur jede 100. Probe).Alles kann trotzdem "funktionieren".

Für weitere Informationen würde ich auf den Link unter der Frage klicken.In diesem Thread gibt es einige gute Referenzen.Diese Antwort versucht nur, Ihnen den Jist unter Verwendung der Notation in allgemeinen LDA-Referenzen zu geben.



Diese Fragen und Antworten wurden automatisch aus der englischen Sprache übersetzt.Der ursprüngliche Inhalt ist auf stackexchange verfügbar. Wir danken ihm für die cc by-sa 3.0-Lizenz, unter der er vertrieben wird.
Loading...