Gradientenabstieg oder nicht für einfache lineare Regression


9

Es gibt eine Reihe von Websites, die den Gradientenabstieg beschreiben, um die Parameter für die einfache lineare Regression zu finden ( hier ist einer davon). Google beschreibt es auch in ihrem neuen (für die Öffentlichkeit) ML-Kurs.

Jedoch auf Wikipedia , die folgenden Formeln , die Parameter zur Berechnung

α^=y¯β^x¯,β^=i=1n(xix¯)(yiy¯)i=1n(xix¯)2

Außerdem hat die Scikit-Learn- LinearRegression- Funktion kein n_iter_Attribut (Anzahl der Iterationen) wie viele andere Lernfunktionen, was vermutlich darauf hindeutet, dass der Gradientenabstieg nicht verwendet wird.

Fragen:

  1. Beschreiben die Websites, die den Gradientenabstieg für eine einfache lineare Regression beschreiben, dies nur, um das Konzept anhand des grundlegendsten ML-Modells zu vermitteln? Entspricht die Formel auf Wikipedia den meisten Statistiksoftware zur Berechnung der Parameter (zumindest scheint Scikit-Learn keinen Gradientenabstieg zu verwenden)?
  2. Was wird normalerweise für die multiple lineare Regression verwendet?
  3. Für welche Arten von statistischen Lernmodellen wird der Gradientenabstieg normalerweise verwendet, um die Parameter gegenüber anderen Methoden zu ermitteln? Dh gibt es eine Faustregel?

Antworten:


8
  1. Die lineare Regression wird häufig verwendet, um das Konzept des Gradientenabfalls einzuführen .

  2. QR-Faktorisierung ist die häufigste Strategie. SVD und Cholesky-Faktorisierung sind weitere Optionen. Siehe Benötigen wir einen Gradientenabstieg, um die Koeffizienten eines linearen Regressionsmodells zu ermitteln?

Beachten Sie insbesondere, dass die von Ihnen geschriebenen Gleichungen eine schlechte numerische Konditionierung aufweisen und / oder teuer zu berechnen sind. Die QR-Faktorisierung ist weniger anfällig für Konditionierungsprobleme (aber nicht immun) und nicht zu teuer.

  1. Neuronale Netze sind das bekannteste Beispiel für die angewandte Verwendung des Gradientenabfalls, aber es ist bei weitem nicht das einzige Beispiel. Ein weiteres Beispiel für ein Problem, das iterative Aktualisierungen erfordert, ist die logistische Regression, die keine direkten Lösungen zulässt. Daher wird normalerweise Newton-Raphson verwendet. (Es können aber auch GD oder seine Varianten verwendet werden.)

Bezieht sich in dem von Ihnen angegebenen Link # 3: Die "normalen Gleichungen" auf die Gleichungen in meiner Frage hier? Wenn nicht, wie lautet der Fachbegriff für diese Gleichungen?
Oliver Angelil

1
@OliverAngelil Die "normalen Gleichungen" sind in der Tat der Jargonbegriff für das lineare Gleichungssystem, das die Bedingungen erster Ordnung für das gewöhnliche Optimierungsproblem der kleinsten Quadrate sind.
Matthew Gunn

Werden die "normalen Gleichungen" in Statistiksoftware verwendet, wenn nur eine Prädiktorvariable vorhanden ist? Für n = 100 erhalte ich identische (bis zu 6 Dezimalstellen) Koeffizienten b0 und b1, wenn ich beim Scikit-Lernen die normalen Gleichungen gegen die LinearRegression-Funktion verwende. Obwohl ich verwirrt bin: # 3 im Link besagt, dass die "normalen Gleichungen" eine "SCHRECKLICHE" Idee sind?
Oliver Angelil

1
6 Dezimalstellen sind mehr als genug für mich!
Oliver Angelil

2
@anu Um die logistische Regression nicht iterativ zu lösen, muss ein nichtlineares Gleichungssystem minimiert werden. Im Allgemeinen ist das schwer! Diese Situation ist analog zum Abel-Ruffini-Theorem (keine algebraische Lösung für Wurzeln eines Polynoms 5. Grades): Wir haben einfach keine direkten Berechnungsmethoden, um das System genau zu lösen. IIRC, dies wird im Kapitel Elemente des statistischen Lernens über logistische Regression erörtert . Es gibt wahrscheinlich irgendwo einen Thread in der Statistik. SE auch darüber, aber ich habe Probleme, einen guten zu finden.
Sycorax sagt Reinstate Monica
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.