2012-08-22 10 views
41

Ich verstehe, was Gradient Descent tut. Im Grunde versucht es, sich der lokalen optimalen Lösung zu nähern, indem man langsam die Kurve hinunterfährt. Ich versuche zu verstehen, was ist der tatsächliche Unterschied zwischen dem Gradientabstieg und der Newton-Methode?Was ist der Unterschied zwischen Gradient Descent und Newton's Gradient Descent?

Von Wikipedia, ich lese diese kurze Zeile "Newtons Methode verwendet Krümmungsinformationen, um einen direkteren Weg zu nehmen." Was bedeutet das intuitiv?

+2

Die Krümmung bezieht sich darauf, wie Newtons Methode die Ableitung zweiter Ordnung der Funktion verwendet. Gradientenabstieg ist typischerweise erster Ordnung. – akk

+1

Sehen Sie diesen Vortrag von Anfang bis Ende: https://www.youtube.com/watch?v=sTCtkkqrY8A&index=15&list=PL3940DD956CDF0622 –

Antwort

49

Bei einem lokalen Minimum (oder Maximum) x verschwindet die Ableitung der Zielfunktion f: f'(x) = 0 (unter der Annahme einer ausreichenden Glätte von f).

Gradientenabstieg versucht, ein solches Minimum zu finden x mit Informationen aus der ersten Ableitung von f: Es folgt einfach der steilste Abstieg vom aktuellen Punkt. Das ist, als würde man einen Ball den Graphen von f hinunter rollen, bis er zur Ruhe kommt (während man die Trägheit vernachlässigt).

Newton-Verfahren versucht, einen Punkt x erfüllt f'(x) = 0 durch Annähern f' mit einer linearen Funktion g und dann die Lösung für die Wurzel dieser Funktion zu finden explizit (dies ist Newtons Wurzelfindungsmethode genannt). Die Wurzel von g ist nicht unbedingt die Wurzel von f', aber es ist unter vielen Umständen eine gute Schätzung (die Wikipedia article on Newton's method for root finding hat weitere Informationen zu Konvergenzkriterien). Während sich Newtons f' annähert, macht es Gebrauch von f'' (die Krümmung von f). Dies bedeutet, dass es höhere Anforderungen an die Laufruhe von f stellt, aber es bedeutet auch, dass es (durch Verwendung von mehr Informationen) oft schneller konvergiert.

+0

Ich sehe immer Erwähnungen über die Wahl der 'steilsten Abstammung'. Was bedeutet das? Ist das die negativste Zahl von 'f '(x)'? –

+0

@Chowza: Wenn Ihre Domäne mehrdimensional ist, z. Wenn "f" 2D-Punkte auf reelle Zahlen abbildet, ist der Gradient von "f" an keinem Punkt eine skalare Zahl, sondern ein Vektor. Der Grund dafür ist, dass die "Steilheit" von "f" an diesem Punkt von der Richtung abhängt, in die man schaut. Es ist wie auf einem Berggipfel: Wenn man nach Norden schaut, kann der Berg sehr steil abfallen, aber zum anderen Seiten kann es weniger steil sein. Die Auswahl des steilsten Abstiegs bedeutet also, die Richtung zu wählen, in der sich die Zielfunktion am stärksten ändert. –

4

Bearbeiten 2017: Der Original-Link ist tot - aber der Weg zurück Maschine immer noch drauf :) https://web.archive.org/web/20151122203025/http://www.cs.colostate.edu/~anderson/cs545/Lectures/week6day2/week6day2.pdf

dieser Leistungspunkt der wichtigsten Ideen sind einfach http://www.cs.colostate.edu/~anderson/cs545/Lectures/week6day2/week6day2.pdf

Ich hoffe, dass diese Hilfe erklärt:)

+0

Der Link ist down – CpCd0y

+0

@ CpCd0y Link aktualisiert :) – MimiEAM

8

Einfach gesagt, Gradientenabstieg machen Sie nur einen kleinen Schritt in Richtung wo Sie denken, die Null ist und dann neu berechnen; Newtons Methode, du gehst den ganzen Weg dorthin.

+0

Ist "der ganze Weg" für eine nicht-quadratische Funktion zutreffend? – bers

+1

Ja, für nicht quadratische Funktionen nähern Sie nur die erste Ableitung mit einer Linie an. Dies ist ein bisschen hand wavey, aber ich denke, es ist gut für die Intuition. – dashnick

+0

Ok, ich stimme zu. Der ganze Weg zu "wo * du denkst * die Null ist" ist zweifellos richtig. – bers