Processi Dirichlet per il clustering: come gestire le etichette?


14

D: Qual è il modo standard di raggruppare i dati usando un processo Dirichlet?

Quando si utilizzano i cluster di campionamento di Gibbs, appaiono e scompaiono durante il campionamento. Inoltre, abbiamo un problema di identificabilità poiché la distribuzione posteriore è invariante rispetto alle rietichettature dei cluster. Pertanto, non possiamo dire quale sia il cluster di un utente, ma piuttosto che due utenti siano nello stesso cluster (ovvero ).p(ci=cj)

Possiamo riassumere le assegnazioni di classe in modo che, se è l'assegnazione del cluster del punto , ora non solo quel ma quel ?ciici=cjci=cj=cj=...=cz

Queste sono le alternative che ho trovato e perché penso che siano incomplete o sbagliate.

(1) DP-GMM + campionamento di Gibbs + matrice di confusione basata su coppie

Per utilizzare un modello di miscela gaussiana del processo di Dirichlet (DP-GMM) per un raggruppamento, ho implementato questo documento in cui gli autori propongono un DP-GMM per la stima della densità usando il campionamento di Gibbs.

Per esplorare le prestazioni del clustering, dicono:

Poiché il numero di componenti cambia sulla catena [MCMC], si dovrebbe formare una matrice di confusione che mostri la frequenza di ciascuna coppia di dati assegnata allo stesso componente per l'intera catena, vedere la Figura 6. inserisci qui la descrizione dell'immagine

Contro : Questo non è un vero cluster "completo" ma un cluster a coppie. La figura sembra così bella perché conosciamo i cluster reali e disponiamo la matrice di conseguenza.

(2) DP-GMM + campionamento Gibbs + campione fino a quando non cambia nulla

Ho cercato e ho trovato alcune persone che affermavano di fare un cluster basato sul processo Dirichlet usando un campionatore Gibbs. Ad esempio, questo post considera che la catena converge quando non ci sono più cambiamenti né nel numero di cluster o nei mezzi, e quindi ottiene i riassunti da lì.

Contro : Non sono sicuro che questo sia permesso poiché, se non sbaglio:

  • (a) potrebbero esserci cambi di etichetta durante l'MCMC.

  • (b) anche nella distribuzione stazionaria il campionatore può creare qualche cluster di volta in volta.

(3) DP-GMM + campionamento di Gibbs + scegliere il campione con la partizione più probabile

In questo documento , gli autori dicono:

Dopo un periodo di "burn-in", dal campionatore Gibbs è possibile prelevare campioni imparziali dalla distribuzione posteriore dell'IGMM. Un clustering duro può essere trovato disegnando molti di questi campioni e usando il campione con la più alta probabilità congiunta delle variabili dell'indicatore di classe. Utilizziamo un'implementazione IGMM modificata scritta da M. Mandel .

Contro : A meno che questo non sia un campionatore Gibbs compresso in cui campioniamo solo i compiti, possiamo calcolare ma non il p marginale ( c ) . (Sarebbe una buona pratica invece ottenere lo stato con il più alto ?)p(c|θ)p(c)p(c,θ)

(4) DP-GMM con inferenza variatonale :

Ho visto che alcune biblioteche usano l'inferenza variazionale. Non conosco molto l'Inferenza Variazionale ma immagino che non ci siano problemi di identificabilità lì. Tuttavia, vorrei attenermi ai metodi MCMC (se possibile).

Qualsiasi riferimento sarebbe utile.


Nell'approccio 3 (la modalità posteriore), la tua lamentela riguardo alla mancanza di non ha molto senso per me. Sembra più un reclamo su MCMC in generale che su questo particolare problema. p(c)
Shadowtalker,

Sì, esattamente, intendo che MCMC non ci dà accesso a e quindi non possiamo pretendere di poterlo prendere da un determinato stato della catena. p(c)
Alberto

questo è di progettazione . In realtà, va oltre MCMC: è una funzionalità integrata di qualsiasi modello bayesiano. Semmai, stai riscontrando un problema perché stai cercando di fare qualcosa di innaturale, qualcosa che siamo ossessionati dal fare: stipare una stima distributiva in una stima
puntuale

Ci sono ragioni per non voler fare qualcosa del genere in primo luogo - ci sono vari sensi in cui il modello di miscela di processo di Dirichlet non è in grado di stimare costantemente il numero di cluster (e quindi non può fare un buon lavoro di recupero di un " vero "clustering dei dati). Su questo argomento è stato pubblicato un recente documento al NIPS.
ragazzo

1
Vedi qui . Penso che propongano invece di mettere un Poisson prima del numero di componenti (e ricavare una sorta di processo di ristorazione per implementarlo), ma non sono sicuro se questo è il foglio che lo fanno.
ragazzo

Risposte:


1

cp(c,θ)p(c,θ)p(c|θ)

Il motivo per cui dico che questa risposta è "provvisoria" è che non sono sicuro che la designazione di un valore come "parametro" sia solo una questione di semantica, o se esiste una definizione più tecnica / teorica di uno degli utenti in possesso di dottorato qui sarebbe in grado di chiarire.


p(c,θ)=p(c|θ)p(θ)p(c)

Ancora @alberto, questo non ha nulla a che fare con questo modello e tutto ha a che fare con le statistiche bayesiane. Vedi qui: groups.google.com/forum/m/#!topic/stan-users/qH-2Mq219gs . E se sei preoccupato per più modalità, vedi qui: groups.google.com/forum/m/#topic/stan-users/RsVo9NUn0yM e qui: stats.stackexchange.com/q/3328/36229
shadowtalker

1

Volevo solo condividere alcune risorse sull'argomento, sperando che alcuni di loro potessero essere utili nel rispondere a questa domanda. Esistono molti tutorial sui processi di Dirichlet (DP) , inclusi alcuni sull'uso di DP per il clustering . Si va da "gentile", come questo tutorial di presentazione , a più avanzato, come questo tutorial di presentazione . Quest'ultima è una versione aggiornata dello stesso tutorial, presentata da Yee Whye Teh a MLSS'07. Puoi guardare il video di quel discorso con diapositive sincronizzate qui . Parlando di video, puoi guardare un altro discorso interessante e pertinente con le diapositive di Tom Griffith qui . In termini di tutorial in formato cartaceo, questo tutorial è bello e molto popolare.

Infine, vorrei condividere un paio di articoli correlati. Questo documento sulla DP gerarchica sembra essere importante e pertinente. Lo stesso vale per questo articolo di Radford Neal. Se sei interessato alla modellazione di argomenti , molto probabilmente anche l' allocazione di Dirichlet (LDA) latente dovrebbe essere sul tuo radar. In tal caso, questo documento molto recente presenta un approccio LDA nuovo e molto migliorato. Per quanto riguarda il dominio della modellazione di argomenti, consiglierei di leggere articoli di ricerca di David Blei e dei suoi collaboratori. Questo documento è introduttivo, il resto lo puoi trovare sulla sua pagina delle pubblicazioni di ricerca. Mi rendo conto che alcuni dei materiali che ho raccomandato potrebbero essere troppo semplici per te, ma ho pensato che includendo tutto ciò che ho incontrato sull'argomento, avrei aumentato le possibilità che tu trovassi la risposta .


Capisco cosa stai cercando di fare qui, ma in realtà non risponde alla domanda.
Shadowtalker,

1
@ssdecontrol: Se capisci cosa sto cercando di fare qui (che sta aiutando l'OP a scoprire la risposta e ad apprendere una o due cose), qual è il punto del tuo commento? Non ho mai affermato che la mia risposta è la risposta, ma ho espresso la speranza che sia utile , che alla fine spetta all'OP decidere. Se hai una risposta migliore, sono sicuro che sarà apprezzato dall'OP e dalla comunità.
Aleksandr Blekh,

1
Sì, capisco perfettamente. Questo è molto di quello che faccio anche qui. Ma la domanda è sul modo giusto di selezionare le etichette dei cluster dai risultati MCMC e non credo che questo risolva affatto questa domanda.
Shadowtalker,

@AleksandrBlekh Concordo con ssdecontrol sul fatto che è un po 'fuori tema poiché OP sembra conoscere le "basi" e fa una domanda specifica.
Tim

1
@AleksandrBlekh Apprezzo il tuo post, almeno fa un buon riassunto per un'introduzione a DP. Conosco le basi (livello intermedio, diciamo), ma almeno i tuoi riferimenti mi hanno fatto tornare a LDA e rendermi conto che sono in punta di piedi sul problema poiché le loro etichette spesso non cambiano.
Alberto
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.