Wie integrieren wir neue Informationen in eine Dirichlet-Vorverteilung?


8

Mein Problem ist folgendes: Ich habe ein Ensemble von Prädiktoren, die jeweils eine Verteilung über eine Reihe von Klassen erzeugen.

Was ich tun möchte, ist, zuerst einen nicht informativen Vorgänger darüber zu haben, wie diese Etikettenverteilung aussieht, und diesen dann vorab mit der Vorhersage jedes Ensemblemitglieds zu aktualisieren.

Daher habe ich mir überlegt, vorher ein nicht informatives Dirichlet zu verwenden, das ich dann mit jeder Stichprobenverteilung aktualisiere, die als Vorhersage eingeht.

Meine Frage ist: Ist dieser Ansatz gültig, und wenn ja, wie würde ich meinen Prior so aktualisieren, dass er definierter wird, wenn sich mehr Proben ansammeln?


Ich weiß, dass Sie genau das in Latent Dirichlet Allocation tun können. Sie verwenden die Daten, um das Dirichlet vor der multinomialen Wahrscheinlichkeit zu aktualisieren. Weitere Informationen finden Sie unter folgenden Links: dirichlet.net/pdf/wallach09rethinking.pdf und people.eecs.berkeley.edu/~jordan/papers/hdp.pdf
KenHBS

Antworten:


6

Dirichlet prior ist ein geeigneter Prior und ist das Konjugat vor einer multinomialen Verteilung. Es scheint jedoch etwas schwierig, dies auf die Ausgabe einer multinomialen logistischen Regression anzuwenden, da eine solche Regression einen Softmax als Ausgabe hat, keine multinomiale Verteilung. Was wir jedoch tun können, ist eine Stichprobe aus einem Multinom, dessen Wahrscheinlichkeiten durch den Softmax gegeben sind.

Wenn wir dies als neuronales Netzwerkmodell zeichnen, sieht es so aus:

Geben Sie hier die Bildbeschreibung ein

Daraus können wir leicht in Vorwärtsrichtung probieren. Wie gehe ich mit der Rückwärtsrichtung um? Wir können den Reparametrisierungstrick aus Kingmas Artikel 'Auto-Encoding Variational Bayes', https://arxiv.org/abs/1312.6114 , verwenden. Mit anderen Worten, wir modellieren die multinomiale Zeichnung als deterministische Abbildung, wenn man die Eingangswahrscheinlichkeitsverteilung berücksichtigt. und ein Unentschieden aus einer Standard-Gaußschen Zufallsvariablen:

xout=g(xin,ϵ)

Dabei gilt Folgendes:ϵN(0,1)

So wird unser Netzwerk:

Geben Sie hier die Bildbeschreibung ein

So können wir Mini-Stapel von Datenbeispielen weiterleiten, aus der Standardnormalverteilung schöpfen und über das Netzwerk zurückgeben. Dies ist ziemlich Standard und weit verbreitet, z. B. das oben genannte Kingma VAE-Papier.

Eine kleine Nuance ist, dass wir diskrete Werte aus einer Multinomialverteilung ziehen, aber das VAE-Papier behandelt nur den Fall kontinuierlicher realer Ausgaben. Es gibt jedoch ein kürzlich veröffentlichtes Papier, den Gumbel-Trick, https://casmls.github.io/general/2017/02/01/GumbelSoftmax.html , dh https://arxiv.org/pdf/1611.01144v1.pdf , und https://arxiv.org/abs/1611.00712 , mit dem Zeichnungen aus diskreten multinomialen Papieren erstellt werden können.

Die Gumbel-Trickformeln geben die folgende Ausgabeverteilung an:

pα,λ(x)=(n1)!λn1k=1n(αkxkλ1i=1nαixiλ)

Die hier sind vorherige Wahrscheinlichkeiten für die verschiedenen Kategorien, die Sie anpassen können, um Ihre anfängliche Verteilung dahingehend zu verschieben, wie Sie denken, dass die Verteilung anfänglich verteilt werden könnte.αk

Wir haben also ein Modell, das:

  • enthält eine multinomiale logistische Regression (die lineare Schicht gefolgt vom Softmax)
  • Fügt am Ende einen multinomialen Abtastschritt hinzu
  • Dies beinhaltet eine vorherige Verteilung über die Wahrscheinlichkeiten
  • kann mit Stochastic Gradient Descent oder ähnlichem trainiert werden

Bearbeiten:

Die Frage lautet also:

"Ist es möglich, diese Art von Technik anzuwenden, wenn wir mehrere Vorhersagen (und jede Vorhersage kann wie oben ein Softmax sein) für eine einzelne Stichprobe (aus einem Ensemble von Lernenden) haben?" (siehe Kommentare unten)

Also ja :). Es ist. Verwenden Sie beispielsweise Multitasking-Lernen, z . B. http://www.cs.cornell.edu/~caruana/mlj97.pdf und https://en.wikipedia.org/wiki/Multi-task_learning . Außer Multitasking hat das Lernen ein einziges Netzwerk und mehrere Köpfe. Wir werden mehrere Netzwerke und einen einzigen Kopf haben.

Der "Kopf" besteht aus einer Extraktschicht, die das "Mischen" zwischen den Netzen übernimmt. Beachten Sie, dass Sie eine Nichtlinearität zwischen Ihren "Lernenden" und der "Misch" -Ebene benötigen, z. B. ReLU oder Tanh.

Sie weisen darauf hin, dass jedes "Lernen" seinen eigenen multinomialen Draw oder zumindest Softmax erhält. Insgesamt denke ich, dass es üblicher sein wird, zuerst die Mischschicht zu haben, gefolgt von einem einzelnen Softmax und einem multinomialen Draw. Dies ergibt die geringste Varianz, da weniger Ziehungen vorgenommen werden. (Sie können beispielsweise das Papier "Variational Dropout" ( https://arxiv.org/abs/1506.02557) lesen , in dem mehrere zufällige Ziehungen explizit zusammengeführt werden, um die Varianz zu verringern. Diese Technik wird als "lokale Neuparametrisierung" bezeichnet.)

Ein solches Netzwerk sieht ungefähr so ​​aus:

Geben Sie hier die Bildbeschreibung ein

Dies hat dann folgende Eigenschaften:

  • kann einen oder mehrere unabhängige Lernende mit jeweils eigenen Parametern umfassen
  • kann einen Prior über die Verteilung der Ausgabeklassen einschließen
  • wird lernen, sich zwischen den verschiedenen Lernenden zu vermischen

Beachten Sie nebenbei, dass dies nicht die einzige Möglichkeit ist, die Lernenden zu kombinieren. Wir könnten sie auch eher wie eine Autobahn kombinieren, ähnlich wie Boosten, so etwas wie:

Geben Sie hier die Bildbeschreibung ein

In diesem letzten Netzwerk lernt jeder Lernende, alle bisher vom Netzwerk verursachten Probleme zu beheben, anstatt eine eigene, relativ unabhängige Vorhersage zu erstellen. Ein solcher Ansatz kann recht gut funktionieren, dh Boosting usw.


1
Vielen Dank, dies ist wirklich nützlich, obwohl die Frage immer noch einen unbeantworteten Aspekt hat: Ist es möglich, diese Art von Technik anzuwenden, wenn wir mehrere Vorhersagen (und jede Vorhersage kann wie oben ein Softmax sein) für eine einzelne Stichprobe (aus einem Ensemble von) haben? Lernende). Meine Vermutung wäre nicht, weil die Proben nicht iid sind
Bar

@ Bar: Guter Punkt. Aktualisiert für mehrere Lernende
Hugh Perkins
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.