Model wielomianowy-Dirichleta z rozkładem hiperpriorów na parametry stężenia

10

Postaram się opisać problem tak ogólnie, jak to możliwe. Modeluję obserwacje jako rozkład kategoryczny z parametrem wektor prawdopodobieństwa theta.

Następnie zakładam, że wektor parametrów theta podąża za rozkładem Dirichleta z parametrami α1,α2,,αk .

Czy można zatem narzucić również rozkład hiperpriorów na parametry α1,α2,,αk ? Czy będzie to rozkład wielowymiarowy, taki jak rozkład kategoryczny i rozkład Dirichleta? Wydaje mi się, że wartości alfa są zawsze dodatnie, więc hiperprior gamma powinien działać.

Nie jestem pewien, czy ktoś próbował dopasować takie (prawdopodobnie) sparametryzowane modele, ale wydaje mi się rozsądne sądzić, że alfa nie powinno być naprawione, ale raczej pochodzi z rozkładu gamma.

Proszę o dostarczenie mi referencji i spostrzeżeń, w jaki sposób mogę spróbować takiego podejścia w praktyce.

Dnaiel
źródło
Tak, jest to możliwe i zostało zrobione. Ogólnie nazywa się to Bayesowskim modelem hierarchicznym. Najlepiej, aby to wcześniejsze uwzględniło możliwe zależności.
@Procrastinator dzięki. czy masz jakieś odniesienia do dobrych bayesowskich modeli hierarchicznych dotyczących tego rodzaju modeli? dzięki.
Dnaiel
@Procrastinator: Czy udało Ci się uzyskać jakieś dokumenty / raporty lub idealnie praktyczne dokumenty aplikacyjne dotyczące Bayesowskich modeli hierarchicznych?
Zhubarb,

Odpowiedzi:

12

Nie wydaje mi się, żeby był to w ogóle „nadmiernie zmaterializowany” model. Twierdziłbym, że stawiając przełożonego nad parametrami Dirichleta, mniej zależy ci na jakimś konkretnym wyniku. W szczególności, jak zapewne wiecie, dla symetrycznych rozkładów Dirichleta (tj ) ustalanie α < 1 daje więcej uprzedniej prawdopodobieństwo nielicznych wielomianowych dystrybucjach, podczas gdy α > 1 daje więcej uprzedniej prawdopodobieństwo wygładzić wielomianu dystrybucje.α1=α2=...αKα<1α>1

W przypadkach, w których nie ma silnych oczekiwań co do rzadkich lub gęstych rozkładów wielomianowych, umieszczenie hiperpriora nad rozkładem Dirichleta zapewnia Twojemu modelowi dodatkową elastyczność wyboru między nimi.

Pierwotnie wpadłem na pomysł zrobienia tego z tego artykułu . Hiperprior, którego używają, jest nieco inny niż sugerujesz. Próbkują wektor prawdopodobieństwa z dirichleta, a następnie skalują go za pomocą losowania z wykładniczej (lub gamma). Tak więc modelem jest

βDirichlet(1)λExponential()θDirichlet(βλ)

Dodatkowy Dirichlet ma po prostu uniknąć narzucania symetrii.

Widziałem także, jak ludzie używają hiper-gamma przed Dirichletem w kontekście ukrytych modeli markowa z wielomianowymi rozkładami emisji, ale nie mogę znaleźć odniesienia. Wygląda też na to, że spotkałem podobne hipersy używane w modelach tematycznych.

jerad
źródło
Dzięki świetna odpowiedź! Mam jedną krótką kontynuację Q, czy ten model pozwoli na inną zmienność dla każdej z thetas? Mam to pytanie, ponieważ parametr lambda jest wspólny dla wszystkich thetas, dlatego wszystkie mają ten sam parametr skalowania, więc zastanawiałem się w przypadku nadmiernej dyspersji model zapewniłby taką elastyczność. Twoja intuicja / wiedza tutaj są bardzo mile widziane! dzięki!
Dnaiel
@Dnaiel, powiedz mi, jeśli nie rozumiem twojego pytania, ale tak, nawet z symetrycznym dirichletem wcześniej, powiedz , czerpanie z tego rozkładu będzie miało tendencję do tworzenia rzadkich θ wektory. Przez rzadki mam na myśli, że gdybyś wykreślił wektor θ jako histogram, byłby on bardzo pikowy, a nie płaski. W powyższym modelu parametry Dirichleta nie są symetryczne ze względu na to, że parametr β jest pobierany z hiperpriora dirichleta. Dirichlet(0.2,0.2,0.2,0.2)θθβ
jerad
4

Aby zademonstrować rozwiązanie tego problemu hiper-pierwszeństwa, wdrożyłem hierarchiczny model wielomianowy gamma-Dirichleta w PyMC3. Priorytet gamma dla Dirichleta jest określony i próbkowany zgodnie z postem na blogu Teda Dunninga .

Model, który wdrożyłem, można znaleźć w tej Gist, ale opisano go również poniżej:

Jest to bayesowski hierarchiczny model (łączenie) ocen filmów. Każdy film można ocenić w skali od zera do pięciu. Każdy film jest oceniany kilka razy. Chcemy znaleźć płynniejszy rozkład ocen dla każdego filmu.

Nauczymy się wcześniejszej dystrybucji najwyższego poziomu (hyperprior) na temat ocen filmów na podstawie danych. Każdy film będzie wtedy miał swój własny ekwipunek, który zostanie wygładzony przez ten ekwipunek najwyższego poziomu. Innym sposobem myślenia na ten temat jest to, że liczba ocen dla każdego filmu zostanie zmniejszona w kierunku dystrybucji na poziomie grupy lub grupy.

Jeśli film ma nietypowy rozkład ocen, takie podejście zmniejszy oceny do czegoś bardziej zgodnego z oczekiwaniami. Ponadto ten wyuczony wcześniej może być przydatny do ładowania filmów z niewielką liczbą ocen, aby umożliwić ich znaczące porównanie z filmami z wieloma ocenami.

Model wygląda następująco:

γk=1...KGamma(α,β)

θm=1...MDirichletM(cγ1,...,cγK)

zm=1...M,n=1...NmCategoricalM(θm)

gdzie:

  • KK=6
  • M
  • Nmm
  • α=1/K
  • β
  • c
  • γkk
  • θmK
  • zmnnm
Brad B.
źródło
1

Jest to wcześniejsze wcześniejsze modelowanie koniugatu Bayesa. Naturalne przedłużenie modelu Beta-Binomial. Dobrym źródłem informacji na ten temat może być książka . A Posterior to także Dirichlet, a zatem symulacja z dirichleta zapewni niezbędne podsumowania

Subbiah
źródło
1
dzięki. Znam taką książkę, świetne referencje. Próbowałem się temu przyjrzeć, ale nie zapewniają one bezpośrednio takiego wielomianowego modelu hierarchicznego, ale mają mnóstwo dobrych pomysłów, które można zastosować.
Dnaiel
1
Wielomian dirichleta jest modelem sprzężonym, ale operatorzy zapytali o (hiper-) wcześniejsze parametry Dirichleta. Nie ma wcześniejszego standardowego koniugatu dla dystrybucji Dirichleta, chociaż w rzeczywistości trzeba go istnieć , ponieważ należy on do rodziny wykładniczej.
jerad