Domanda:
Qualcuno può spiegare il campionamento di Gibbs con parole molto semplici?
Thea
2011-05-02 00:37:57 UTC
view on stackexchange narkive permalink

Sto facendo delle letture sulla modellazione degli argomenti (con Latent Dirichlet Allocation) che fa uso del campionamento di Gibbs. Essendo un principiante in statistica ― beh, conosco cose come binomi, multinomiali, a priori, ecc., Trovo difficile capire come funziona il campionamento di Gibbs. Qualcuno può spiegarlo in inglese semplice e / o usando semplici esempi? (Se non hai familiarità con la modellazione degli argomenti, qualsiasi esempio andrà bene.)

Vedi questa domanda: http://stats.stackexchange.com/questions/8485/a-good-gibbs-sampling-tutorials-and-references
Mi chiedo chi ha segnalato per segnalare questa domanda come duplicata?Questa domanda è precedente alla domanda nel link ...
Tre risposte:
#1
+182
charles.y.zheng
2011-05-02 01:52:41 UTC
view on stackexchange narkive permalink

Sei un dungeonmaster che ospita Dungeons & Dragons e un giocatore lancia Spell of Eldritch Chaotic Weather (SECW). Non hai mai sentito parlare di questo incantesimo prima, ma si scopre che è piuttosto coinvolgente. Il giocatore ti porge un libro denso e dice: "l'effetto di questo incantesimo è che uno degli eventi in questo libro si verifica". Il libro contiene ben 1000 effetti diversi e, per di più, gli eventi hanno diverse "probabilità relative". Il libro ti dice che l'evento più probabile è "palla di fuoco"; vengono descritte tutte le probabilità degli altri eventi rispetto alla probabilità di "palla di fuoco"; ad esempio: a pagina 155, si dice che "tempesta di anatre" ha la metà delle probabilità di "palla di fuoco".

Come stai, il Dungeon Master, a campionare un evento casuale da questo libro? Ecco come puoi farlo:

L'algoritmo di accettazione-rifiuto:

1) Lancia un d1000 per decidere un evento "candidato".

2) Supponiamo che l'evento candidato sia il 44% più probabile dell'evento più probabile, "palla di fuoco". Quindi accetta il candidato con una probabilità del 44%. (Tira un d100 e accetta se il risultato è 44 o inferiore. Altrimenti, torna al passaggio 1 finché non accetti un evento.)

3) L'evento accettato è il tuo campione casuale.

L'algoritmo accetta-rifiuta è garantito per campionare dalla distribuzione con le probabilità relative specificate.

Dopo aver tirato molti dadi si finisce finalmente per accettare un candidato: 'summon frog'. Tiri un sospiro di sollievo mentre ora puoi tornare alla faccenda (di routine in confronto) di gestire la battaglia tra gli orchi-troll e gli elfi-drago.

Tuttavia, per non essere da meno, un altro giocatore decide di lanciare "Level. 2 tempesta arcana effetto cyber. ' Per questo incantesimo, si verificano due diversi effetti casuali: un attacco generato casualmente e un buff del personaggio generato casualmente. Il manuale di questo incantesimo è così vasto che può stare solo su un CD. Il giocatore ti avvia e ti mostra una pagina. Ti lascia a bocca aperta: la voce per ogni attacco è grande circa quanto il manuale dell'incantesimo precedente, perché elenca una probabilità relativa per ogni possibile buff che lo accompagna

' Cupric Blade "

Il buff più probabile che accompagna questo attacco è" Hotelling aura "

" Jackal Vision "ha il 33% di probabilità in più di accompagnare questo attacco come" Hotelling aura "

"Toaster Ears" ha il 20% di probabilità in più di accompagnare questo attacco come "Hotelling aura"

...

Allo stesso modo, la probabilità di un particolare l'attacco che si verifica dipende dalla probabilità che si verifichi il buff.

Sarebbe giustificato chiedersi se una corretta distribuzione di probabilità può anche essere definita data questa informazione. Bene, risulta che se ce n'è uno, è specificato in modo univoco dalle probabilità condizionali fornite nel manuale. Ma come campionarlo?

Fortunatamente per te, il CD viene fornito con un campionatore Gibbs automatizzato, perché dovresti passare un'eternità a fare quanto segue a mano.

Algoritmo di campionamento di Gibbs

1) Scegli un incantesimo di attacco in modo casuale

2) Usa l'algoritmo di accettazione-rifiuto per scegliere il buff condizionato all'attacco

3) Dimentica l'incantesimo di attacco che hai scelto nel passaggio 1 Scegli un nuovo incantesimo di attacco utilizzando l'algoritmo di accettazione-rifiuto condizionato al buff nel passaggio 2

4) Vai al passaggio 2, ripeti per sempre (anche se di solito sono sufficienti 10000 iterazioni)

5) Qualunque sia il tuo algoritmo nell'ultima iterazione, è il tuo campione.

Come vedete, in generale, i campionatori MCMC sono garantiti solo asintoticamente per generare campioni da una distribuzione con le probabilità condizionali specificate. Ma in molti casi, i campionatori MCMC sono l'unica soluzione pratica disponibile.

Idem, +1 per aver inserito D&D in un thread delle statistiche.
Err cos'è un buff?
+1 (dovrebbe essere +10) - La migliore spiegazione che abbia mai sentito:]
@charles, hm interessante, ho sempre pensato che il campionamento di Gibbs sia quando campionate $ p (x | y) $ e $ p (y | x) $ per ottenere il campione di $ (x, y) $. Lo schema di campionamento qui descritto che ho pensato si chiama Metropolis-Hastings. Ho sbagliato?
@mpiktas. Nel secondo esempio, $ x $ è l '"attacco" e $ y $ è il buff. Quindi, in effetti, presento un algoritmo per campionare $ (x, y) $ dato $ p (x | y) $ e $ p (y | x) $.
@charles, grazie, mi mancava. Per qualche strana ragione trovo sempre testi matematici rigorosi più facilmente comprensibili degli esempi non rigorosi. Forse in questo caso il fatto che non ho mai giocato a D&D sta funzionando contro di me. +1 per la risposta però.
È così fantastico che accedo solo per votare e dire grazie!
Non capisco la maggior parte della risposta ...
Non per essere un Orco con la faccia da cane qui ... um .. ma sono d'accordo con @mpiktas,, questo sembra Metropolis-Hastings, non Gibbs.
@charles.y.zheng, quando si utilizzano i propri dati e modello per stimare un parametro, quale sarebbe p (x | y) ep (y | x) per ottenere il campione di (x, y)?x il parametro e y sarebbero i dati?Avrebbe la forma p (parametro | dati, modello)?
Spiegazione di facile comprensione e non ho nemmeno giocato a D&D.Grazie!
@JDLong Gibbs è un caso speciale di metro-hastings.
ok ora, se riesco a ottenere una spiegazione di D&D usando il campionamento Gibbs, sarò a posto!:)
Devo imparare a giocare a D&D adesso per capire una risposta a una domanda sulle statistiche?: /
ADOM chiunque?# & $>
#2
+14
edwinfj_
2016-11-29 20:41:58 UTC
view on stackexchange narkive permalink

Trovo che questo documento GIBBS SAMPLING FOR THE UNINITIATED di Resnik & Hardisty sia molto utile per chi non è esperto di statistiche. Spiega perché & usa il campionamento di Gibbs e contiene esempi che dimostrano l'algo.

Sembra che non possa ancora commentare.

Il campionamento di Gibbs non è un concetto autonomo. Richiede alcune conoscenze preliminari. Di seguito è riportata la catena di conoscenze che ho riassunto dal mio studio, come riferimento (il mio maggiore era di fisica applicata):

  1. Monte Carlo (comprensione di alto livello)
  2. Modello di Markov (alto livello)
  3. Teorema di Bayes
  4. Campionamento di Gibbs

Il documento che ho citato qui segue approssimativamente la catena. Se il collegamento è interrotto, google il nome del documento. Lo troverai.

Alcuni pensieri: non penso che il campionamento di Gibbs possa essere compreso solo da alcuni abstract. Non ci sono scorciatoie per questo. Devi capire la matematica che c'è dietro. E poiché è più simile a una "tecnica", il mio criterio per "comprenderla" è "puoi modificare il suo codice e capire cosa stai facendo (non necessariamente da zero)". Per coloro che pensano di aver capito guardando alcune brevi note, probabilmente capiscono solo cosa è "Markov Chain Monte Carlo" ad un livello elevato e pensano di aver capito tutto (ho creato questa illusione io stesso).

Potresti riassumere il contenuto del collegamento?Altrimenti questo è davvero più un commento che una risposta (anche se sarebbe un commento utile)
Buona citazione su carta: sono nuovo a questo e non bravo con definizioni rigide, e la pagina 2 del documento è il riassunto migliore e più succinto della stima della massima verosimiglianza rispetto al massimo a posteriori che ho visto.
#3
+4
Taylor
2016-11-30 00:31:02 UTC
view on stackexchange narkive permalink

Da wikipedia: "L'obiettivo di Gibbs Sampling qui è approssimare la distribuzione della notazione $ P (\ mathbf {Z} | \ mathbf {W}; \ alpha, \ beta) $" può essere trovato sul sito wiki o dal documento originale qui.

Una "scansione" del campionamento di Gibbs mirato alla distribuzione di cui sopra ti fornirà le seguenti distribuzioni di probabilità: $ 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) $. Puoi scorrerli in sequenza oppure puoi scegliere a caso quale di questi campionare. Ma continui a fare scansioni più e più volte per ottenere molti campioni. Qualunque opzione tu scelga, ottieni una sequenza di $ \ mathbf {Z} $ s.

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

Ogni $ \ mathbf {Z} ^ i $ è una matrice $ N \ volte K $. Inoltre, per due matrici $ \ mathbf {Z} $ consecutive, solo un elemento sarà diverso. Questo perché stai campionando da una distribuzione $ P (\ mathbf {Z} _ {(m, n)} | \ mathbf {Z} _ {- (m, n)} \ mathbf {W}; \ alpha, \ beta) $ quando passi da un campione all'altro.

Perché vorresti questo? Non vogliamo estrazioni indipendenti e identiche da $ P (\ mathbf {Z} | \ mathbf {W}; \ alpha, \ beta) $? In questo modo potremmo usare la legge dei grandi numeri e i teoremi del limite centrale per approssimare le aspettative, e avremmo un'idea dell'errore. Ma dubito che queste estrazioni $ \ mathbf {Z} $ siano indipendenti. E sono persino identici (provengono anche dalla stessa distribuzione)?

Il campionamento di Gibbs può ancora darti una legge dei grandi numeri e un teorema limite centrale. $ \ mathbf {Z} ^ 1, \ mathbf {Z} ^ 2, \ mathbf {Z} ^ 3 \ ldots $ è una catena di Markov con distribuzione stazionaria / invariante $ P (\ mathbf {Z} | \ mathbf {W}; \ alpha, \ beta) $.Ciò significa che la distribuzione marginale di ogni estrazione è dalla distribuzione che stai mirando (quindi sono estrazioni identiche).Tuttavia, non sono indipendenti.In pratica questo significa che esegui la catena più a lungo o sottocampioni la catena (prendi solo ogni 100 campioni, diciamo).Tutto può ancora "funzionare", però.

Per ulteriori informazioni fare clic sul collegamento sotto la domanda.Ci sono alcuni buoni riferimenti pubblicati in quel thread.Questa risposta cerca solo di darti il jist usando la notazione nei comuni riferimenti LDA.



Questa domanda e risposta è stata tradotta automaticamente dalla lingua inglese. Il contenuto originale è disponibile su stackexchange, che ringraziamo per la licenza cc by-sa 3.0 con cui è distribuito.
Loading...