Angenommen, ich möchte ein tiefes neuronales Netzwerk trainieren, um eine Klassifizierung oder Regression durchzuführen, aber ich möchte wissen, wie sicher die Vorhersage sein wird. Wie könnte ich das erreichen?
Meine Idee ist es, die Kreuzentropie für jedes Trainingsdatum basierend auf seiner Vorhersageleistung in den darüber liegenden neuronalen Metern zu berechnen. Dann würde ich ein zweites neuronales Netzwerk für die Regression trainieren, das jedes Datum als Eingabe und dessen Kreuzentropie als Ausgabe (einen Ausgabeknoten) verwendet. In der Praxis würden Sie dann beide Netzwerke verwenden - eines zur Vorhersage von Label / Wert und das andere zur Vorhersage des Vertrauens des ersten Netzwerks. (.... Aber würde ich dann ein drittes Netzwerk benötigen, um das Vertrauen des zweiten Netzwerks vorherzusagen, und so weiter ...?!)
Ist das eine gültige Idee? Ist es außerdem eine häufig verwendete Standardidee ? Wenn nicht, was würden Sie vorschlagen?
quelle
Antworten:
Vielleicht verstehe ich die Frage falsch, aber für die Klassifizierung scheint es mir die Standardmethode zu sein, für jede der
N
Klassen ein Ausgangsneuron zu haben .Dann stellt der
N
Vektor der[0, 1]
Ausgabewerte die Wahrscheinlichkeit dar, dass die Eingabe zu jeder Klasse gehört, und kann daher als das "Vertrauen" interpretiert werden, das Sie erhalten möchten.quelle
Für Leute, die an der Schätzung des NN-Vorhersagevertrauens interessiert sind, möchten Sie möglicherweise Dropout als Bayes'sche Näherung betrachten: Darstellung der Modellunsicherheit beim tiefen Lernen (Gal et al., 2016) . Kurz gesagt wird gezeigt, wie die Varianz der Vorhersagen eines Netzwerks mit Ausfall über eine Population von Läufen, in denen ein Ausfall durchgeführt wird, verwendet werden kann, um das Vorhersagevertrauen abzuschätzen. Dieser Ansatz kann für Netzwerke verwendet werden, die zur Klassifizierung oder zur Regression ausgelegt sind.
quelle