[PYTHON] Bayes passend

Überprüfung der Genauigkeit der Bayes'schen linearen Regression

Einführung

Ich habe die Bayes'sche lineare Regression bei PRML studiert.

Gewöhnliche lineare Regression überlernt durch Auswahl komplexer Parameter

Es ist schwierig, die Parameter anzupassen, wenn Sie den Regularisierungsterm einschließen ...

Also Bayesianische lineare Regression! !!

Es scheint, dass selbst wenn das Modell kompliziert ist, es nicht überlernen wird ...

"Ja wirklich?" ??

Experimentieren Sie dort! !!

Experimentelle Bedingungen

Ideale Kurve (grün): Sinusfunktion, Abtastung mit hinzugefügtem Rauschen

Bayesianische lineare Regression (rot): Alpha = 0,005, Beta = 10,0

Lineare Regression (blau)

Lineare Regression + L2-Regularisierung: λ = 0,001

Es gibt zwei Muster von Basisfunktionen [1, x, x ^ 2, x ^ 3] und [1, x, x ^ 2,…, x ^ 20](M = 3 und M = 20).

Der Code ist unten angegeben. https://github.com/kenchin110100/machine_learning/blob/master/sampleBAYES.py

Ergebnis

Basisfunktion M = 3

Erstens mit der Basisfunktion M = 3 und der Anzahl der Datenproben von 10. m3sample10.png

Als nächstes mit 100 Proben m3sample100.png

Wenn die Basisfunktion M = 3 ist, gibt es keinen großen Unterschied ...

Basisfunktion M = 20

Wenn die Basisfunktion M = 20 ist und das Modell kompliziert ist ...

Zunächst beträgt die Anzahl der Proben 10 m20sample10.png

Als nächstes beträgt die Anzahl der Proben 100 m20sample100.png

Oh ~~ (Regularisierung ist ziemlich ...)

Fazit

Sicherlich ist der Unterschied offensichtlich, wenn er auf komplexe Modelle angewendet wird! !!

In Anbetracht dessen, dass Sie Parameter für die L2-Regularisierung entwickeln müssen,

Mr. Bayes.

Recommended Posts

Bayes passend
Bayes Update
Gaußsche Anpassung