Latent Dirichlet Allocation (LDA) e Hierarchical Dirichlet Process (HDP) sono entrambi processi di modellazione degli argomenti. La differenza principale è che LDA richiede la specifica del numero di argomenti e HDP non lo fa. Perché è così? E quali sono le differenze, i pro e i contro di entrambi i metodi di modellazione degli argomenti?
Commenti
- HDP dovrebbe essere basato sui dati per quanto riguarda il numero di argomenti che selezionerà? In pratica, ho provato a eseguire Blei ‘ s HDP e ha solo consumato tutta la memoria fino a quando non ho terminato il processo. Ho 16 GB di RAM e poco più di 100.000 brevi documenti da analizzare.
Risposta
HDP è unestensione di LDA, progettata per affrontare il caso in cui il numero di componenti della miscela (il numero di “argomenti” in termini di modellazione del documento) non è noto a priori. Questo è il motivo per cui cè una differenza.
Utilizzando LDA per la modellazione dei documenti, si tratta ogni “argomento” come una distribuzione di parole in un vocabolario noto. Per ogni documento viene disegnata una miscela di argomenti da una distribuzione di Dirichlet, a quindi ogni parola nel documento è unestrazione indipendente da quella miscela (ovvero, selezionare un argomento e quindi usarlo per generare una parola).
Per HDP (applicato alla modellazione del documento), si usa anche un processo di Dirichlet per catturare lincertezza nel numero di argomenti. Quindi viene selezionata una distribuzione di base comune che rappresenta linsieme numerabile infinito di possibili argomenti per il corpus, quindi la distribuzione finita di argomenti per ogni documento viene campionata da questa distribuzione di base.
Per quanto riguarda i professionisti e contro, HDP ha il vantaggio che il numero massimo di argomenti può essere illimitato e appreso dai dati piuttosto che specificato in anticipo. Suppongo però che sia più complicato da implementare e non necessario nel caso in cui sia accettabile un numero limitato di argomenti.
Risposta
Aneddoticamente, non sono mai stato colpito dalloutput dellADD 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, ispezionando manualmente gli argomenti prodotti, decidendo se aumentare o diminuire il numero di argomenti e continuare a iterare finché non ottengo la granularità che sto cercando.
Ricorda: lADL gerarchico non può leggere la tua mente … non sa per cosa intendi effettivamente utilizzare la modellazione dellargomento. Proprio come con il clustering k-means, dovresti scegliere il k che ha più senso per il tuo caso duso.
Answer
Desidero sottolineare, poiché questo è uno dei principali risultati di Google per questo argomento, che Latent Dirichlet Allocation (LDA), Hierarchical Dirichlet Processes (HDP), e hierarchical Latent Dirichlet Allocation (hLDA) sono tutti modelli distinti.
I modelli LDA documentano come miscele dirichlet di un numero fisso di argomenti – scelti come parametro del modello dallutente – che sono a loro volta miscele dirichlet di parole. Questo genera un raggruppamento probabilistico piatto e morbido di termini in argomenti e documenti in argomenti.
HDP modella gli argomenti come miscele di parole, proprio come LDA, ma piuttosto che documenti che sono miscele di un numero fisso di argomenti, il numero di argomenti è generato da un processo dirichlet, con il risultato che il numero di argomenti viene anche una variabile casuale. La parte “gerarchica” del nome si riferisce a un altro livello aggiunto al modello generativo (il processo dirichlet che produce il numero di argomenti), non agli argomenti stessi: gli argomenti sono ancora raggruppamenti piatti.
hLDA, daltra parte, è un adattamento di LDA che modella gli argomenti come miscele di un nuovo livello distinto di argomenti, tratti da dirichlet distribuzioni e non processi. Tratta ancora il numero di argomenti come un iperparametro, cioè indipendente dai dati. La differenza è che il raggruppamento ora è gerarchico: apprende un raggruppamento del primo insieme di argomenti stessi, fornendo relazioni più generali e astratte tra argomenti (e quindi parole e documenti). Pensalo come raggruppare gli scambi di stack in matematica, scienze, programmazione, storia, ecc. Invece di raggruppare la scienza dei dati e la convalida incrociata in un argomento astratto di statistica e programmazione che condivide alcuni concetti con, ad esempio, lingegneria del software, ma lingegneria del software lo scambio è raggruppato a un livello più concreto con lo scambio di informatica e la somiglianza tra tutti gli scambi menzionati non appare così tanto fino al livello superiore dei cluster.
Risposta
Ho una situazione in cui HDP funziona bene rispetto a LDA. Ho circa 16000 documenti che appartengono a varie classi.Poiché non sono a conoscenza di quanti argomenti diversi posso raccogliere per ogni classe, lHDP è davvero utile in questo caso.
Risposta
In realtà HDP richiede molti parametri nascosti, che sono nel codice. Se giochi con tali parametri otterrai risultati diversi (argomenti diversi). La gente di solito non presta attenzione a tali parametri nascosti e pensa che il modello sia in grado di trovare tali parametri. Non è vero. Lutente deve definire i parametri “eta”, “gamma” e “alpha” e il numero massimo di argomenti. Se si specifica un massimo di argomenti, diciamo circa 23 argomenti, il modello fornisce 23 argomenti in output. Se imposti 15 argomenti, ottieni 15 argomenti in output….
Risposta
Il documento del 2005 di Yee Whye Teh et al “ Hierarchical Dirichlet Processes descrive un precedente non parametrico per raggruppati problemi di clustering. Per l esempio , lHDP aiuta a generalizzare il Latent Dirichlet Allocation nel caso in cui il numero di argomenti nei dati venga scoperto dallalgoritmo di inferenza invece di essere specificato come parametro del modello. la spiegazione sul processo di Dirichlet può essere trovata qui
I modelli di argomenti promettono di aiutare a riassumere e organizzare grandi archivi di testi che non possono essere facilmente analizzati a mano . Il Hierarchical Dirichlet process (HDP) è un potente misto modello dellanca per lanalisi senza supervisione di dati raggruppati. A differenza della sua controparte finita, allocazione latente di Dirichlet , il modello di argomento HDP deduce il numero di argomenti dai dati.