Der Hauptgrund, warum der Gradientenabstieg für die lineare Regression verwendet wird, ist die Komplexität der Berechnung: In einigen Fällen ist es rechenaufwendiger (schneller), die Lösung mithilfe des Gradientenabstiegs zu finden.
Die Formel, die Sie geschrieben haben, sieht auch rechnerisch sehr einfach aus, da sie nur für den univariaten Fall funktioniert, dh wenn Sie nur eine Variable haben. Im multivariaten Fall, wenn Sie viele Variablen haben, sind die Formeln auf dem Papier etwas komplizierter und erfordern viel mehr Berechnungen, wenn Sie sie in Software implementieren:
Hier, Sie müssen die Matrix berechnen dann invertieren (siehe Hinweis unten). Es ist eine teure Rechnung. Zu Ihrer Information hat die (Entwurfs-) Matrix X K + 1 Spalten, wobei K die Anzahl der Prädiktoren und N Reihen von Beobachtungen ist. In einem Algorithmus für maschinelles Lernen können Sie K> 1000 und N> 1.000.000 erhalten. Die der Matrix selbst dauert eine Weile, dann muss sie invertiert werdenX ' X X ' X K × K
β=(X′X)−1X′Y
X′XX′XK×K Matrix - das ist teuer.
Der Gradientenabstieg spart also viel Rechenzeit. Darüber hinaus ermöglicht die Vorgehensweise eine einfache Parallelisierung, dh die Verteilung der Berechnungen auf mehrere Prozessoren oder Maschinen. Die lineare Algebra-Lösung kann auch parallelisiert werden, ist jedoch komplizierter und dennoch teuer.
Darüber hinaus gibt es Versionen mit Gefälle, bei denen Sie nur einen Teil Ihrer Daten im Speicher behalten, wodurch sich die Anforderungen an den Computerspeicher verringern. Insgesamt ist es für besonders große Probleme effizienter als eine Lösung mit linearer Algebra.
Dies wird mit zunehmender Dimensionalität noch wichtiger, wenn Sie Tausende von Variablen wie beim maschinellen Lernen haben.
Bemerkung . Ich war überrascht, wie viel Aufmerksamkeit dem Gefälle in Ngs Vorlesungen geschenkt wird. Er verbringt nicht unerhebliche Zeit damit, darüber zu sprechen, vielleicht 20% des gesamten Kurses. Für mich ist es nur ein Implementierungsdetail, wie genau Sie das Optimum finden. Der Schlüssel liegt in der Formulierung des Optimierungsproblems, und wie genau Sie es finden, ist nicht wesentlich. Ich würde mir nicht allzu viele Sorgen machen. Überlassen Sie es den Informatikern und konzentrieren Sie sich auf das, was Ihnen als Statistiker wichtig ist.
Vor diesem Hintergrund muss ich zugeben, dass es in der Tat wichtig ist, die Komplexität der Berechnungen und die numerische Stabilität der Lösungsalgorithmen zu verstehen . Ich glaube immer noch nicht, dass Sie die Details der Implementierung und den Code der Algorithmen kennen müssen. Es ist normalerweise nicht die beste Nutzung Ihrer Zeit als Statistiker.
Anmerkung 1 . Ich habe geschrieben, dass man die Matrix aus didaktischen Gründen umkehren muss und nicht, wie gewöhnlich man die Gleichung löst. In der Praxis werden die Probleme der linearen Algebra durch eine Art Faktorisierung wie QR gelöst, bei der Sie die Matrix nicht direkt invertieren, sondern andere mathematisch äquivalente Manipulationen ausführen, um eine Antwort zu erhalten. Sie tun dies, weil die Matrixinversion in vielen Fällen eine teure und numerisch instabile Operation ist.
Dies bringt als Nebeneffekt einen weiteren kleinen Vorteil des Algorithmus für den Gradientenabstieg mit sich: Er funktioniert auch dann, wenn die Entwurfsmatrix Kollinearitätsprobleme aufweist. Der übliche lineare Algebra-Pfad würde explodieren und der Gradientenabstieg wird auch für kollineare Prädiktoren fortgesetzt.