Wenn wir die Kostenfunktion differenzieren und Parameter finden können, indem wir Gleichungen lösen, die durch partielle Differenzierung in Bezug auf jeden Parameter erhalten wurden, und herausfinden, wo die Kostenfunktion minimal ist. Ich denke auch, dass es möglich ist, mehrere Orte zu finden, an denen die Ableitungen Null sind, wodurch wir nach all diesen Orten suchen und globale Minima finden können
Warum wird stattdessen ein Gradientenabstieg durchgeführt?
machine-learning
computational-statistics
Niranjan Kotha
quelle
quelle
Antworten:
Selbst bei linearen Modellen, bei denen Sie eine analytische Lösung haben, ist es möglicherweise am besten, einen solchen iterativen Löser zu verwenden.
Wenn wir beispielsweise die lineare Regression betrachten, erfordert die explizite Lösung das Invertieren einer Matrix mit der Komplexität . Dies wird im Zusammenhang mit Big Data unerschwinglich.O ( N.3)
Außerdem sind viele Probleme beim maschinellen Lernen konvex, sodass die Verwendung von Verläufen sicherstellt, dass wir bis zum Äußersten gelangen.
Wie bereits erwähnt, gibt es immer noch relevante nichtkonvexe Probleme wie neuronale Netze, bei denen Gradientenmethoden (Backpropagation) einen effizienten Löser darstellen. Auch dies ist besonders relevant für den Fall des tiefen Lernens.
quelle
Ein Gefälle ist nicht erforderlich. Es stellt sich heraus, dass der Gradientenabstieg oft ein schrecklich ineffizienter Optimierungsalgorithmus ist! Bei iterativen Methoden ist es oft möglich, eine bessere Bewegungsrichtung zu finden als dort, wo der Gradient am steilsten ist.
Das ist allerdings eine kleine Antwort. Ihre Frage sollte wirklich lauten: "Warum brauchen wir iterative Methoden?" Z.B. Warum nicht gleich zur Lösung gehen, wenn das Problem konvex ist, Slaters Bedingung gilt und die Bedingungen erster Ordnung notwendig und ausreichend für ein Optimum sind? Das heißt, wenn die Lösung als Lösung für ein Gleichungssystem beschrieben werden kann, warum nicht einfach das System lösen? Die Antwort lautet:
quelle
In Kalkül 101 haben wir gelernt, wie man eine Funktion mit der "analytischen Methode" optimiert: Wir müssen nur die Ableitung der Kostenfunktion erhalten und die Ableitung auf 0 setzen und dann die Gleichung lösen. Dies ist wirklich ein Spielzeugproblem und wird in der realen Welt so gut wie nie auftreten.
quelle
Der von Ihnen erwähnte Ansatz kann nur zum Lösen eines Satzes linearer Gleichungen verwendet werden, beispielsweise im Fall einer linearen Regression. Zum Lösen eines Satzes nichtlinearer Gleichungen, beispielsweise in Fällen wie neuronalen Netzen mit Sigmoidaktivierungen, ist der Gradientenabstieg der Ansatz zu gehen. Gradient Descent ist daher ein allgemeinerer Ansatz.
Selbst für lineare Gleichungen ist die Größe der Matrizen, die durch den Satz linearer Gleichungen gegeben sind, sehr groß und es kann schwierig sein, den Speicherbedarf einzuschränken.
quelle