Bayes'sches neuronales Netz
Was sind Bayes'sche neuronale Netze?
Der Begriff Bayes'sche neuronale Netze (BNNs) bezieht sich auf die Erweiterung herkömmlicher neuronaler Netze mit Posterior-Inferenz, um eine Überanpassung zu kontrollieren. Aus einer umfassenderen Perspektive betrachtet, stützt sich der Bayes'sche Ansatz auf statistische Methodik. Dies bedeutet, dass alles mit einer Wahrscheinlichkeitsverteilung versehen wird, einschließlich der Modellparameter (Gewichtungen und Verzerrungen in neuronalen Netzen). In Programmiersprachen liefern Variablen, die einen bestimmten Wert annehmen können, jedes Mal, wenn Sie auf diese Variable zugreifen, das gleiche Ergebnis. Beginnen wir mit der Überarbeitung eines einfachen linearen Modells, das die Ausgabe anhand der gewichteten Summe einer Reihe von Eingabemerkmalen vorhersagt. Im Vergleich dazu können Sie in der Bayes'schen Welt ähnliche Einheiten haben, die auch als Zufallsvariablen bezeichnet werden. Diese geben jedes Mal, wenn Sie auf sie zugreifen, einen anderen Wert zurück. Die historischen Daten stellen nach der Bayes'schen Methode unser Vorwissen über das Gesamtverhalten dar, wobei jede Variable ihre eigenen statistischen Eigenschaften hat, die im Zeitverlauf variieren. Nehmen wir an, dass X eine Zufallsvariable ist, die die Normalverteilung repräsentiert. Jedes Mal, wenn auf X zugegriffen wird, weist das ausgegebene Ergebnis einen anderen Wert auf. Dieser Prozess, einen neuen Wert aus einer Zufallsvariablen zu erhalten, wird als Stichprobe („Sampling“) bezeichnet. Der resultierende Wert ist abhängig von der zugehörigen Wahrscheinlichkeitsverteilung der Zufallsvariablen. Dies bedeutet, dass man im Parameterraum die Art und Form der gelernten Parameter des neuronalen Netzes ableiten kann. In letzter Zeit hat sich mit dem Aufkommen zahlreicher probabilistische Programmierbibliotheken wie PyMC3, Edward, Stan usw. viel in diesem Bereich getan. Die Bayes'schen Methoden werden in vielen Bereichen eingesetzt: von der Spieleentwicklung bis zur Arzneimittelforschung.
Was sind die wichtigsten Vorteile von BNNs?
- Bayes'sche neuronale Netze dienen zur Lösung von Problemen in Bereichen, in denen nur wenige Daten zur Verfügung stehen, da sie eine Überanpassung verhindern. Anwendungsbeispiele hierfür sind die Molekularbiologie und die medizinische Diagnostik (Bereiche, in denen Daten häufig aus kostspieligen und komplexen Experimenten stammen).
- Bayes'sche Netze sind universell einsetzbar
- Sie können für eine große Anzahl von Aufgaben bessere Ergebnisse erzielen, lassen sich jedoch nur sehr schwer auf große Probleme skalieren.
- Mithilfe von BNNs können Sie automatisch einen Fehler in Verbindung mit Ihren Vorhersagen berechnen, wenn Sie mit Daten von unbekannten Zielen arbeiten.
- Mithilfe von BNNs können Sie die Genauigkeit von Vorhersagen abschätzen, was in Bereichen wie der Medizin von großem Vorteil ist.
Warum sollten Sie Bayes'sche neuronale Netze verwenden?
Anstatt eine einzige Antwort auf eine Frage zu berücksichtigen, können Sie mit Bayes'schen Methoden eine ganze Verteilung von Antworten in Betracht ziehen. Mit diesem Ansatz können Sie gut folgende Probleme angehen:
- Regularisierung (Überanpassung oder nicht),
- Modellauswahl/-vergleich, ohne die Notwendigkeit eines separaten Kreuzvalidierungsdatensatzes