Schritt für Schritt zur Theorie, Implementierung in Python und Analyse mit scikit-learn über den Algorithmus, der zuvor in "Klassifikation des maschinellen Lernens" verwendet wurde. Ich werde mit lernen. Ich schreibe es zum persönlichen Lernen, daher möchte ich, dass Sie alle Fehler übersehen.
Bisher haben wir "einzelne Regression" und "multiple Regression" gesehen, aber beide haben auf demselben Gebiet der linearen Regression gesprochen. Dieses Mal möchte ich das "** lineare Basisregressionsmodell ", das die lineare Regression verallgemeinert, und die " Gradientenabstiegsmethode **" zur Optimierung der Verlustfunktion zusammenfassen. Die folgenden Seiten wurden auf diese Zeit verwiesen.
Um eine ungefähre Kurve für die Datenzeichenfolge zu zeichnen, lautet das einzelne Regressionsmodell
y=w_0x_0+w_1x_1+\cdots+w_nx_n
Es sollte angenähert werden durch. Darüber hinaus ist ersichtlich, dass für eine einfache Regression nur zwei Elemente in der multiplen Regressionsgleichung verwendet wurden.
Wenn nun das Gewicht jedes Terms $ (w_0, w_1, \ cdots, w_n) $ ist, kann die Funktion des Modells tatsächlich alles sein, und wenn dies $ y = \ phi (x) $ ist,
y(\boldsymbol{x}, \boldsymbol{w}) = \sum_{j=0}^{M-1}w_j\phi_{j}(\boldsymbol{x})
Es wird ausgedrückt als. $ \ boldsymbol {w} = (w_0, w_1, \ cdots, w_ {M-1}) ^ T $, $ \ boldsymbol {\ phi} = (\ phi_0, \ phi_1, \ cdots, \ phi_ {M-1 }) ^ T $. Wenn $ \ phi_0 = 1 $ (Abschnittsbegriff),
y(\boldsymbol{x}, \boldsymbol{w}) = \boldsymbol{w}^T\phi(x)
werden. Dieses $ \ phi (x) $ heißt ** Basisfunktion **.
Der verallgemeinerte Ausdruck bedeutet, dass lineare Regression bedeutet, eine Folge von Koeffizienten $ \ boldsymbol {w} $ zu finden, die eine gegebene Datenzeichenfolge am besten darstellt, indem bestimmte Basisfunktionen kombiniert werden. ..
Mit scikit-learn können Sie verschiedene Basisfunktionen für die Regression verwenden.
Für einfache und mehrfache Regressionen haben wir einen Koeffizienten gefunden, der die Summe der quadratischen Residuen minimiert. Obwohl es möglich war, w mit einfacher Regression mathematisch zu finden, ist es oft sehr schwierig, eine analytische Lösung zu finden, wenn die Basisfunktion kompliziert ist oder wenn die Daten viele Dimensionen haben. In solchen Fällen ist es notwendig, den Koeffizienten ungefähr zu finden. In diesem Fall wird "** Gradientenabstiegsmethode **" verwendet. Es ist buchstäblich eine Methode, um den optimalen Wert zu finden, während Sie den Hang hinuntergehen (Gradient).
Überlegen Sie, wie Sie die Koeffizienten finden und wie Sie sie mathematisch lösen können. Es wird nachstehend ausführlich beschrieben.
Es ist eine Methode, um eine Lösung durch Formeltransformation zu finden, wie in einfache Regression und multiple Regression beschrieben. Es ist eine Methode zum Lösen simultaner Gleichungen aus quadratischer Vervollständigung und partieller Differenzierung. Wenn die Formel einfach ist, gibt es kein Problem, aber wenn das Modell kompliziert ist, gibt es Fälle, in denen es nicht gelöst werden kann.
Die Gradientenmethode ist buchstäblich eine Möglichkeit, den Gradienten der Verlustfunktion zu verringern. Der Wert der Verlustfunktion muss klein sein, um den optimalen Parameter zu finden, aber es ist ein Bild davon, wie man eine Steigung hinunter zu einem kleineren Wert geht.
Die Methode des steilsten Abstiegs und die Methode des probabilistischen Gradientenabstiegs werden häufig an maschinellen Lernorten eingeführt, aber in der Welt des tiefen Lernens nimmt die verwendete Gradientenabstiegsmethode zu. Man kann sagen, dass dies ein Bereich ist, in dem tiefes Lernen floriert und sich weiterentwickelt.
Wenn bei der Verlustfunktion $ f (x, y) $ der Gradientenvektor teilweise durch $ x $ bzw. $ y $ differenziert ist, ist
Die Schwäche dieser Methode besteht jedoch darin, dass es nicht immer eine Verlustfunktion gibt. Die Position der Konvergenz ändert sich, wenn der Anfangswert genommen wird (konvergiert zur lokalen Lösung).
Die Methode mit dem steilsten Abstieg bezieht sich auf einen Punkt, während sich die Methode mit dem probabilistischen Gradientenabstieg auf mehrere Proben bezieht. Berechnen Sie
In den meisten Fällen scheint SGD schneller zu konvergieren, aber die Methode mit dem steilsten Abstieg ist schneller zu berechnen. In den meisten Fällen denke ich, dass es in Ordnung ist, wenn Sie SGD verwenden (Wikipedia talk. % 9A% 84% E5% 8B% BE% E9% 85% 8D% E9% 99% 8D% E4% B8% 8B% E6% B3% 95)).
Ich schrieb über allgemeine Regressionen und Lösungen, indem ich einfache und mehrfache Regressionen entwickelte. Wenn ich die bisherige Theorie verwende, denke ich, dass es notwendig ist, zu verschiedenen Proben zurückzukehren.
Ich wollte eigentlich die Python-Implementierung ausprobieren, war aber erschöpft. Nachdem ich einige Implementierungen in Python ausprobiert habe, möchte ich als nächstes die Überanpassung und Regularisierung zusammenfassen.
Recommended Posts