Utajony przydział Dirichleta a hierarchiczny proces Dirichleta

49

Utajone przydzielanie Dirichleta (LDA) i hierarchiczny proces Dirichleta (HDP) to procesy modelowania tematów. Główną różnicą jest to, że LDA wymaga specyfikacji liczby tematów, a HDP nie. Dlaczego to jest takie? A jakie są różnice, zalety i wady obu metod modelowania tematów?

alvas
źródło
Czy HDP ma być napędzany danymi w odniesieniu do liczby wybranych tematów? Z praktycznego punktu widzenia próbowałem uruchomić implementację HDP Blei i zjadłem całą pamięć, dopóki nie zabiłem procesu. Mam 16 GB pamięci RAM i nieco ponad 100 000 krótkich dokumentów do analizy.
Vladislavs Dovgalecs

Odpowiedzi:

35

HDP jest rozszerzeniem LDA, mającym na celu rozwiązanie przypadku, w którym liczba składników mieszaniny (liczba „tematów” w kategoriach modelowania dokumentów) nie jest z góry znana. Dlatego to jest różnica.

Używając LDA do modelowania dokumentów, każdy „temat” traktuje się jako rozkład słów w znanym słownictwie. Dla każdego dokumentu sporządzana jest mieszanina tematów z rozkładu Dirichleta, a następnie każde słowo w dokumencie jest niezależnym rysunkiem z tej mieszaniny (to znaczy, wybierając temat, a następnie używając go do wygenerowania słowa).

W przypadku HDP (stosowanego do modelowania dokumentów) stosuje się również proces Dirichleta, aby uchwycić niepewność co do liczby tematów. Tak więc wybierany jest wspólny rozkład podstawowy, który reprezentuje niezliczony zestaw możliwych tematów dla korpusu, a następnie próbka skończonego rozkładu tematów dla każdego dokumentu jest próbkowana z tego rozkładu podstawowego.

Jeśli chodzi o zalety i wady, HDP ma tę zaletę, że maksymalna liczba tematów może być nieograniczona i wyciągnięta z danych, a nie określona z góry. Wydaje mi się, że jego wdrożenie jest bardziej skomplikowane i niepotrzebne w przypadku, gdy dopuszczalna jest ograniczona liczba tematów.

Tim Goodman
źródło
22

Anegdotycznie nigdy nie byłem pod wrażeniem wyników z hierarchicznej LDA. Po prostu wydaje się, że nie ma optymalnego poziomu szczegółowości przy wyborze liczby tematów. Osiągnąłem znacznie lepsze wyniki, uruchamiając kilka iteracji zwykłej LDA, ręcznie sprawdzając wygenerowane tematy, decydując, czy zwiększyć lub zmniejszyć liczbę tematów i kontynuując iterację, aż uzyskam ziarnistość, której szukam.

Pamiętaj: hierarchiczna LDA nie może odczytać twojego umysłu ... nie wie, do czego właściwie zamierzasz użyć modelowania tematów. Podobnie jak w przypadku klastrowania k-średnich, powinieneś wybrać k, który najlepiej pasuje do Twojego przypadku użycia.

Charlie Greenbacker
źródło
16

Chciałem zauważyć, ponieważ jest to jeden z najlepszych wyników Google w tym temacie, że Latent Dirichlet Allocation (LDA), Hierarchical Dirichlet Processes (HDP) i hierarchical Latent Dirichlet Allocation (hLDA) to wszystkie odrębne modele.

LDA modeluje dokumenty jako mieszanki dirichletów o ustalonej liczbie tematów - wybranych przez użytkownika jako parametr modelu - które z kolei są mieszaninami dirichletów. Generuje to płaskie, miękkie probabilistyczne grupowanie terminów w tematy i dokumenty w tematy.

HDP modeluje tematy jako mieszanki słów, podobnie jak LDA, ale zamiast dokumentów będących mieszankami określonej liczby tematów, liczba tematów jest generowana przez proces dirichleta, w wyniku czego liczba tematów jest również zmienną losową. „Hierarchiczna” część nazwy odnosi się do kolejnego poziomu dodawanego do modelu generatywnego (proces dirichleta generujący liczbę tematów), a nie samych tematów - wciąż są to płaskie skupienia.

hLDA jest natomiast adaptacją LDA, która modeluje tematy jako mieszanki nowego, odrębnego poziomu tematów, zaczerpniętych z dystrybucji dirichletaa nie procesy. Nadal traktuje liczbę tematów jako hiperparametr, tzn. Niezależnie od danych. Różnica polega na tym, że grupowanie jest teraz hierarchiczne - uczy się grupowania samego pierwszego zestawu tematów, zapewniając bardziej ogólne, abstrakcyjne relacje między tematami (a zatem słowami i dokumentami). Pomyśl o tym jak o klastrze wymiany stosów w matematyce, nauce, programowaniu, historii itp., W przeciwieństwie do klastrowania nauki o danych i krzyżowej weryfikacji w abstrakcyjną statystykę i temat programowania, który dzieli niektóre pojęcia, powiedzmy, inżynierii oprogramowania, ale inżynierii oprogramowania wymiana jest skupiona na bardziej konkretnym poziomie z wymianą informatyczną, a podobieństwo między wszystkimi wymienionymi wymianami pojawia się dopiero w górnej warstwie klastrów.

użytkownik38663
źródło
0

Mam sytuację, w której HDP działa dobrze w porównaniu do LDA. Mam około 16000 dokumentów należących do różnych klas. Ponieważ nie wiem, ile różnych tematów mogę zebrać dla każdej klasy, HDP jest w tym przypadku bardzo pomocne.

Nischal Hp
źródło