Nehmen wir zur Veranschaulichung meiner Frage an, ich habe einen Trainingssatz, in dem die Eingabe einen Rauschgrad aufweist, die Ausgabe jedoch nicht.
# Training data
[1.02, 1.95, 2.01, 3.06] : [1.0]
[2.03, 4.11, 5.92, 8.00] : [2.0]
[10.01, 11.02, 11.96, 12.04] : [1.0]
[2.99, 6.06, 9.01, 12.10] : [3.0]
hier ist die Ausgabe die Steigung des Eingabearrays, wenn es rauschfrei wäre (nicht die tatsächliche Steigung).
Nach dem Training des Netzwerks sollte die Ausgabe für eine bestimmte Eingabe ungefähr so aussehen.
# Expected Output
[1.01, 1.96, 2.00, 3.06] : 95% confidence interval of [0.97, 1.03]
[2.03, 4.11, 3.89, 3.51] : 95% confidence interval of [2.30, 4.12]
Meine Frage ist, wie ein neuronales Netzwerk so erstellt werden kann, dass es einen vorhergesagten Wert und ein Vertrauensmaß zurückgibt, z. B. eine Varianz oder ein Vertrauensintervall.
Antworten:
Es hört sich so an, als ob Sie nach einem Vorhersageintervall suchen , dh einem Intervall, das einen festgelegten Prozentsatz zukünftiger Realisierungen enthält. (In den Tag-Wikis finden Sie das Vorhersageintervall und das Konfidenzintervall für die Differenz.)
Ihre beste Wahl ist wahrscheinlich, direkt mit NN-Architekturen zu arbeiten, die keine Einzelpunktvorhersagen, sondern vollständige Vorhersageverteilungen ausgeben . Sie können dann gewünschte Vorhersageintervalle (oder Mittelwert- oder Medianpunktvorhersagen) direkt aus diesen Verteilungen extrahieren. Ich und andere haben argumentiert, dass Vorhersageverteilungen viel nützlicher sind als Punktvorhersagen , aber um ehrlich zu sein, ich habe noch nicht viel Arbeit an Vorhersageverteilungen mit neuronalen Netzen gesehen, obwohl ich meine Augen offen gehalten habe. Dieses Papier scheint nützlich zu sein. Vielleicht möchten Sie ein bisschen suchen, vielleicht auch mit anderen Schlüsselwörtern wie "Forecast Distributions" oder "Predictive Densities" und so weiter.
Dennoch möchten Sie vielleicht einen Blick auf den NeuroBayes-Algorithmus von Michael Feindt werfen, der einen Bayes-Ansatz verwendet, um prädiktive Dichten vorherzusagen.
quelle
Ich bin mir nicht sicher, ob Sie ein Konfidenzintervall für eine einzelne Vorhersage berechnen können, aber Sie können in der Tat ein Konfidenzintervall für die Fehlerrate des gesamten Datensatzes berechnen (Sie können verallgemeinern, um die Genauigkeit und alle anderen zu bewertenden Maße zu ermitteln).
Wenn Ihre Fehlerrate ist, während einige Daten S der Größe n klassifiziert werden , ergibt sich ein 95% -Konfidenzintervall für Ihre Fehlerrate aus: e ± 1,96 √e S n .
(Siehe Buch "Machine Learning" von Tom Mitchell, Kapitel 5.)
BEARBEITEN
Ich schätze, ich sollte einen allgemeineren Fall angeben, nämlich : wobei allgemeine Auswahlmöglichkeiten fürzNin der folgenden Tabelle aufgeführt sind:
quelle
Vorhersageintervalle (PI) bei nichtparametrischen Regressions- und Klassifizierungsproblemen wie neuronalen Netzen, SVMs, zufälligen Wäldern usw. sind schwierig zu konstruieren. Ich würde gerne andere Meinungen dazu hören.
Nach meinem Kenntnisstand ist Conformal Prediction (CP) jedoch die einzige prinzipielle Methode zur Erstellung kalibrierter PI für die Vorhersage bei nichtparametrischen Regressions- und Klassifizierungsproblemen. Ein Tutorial zu CP finden Sie bei Shfer & Vovk (2008), J. Machine Learning Research 9 , 371-421 [pdf]
quelle
Ich kenne keine Methode, um das genau zu machen.
quelle
Ich habe von keiner Methode gehört, die ein Konfidenzintervall für eine Vorhersage des neuronalen Netzwerks liefert. Trotz eines Mangels an formaler Methodik scheint es möglich zu sein, eine solche zu konstruieren. Ich habe es aufgrund der benötigten Rechenleistung noch nie versucht, und ich mache keine Behauptungen darüber, dass dies funktioniert, aber eine Methode, die für ein winziges neuronales Netz funktionieren könnte (oder mit blitzschneller GPU-Leistung könnte es für Netze mittlerer Größe funktionieren) ) würde darin bestehen, den Trainingssatz erneut zu testen und viele ähnliche Netzwerke (z. B. 10.000 Mal) mit denselben Parametern und Anfangseinstellungen zu erstellen und Konfidenzintervalle auf der Grundlage der Vorhersagen für jedes Ihrer Bootstrap-Netze zu erstellen.
Beispielsweise könnte man in den 10.000 Netzwerken, die wie oben beschrieben trainiert wurden, 2,0 (nach Abrunden der Vorhersagen der neuronalen Netzregression) von 9.000 dieser Zeiten erhalten, sodass Sie 2,0 mit einem 90% -KI vorhersagen würden. Sie können dann für jede vorgenommene Vorhersage ein Array von CIs erstellen und den Modus auswählen, der als primäres CI gemeldet werden soll.
quelle
In Bezug auf die direkte Ausgabe von Vorhersageintervallen gibt es 2011 eine Veröffentlichung mit dem Titel " Umfassender Überblick über neuronale netzbasierte Vorhersageintervalle ".
Sie vergleichen vier Ansätze:
1: Delta-Methode 2: Bayes-Methode 3: Mittlere Varianzschätzung 4: Bootstrap
Dieselben Autoren entwickelten eine Methode zur Schätzung der unteren oberen Schranke für die Konstruktion neuronaler netzbasierter Vorhersageintervalle, die direkt eine untere und obere Schranke aus dem NN ausgibt. Leider funktioniert es nicht mit Backprop, aber die jüngsten Arbeiten haben dies ermöglicht. Hochwertige Vorhersageintervalle für Deep Learning .
Alternativ zur direkten Ausgabe von Vorhersageintervallen modellieren BNNs (Bayesian Neural Networks) die Unsicherheit in den Parametern eines NN und erfassen damit die Unsicherheit am Ausgang. Das ist schwer zu tun, aber populäre Methoden umfassen Lauf MC Aussetzer bei Vorhersagezeit oder ensembling .
quelle
Es gibt tatsächlich Möglichkeiten, dies mit Dropout zu tun. Führen Sie die Evaluierung mit aktiviertem Dropout aus (es ist normalerweise für die Evaluierung deaktiviert, aber beim Training aktiviert) und führen Sie die Evaluierung mehrmals aus.
Die Ergebnisverteilung aus mehreren verschiedenen Läufen kann als Konfidenzintervall verwendet werden.
Siehe den Artikel " Dropout als Bayes'sche Annäherung: Repräsentation der Modellunsicherheit in Deep Learning ". Sehen Sie sich die Youtube-Präsentation an Andrew Rowan - Bayes'sches Deep Learning mit Edward (und einen Trick mit Dropout).
quelle
Es gibt keine Möglichkeit, bei allen ML-Modellen geht es nicht um das Verständnis von Phänomenen, sondern um Interpolationsmethoden mit der Hoffnung, "dass es funktioniert". Beginnen Sie mit solchen Fragen Vertrauen, Robustheit gegen Lärm gibt es keine Antworten.
Um etwas abzuleiten, verwenden Sie bitte verschiedene angewandte und fundamentale Wissenschaften:
Verwenden Sie die Steuerung (und machen Sie eine Vermutung über die Dynamik)
Verwenden Sie konvexe Optimierung (mit einigen zusätzlichen Bedingungen für die Funktion)
Verwenden Sie mathematische Statistiken (mit vorläufigen Annahmen zu Verteilungen)
Signalverarbeitung verwenden (mit einigen Annahmen, dass das Signal bandbegrenzt ist)
Wissenschaftler verwenden einige vorläufige Annahmen (Axiome genannt), um etwas abzuleiten.
Es gibt keine Möglichkeit, ohne eine vorläufige Annahme Vertrauen zu schenken, daher ist dies kein Problem in DL-Methoden, aber es ist ein Problem in jeder Methode, die versucht, ohne eine vorläufige Annahme zu interpolieren - es gibt keine Möglichkeit, ohne Annahme etwas Intelligentes über die Algebra abzuleiten.
NN und verschiedene ML-Methoden sind für das schnelle Prototyping gedacht, um "etwas" zu erstellen, das scheinbar "irgendwie" funktioniert und mit einer Kreuzvalidierung überprüft wurde.
Noch tiefer kann die Regressionsanpassung E [Y | X] oder ihre Schätzung ein absolut falsches zu lösendes Problem sein (vielleicht hat PDF in Punkt Y = E [Y | X] ein Minimum, kein Maximum), und es gibt viele solcher subtilen Probleme Dinge.
Lassen Sie mich auch zwei unlösbare Probleme in AI / ML, die aus bestimmten Gründen vergessen werden können, hinter Schönheitsslogans in Erinnerung rufen:
(1) Es sind Interpolationsmethoden, keine Extrapolation - es ist nicht in der Lage, mit neuen Problemen umzugehen
(2) niemand weiß, wie sich ein Modell auf Daten verhält, die nicht aus derselben Verteilung stammen (Mann in Bananenkostüm zur Fußgängerlokalisierung)
quelle
Dieser Artikel ist eine interessante Präsentation einer Technik, die auf Dropout basiert:
http://mlg.eng.cam.ac.uk/yarin/blog_3d801aa532c1ce.html
quelle