Domanda

latente Dirichlet Allocation (LDA) e Hierarchical Dirichlet Process (HDP) sono entrambi argomento modellazione dei processi. La differenza principale è LDA richiede l'indicazione del numero di argomenti, e HDP non lo fa. Perchè è così? E quali sono le differenze, pro e contro di entrambi argomento modellazione metodi?

È stato utile?

Soluzione

HDP è un'estensione di LDA, destinata a risolvere il caso in cui il numero di componenti della miscela (il numero di "argomenti" in termini di documento modellazione) non è nota a priori. Ecco, questo è il motivo per cui c'è una differenza.

Utilizzando LDA per la modellazione dei documenti, uno considera ogni "argomento" come una distribuzione di parole in un vocabolario nota. Per ogni documento una miscela di argomenti è tratto da una distribuzione di Dirichlet, e quindi ogni parola del documento è un pareggio indipendente da quella miscela (che è, la selezione di un argomento e poi utilizzarlo per generare una parola).

Per HDP (applicata alla modellazione documento), si utilizza anche un processo di Dirichlet per catturare l'incertezza del numero di argomenti. Così una distribuzione base comune è selezionato che rappresenta l'insieme numerabile infinito di possibili argomenti per corpus, e quindi la distribuzione finito di argomenti per ogni documento viene campionato a questa distribuzione di base.

Per quanto riguarda i pro ei contro, HDP ha il vantaggio che il numero massimo di argomenti può essere illimitata e imparato dai dati piuttosto che specificato in anticipo. Suppongo che anche se è più complicato da implementare, e non necessaria nel caso in cui un numero limitato di argomenti è accettabile.

Altri suggerimenti

Aneddoticamente, non sono mai stato impressionato con l'uscita dal LDA gerarchico. Semplicemente non sembra trovare un livello ottimale di granularità per la scelta del numero di argomenti. Ho ottenuto risultati molto migliori eseguendo alcune iterazioni di LDA regolare, ispezionare manualmente gli argomenti che produceva, di decidere se aumentare o diminuire il numero di argomenti, e continuare l'iterazione fino a ottenere la granularità che sto cercando.

Ricordate: LDA gerarchico non può leggere la tua mente ... non sa quello che effettivamente intende utilizzare il tema di modellazione per. Proprio come con k-means clustering, si dovrebbe scegliere il k che rende più senso per il vostro caso d'uso.

ho voluto sottolineare, dal momento che questo è uno dei migliori di Google risultati per questo argomento, che Latent Dirichlet Allocation (LDA), Processi Hierarchical Dirichlet (HDP), e gerarchica Latent Dirichlet Allocation ( HLDA) sono tutti i modelli distinti.

Modelli LDA documenti come miscele Dirichlet di un numero fisso di topics- scelto come parametro del modello da parte dall'utente che sono a loro volta miscele Dirichlet di parole. Questo genera un appartamento, morbido raggruppamento probabilistica dei termini in argomenti e documenti in argomenti.

HDP modelli argomenti come miscele di parole, tanto come LDA, ma piuttosto che documenti essendo miscele di un numero fisso di argomenti, il numero di argomenti è generato da un processo Dirichlet, causando il numero di argomenti essere una variabile casuale come bene. La porzione "gerarchico" del nome si riferisce ad un altro livello viene aggiunto al modello generativa (il processo Dirichlet produrre il numero di argomenti), non gli argomenti themselves- argomenti sono ancora clustering piane.

HLDA, d'altra parte, è un adattamento di LDA che modella soggetti come miscele di un nuovo livello distinto di argomenti, tratti da Dirichlet distribuzioni e non processi. Si tratta ancora il numero di argomenti come iperparametro, cioè indipendente dei dati. La differenza è che il raggruppamento è ora hierarchical- impara un raggruppamento della prima serie di argomenti di loro, dando un più generali, relazioni astratte tra gli argomenti (e quindi, parole e documenti). Pensate a come il clustering gli scambi di stack in matematica, scienze, la programmazione, la storia, ecc in contrapposizione alla scienza i dati di clustering e la convalida incrociata in una statistica astratte e la programmazione argomento che condivide alcuni concetti con, diciamo, ingegneria del software, ma l'ingegneria del software lo scambio è di tipo cluster su un livello più concreto con lo scambio di informatica, e la somiglianza tra tutti gli scambi di cui non appare come molto fino a quando lo strato superiore di cluster.

Ho una situazione in cui HDP funziona bene rispetto alla LDA. Ho circa 16000 documenti che appartengono a diverse classi. Come io sono a conoscenza di come molti argomenti diversi che posso raccogliere per ogni classe, HDP è veramente utile in questo caso.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
scroll top