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:
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:
xaus= g( xim, ϵ )
Dabei gilt Folgendes:ϵ ∼ N.( 0 , 1 )
So wird unser Netzwerk:
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)=(n−1)!λn−1∏k=1n(αkx−λ−1k∑ni=1αix−λi)
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:
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:
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.