Im Allgemeinen werden neuronale Netze nicht zum Modellieren vollständiger Wahrscheinlichkeitsdichten verwendet. Ihr Fokus liegt darauf, nur den Mittelwert einer Verteilung (oder in einer deterministischen Situation einfach eine nichtlineare Funktion) zu modellieren. Dennoch ist es sehr gut möglich, vollständige Wahrscheinlichkeitsdichten über neuronale Netze zu modellieren.
Ein einfacher Weg, dies zu tun, besteht zum Beispiel in einem Gaußschen Fall darin, den Mittelwert von einer Ausgabe und die Varianz von einer anderen Ausgabe des Netzwerks zu emittieren und dann die Funktion als Teil von zu minimieren der Trainingsprozess anstelle des allgemeinen quadratischen Fehlers. Dies ist das Maximum-Likelihood-Verfahren für ein neuronales Netzwerk.- l o gN( y| x; μ,σ)
Wenn Sie dieses Netzwerk jedes Mal trainieren, wenn Sie einen Wert als Eingabe eingeben , erhalten Sie das μ und das σ . Anschließend können Sie das gesamte Triplett y , μ , σ mit der Dichte f ( y | x ) ∼ N ( μ , σ ) um den Dichtewert für jedes beliebige y zu erhalten . In diesem Stadium können Sie den zu verwendenden y- Wert basierend auf einer realen Domain-Loss-Funktion auswählen. Beachten Sie, dass für μ die Aktivierung des Ausgangs nicht eingeschränkt sein sollte, damit Sie Folgendes ausgeben können :xμσy,μ,σf(y|x)∼N(μ,σ)yyμ bis + inf, während σ nur eine positive Aktivierung sein sollte.−inf+infσ
Sofern es sich nicht um eine deterministische Funktion handelt, nach der wir streben, ist das in neuronalen Netzen verwendete Standardtraining mit quadratischem Verlust so ziemlich das gleiche Verfahren, das ich oben beschrieben habe. Unter der Haube a Verteilung implizit ohne Sorge um die angenommen wird , σ und wenn man sorgfältig prüfen - l o g N ( y | x ; μ , σ ) erhalten Sie einen Ausdruck für squared Verlust ( Der Verlust Funktion des Gaußschen Maximum-Likelihood-Schätzers ). In diesem Szenario jedoch anstelle eines yGaussianσ−logN(y|x;μ,σ)yWenn Sie einen Wert nach Ihren Wünschen wählen, müssen Sie jedes Mal ausgeben, wenn Sie einen neuen x- Wert erhalten.μx
Für die Klassifikation wird die Ausgabe a sein Verteilung anstelle eines G a u s s i a n , die einen einzigen Parameter auszusenden hat. Wie in der anderen Antwort angegeben, liegt dieser Parameter zwischen 0 und 1, sodass die Aktivierung des Ausgangs entsprechend erfolgen sollte. Dies kann eine logistische Funktion sein oder etwas anderes, das den gleichen Zweck erfüllt.BernoulliGaussian01
Ein differenzierterer Ansatz ist Bishops Mixture Density Networks. Sie können darüber in dem Artikel nachlesen, auf den häufig verwiesen wird:
https://publications.aston.ac.uk/373/1/NCRG_94_004.pdf