Warum nicht die dritte Ableitung zur numerischen Optimierung verwenden?


29

Wenn Hessisch so gut für die Optimierung ist (siehe zB Newtons Methode ), warum dann dort aufhören? Verwenden wir die dritte, vierte, fünfte und sechste Ableitung. Warum nicht?


11
Wenn Sie das Optimum gefunden haben, warum dann weiter suchen? Was versuchst du wirklich zu fragen? Was ist Ihre statistische Frage?
whuber

2
In vielen Fällen ist die einschränkende Verteilung von Schätzungen, die optimale Schätzgleichungen lösen oder objektive Funktionen minimieren, gemeinsam normal, sodass sie vollständig durch ihren ersten und zweiten Moment charakterisiert werden können.
AdamO

3
Wenn Sie etwas tun können, heißt das nicht, dass Sie es tun sollten . Derivate höherer Ordnung sind zunehmend anfällig für Rauschen.
Vladislavs Dovgalecs

6
Ich stimme dafür, diese Frage als "Off-Topic" zu schließen, da es nicht um Statistik geht. Es geht um numerische Optimierung
Aksakal

11
Sie haben keinen wissenschaftlichen Durchbruch erzielt. Halley schlug dich um ungefähr 3 1/4 Jahrhunderte. Halley, E., 1694, "Eine neue, genaue und einfache Methode, um die Wurzeln von Gleichungen im Allgemeinen zu finden, und das ohne vorherige Reduktion" Philos. Trans. Roy. Soc. London, 18, 136–145. Methoden der dritten Ableitung zur Optimierung existieren und sind seit vielen Jahren untersucht worden, haben jedoch keine große Popularität erlangt. Wenn sie gut implementiert sind, kann ihr größter Vorteil eine Erhöhung der Robustheit gegenüber einer gut implementierten Newton-Methode sein. Dies kann für die schlimmsten Probleme von Vorteil sein.
Mark L. Stone

Antworten:


31

Ich interpretiere die Frage als "Warum verwendet Newtons Methode nur erste und zweite Ableitungen, keine dritten oder höheren Ableitungen?"

Tatsächlich hilft es in vielen Fällen, zur dritten Ableitung zu wechseln. Ich habe es schon mal mit benutzerdefinierten Sachen gemacht. Im Allgemeinen erhöht die Verwendung höherer Ableitungen die Komplexität der Berechnungen - Sie müssen alle Ableitungen finden und berechnen, und für multivariate Probleme gibt es viel mehr dritte Ableitungen als erste Ableitungen! - Das überwiegt bei weitem die Einsparungen bei der Schrittzahl, die Sie erhalten, wenn überhaupt. Wenn ich zum Beispiel ein dreidimensionales Problem habe, habe ich drei erste Ableitungen, sechs zweite Ableitungen und zehn dritte Ableitungen. Wenn ich also zu einer Version dritter Ordnung gehe, verdopple ich die Anzahl der Auswertungen, die ich durchführen muss (von 9 auf 19), ganz zu schweigen von der erhöhten Komplexität der Berechnung der Schrittrichtung / -größe, wenn ich diese Auswertungen durchgeführt habe, die Anzahl der Schritte, die ich ausführen muss, wird sich jedoch mit ziemlicher Sicherheit nicht halbieren.

knth(k+n1k1)


3
Können Sie erklären, wie Sie höhere Derivate einsetzen?
whuber

5
@whuber Worauf sich das OP bezieht, das muss ich sehr unklar zugeben, ist Newtons Optimierungsmethode. Die Frage ist wirklich: "Warum verwendet Newtons Methode nur erste und zweite Ableitungen, keine dritten oder höheren Ableitungen?" Es ist nicht nur ein Thema, sondern auch unklar, was er / sie fragt, aber ich dachte, ich würde nur eine Antwort geben, anstatt abzustimmen, um aus dem einen oder anderen Grund zu schließen.
Bogenschütze

4
+1 Ich denke, dies ist eine gute Antwort, aber es könnte verbessert werden, indem Sie anhand der Taylor-Erweiterung zeigen, was Sie vorhaben.
Matthew Drury

8
Einer meiner Professoren - auch ein sehr erfolgreicher Berater - sagte einmal zu uns: "Wann immer Sie glauben, Sie hätten herausgefunden, wie man eine bessere Mausefalle baut, versuchen Sie herauszufinden, warum die 1.000 Leute, die genau diese Idee hatten bevor Sie es nicht auf den Markt gebracht haben. " Der springende Punkt bei der Verwendung von Newton ist das Speichern von Berechnungen - ansonsten würden wir nur eine umfassende Suche durchführen. Ich kann Ihnen versichern, dass das Hinzufügen einer dritten Ableitung zu einem dreidimensionalen Problem sehr, sehr selten die Verdopplung der Berechnung bei jedem Schritt mit stark reduzierten Iterationen finanziert, es sei denn, die Funktion ist eine kubische Funktion.
Jbowman

9
Nein, das ist es nicht - es ist ein etwas tiefer gehenderer Kommentar, als er zuerst erscheinen mag. Der Punkt ist zweifach - die meisten Ideen, die auf den ersten Blick gut erscheinen, sind es aus Gründen, die möglicherweise gar nicht offensichtlich sind, nicht. Der eigentliche Schlüssel für einen Durchbruch ist möglicherweise nicht die Idee selbst, sondern etwas, das den Fehler überwindet oder umgeht die Idee. Diese Argumentation weist darauf hin und fordert Sie auf, nach Schwachstellen in der Idee zu suchen. Es geht nicht darum aufzugeben, es geht darum, Dinge zu überdenken und dabei kritisch zu sein.
Bogenschütze

22

Ich verstehe den statistischen Aspekt dieser Frage nicht wirklich, daher beantworte ich den Optimierungsteil.

Es gibt zwei Teile zur Konvergenz: Iteration Kosten & Iteration Zählung

So ziemlich jede Antwort hier konzentriert sich auf nur die Iteration Kosten und ignoriert die Iteration Zählung . Aber beide sind wichtig. Eine Methode, die in 1 Nanosekunde iteriert, aber Iterationen benötigt, um zu konvergieren, hilft Ihnen nichts. Und eine Methode, die in die Luft geht, hilft auch nicht, egal wie billig ihre Iteration ist.1020

Lassen Sie uns herausfinden, was los ist.

Also: Warum nicht Derivate 2. Ordnung verwenden?

Zum Teil, weil (und das gilt auch für die 2. Ordnung, aber dazu gleich mehr):

Methoden höherer Ordnung konvergieren im Allgemeinen nur dann schneller, wenn sie sich dem Optimum nähern .

Andererseits explodieren sie leichter, wenn sie weiter vom Optimum entfernt sind!

(Natürlich ist dies nicht immer der Fall; z. B. konvergiert ein Quadrat mit der Newtonschen Methode in einem Schritt. Für beliebige Funktionen in der realen Welt, die keine guten Eigenschaften haben, gilt dies jedoch im Allgemeinen .)

Das heißt, wenn Sie weiter vom Optimum entfernt sind, möchten Sie im Allgemeinen eine Methode niedriger Ordnung (sprich: Methode erster Ordnung). Nur wenn Sie in der Nähe sind, möchten Sie die Reihenfolge der Methode erhöhen.

Warum also bei der 2. Ordnung anhalten, wenn Sie sich in der Nähe der Wurzel befinden?

Denn "quadratisches" Konvergenzverhalten ist wirklich "gut genug"!

Um zu sehen, warum, müssen Sie zuerst verstehen, was "quadratische Konvergenz" bedeutet .

Mathematisch bedeutet quadratische Konvergenz, dass, wenn Ihr Fehler bei der Iteration , das Folgende für eine Konstante :ϵkkc

|ϵk+1|c |ϵk|2

Im Klartext bedeutet dies, dass, sobald Sie sich dem Optimum nähern (wichtig!), Jeder zusätzliche Schritt die Anzahl der Stellen der Genauigkeit verdoppelt .

Warum? An einem Beispiel ist es leicht zu erkennen: Für und haben Sie , usw., was lächerlich schnell ist . (Es ist super-exponentiell !)c=1|ϵ1|=0.1|ϵ2|0.01|ϵ3|0.0001

Warum nicht lieber bei 1. Ordnung als bei 2. Ordnung anhalten?

Tatsächlich tun dies die Leute oft, wenn Derivate zweiter Ordnung zu teuer werden. Die lineare Konvergenz kann jedoch sehr langsam sein. Beispiel: Wenn Sie haben, benötigen Sie möglicherweise 10.000.000 Iterationen mit linearer Konvergenz, um , aber nur 23 Iterationen mit quadratischer Konvergenz. Sie sehen also, warum es einen drastischen Unterschied zwischen linearer und quadratischer Konvergenz gibt. Dies gilt beispielsweise nicht für Konvergenz 2. und 3. Ordnung (siehe nächster Absatz).ϵk=0.9999999|ϵ|<0.5

Wenn Sie sich mit Informatik auskennen, werden Sie verstehen, dass mit Konvergenz 2. Ordnung das Problem bereits gelöst ist . Wenn Sie nicht wissen, warum, dann ist dies der Grund: Es ist nicht sinnvoll, die Anzahl der Stellen bei jeder Iteration zu verdreifachen, anstatt sie zu verdoppeln - was bringt es Ihnen? Immerhin hat in einem Computer sogar eine double-Präzisionszahl eine Genauigkeit von 52 Bit, was ungefähr 16 Dezimalstellen entspricht. Vielleicht wird die Anzahl der Schritte, die Sie benötigen, von 16 auf 3 verringert ... was sich großartig anhört, bis Sie erkennen, dass es den Preis kostet, bei jeder Iteration dritte Ableitungen berechnen zu müssen , was den Fluch der Dimensionalität darstellttrifft dich hart. Für ein dimensionales Problem haben Sie nur den Faktor bezahlt , um den Faktor , was dumm ist. Und in der realen Welt haben Probleme mindestens Hunderte von Dimensionen (oder sogar Tausende oder sogar Millionen), nicht nur ! Sie erhalten also einen Faktor von vielleicht 20, wenn Sie beispielsweise einen Faktor von 20.000 zahlen ... kaum ein weiser Kompromiss.6656

Aber noch einmal: Denken Sie daran, der Fluch der Dimensionalität ist die halbe Wahrheit .

Die andere Hälfte ist, dass Sie im Allgemeinen ein schlechteres Verhalten bekommen, wenn Sie weit vom Optimum entfernt sind, was sich im Allgemeinen nachteilig auf die Anzahl der Iterationen auswirkt, die Sie ausführen müssen.

Fazit

Im Allgemeinen sind Methoden höherer Ordnung als 2 eine schlechte Idee. Natürlich können , wenn Sie weitere hilfreiche Annahmen auf den Tisch bringen (zB vielleicht Ihre Daten nicht mit einem hohen Grad Polynom ähneln, oder Sie haben Möglichkeiten, die Lage der optimalen begrenzt, etc.), dann können Sie vielleicht feststellen , dass sie Eine gute Idee - aber das ist eine problemspezifische Entscheidung und keine allgemeine Faustregel.


Gute Antwort, aber ich denke, der Satz von Abel-Ruffini ist ein roter Hering. Zunächst sprechen wir über multivariate Probleme, daher ist die Berechnung von Nullen univariater Polynome allenfalls ein einfaches Unterproblem von begrenztem Interesse. Und was noch wichtiger ist, es spielt keine Rolle, ob es eine geschlossene Formel für die Lösung gibt oder nicht: In der Praxis werden, soweit ich weiß, geschlossene Formeln nicht einmal für Grad-4-Polynome verwendet. Sie sind einfach zu lang und kompliziert und instabil. Nullstellen von Polynomen werden in der Praxis numerisch berechnet (unter Verwendung von QR in der Begleitmatrix).
Federico Poloni

@FedericoPoloni: Ja, die gleichen Gedanken kamen mir in den Sinn, als ich mich entschied, es einzutragen. Ich hatte es ursprünglich nicht dabei ... Ich dachte, ich sollte es vielleicht als ein weiteres Beispiel dafür einsetzen, warum höhere Grade es haben können unerwartete Probleme. Aber ich denke, ich werde es wieder herausnehmen, wenn es nicht hilfreich ist, danke für den Kommentar.
Mehrdad

@FedericoPoloni: PS Während wir uns mit numerischen Berechnungen befassen, könnten Sie Sturm-Funktionen interessant finden (falls Sie noch nicht davon gehört haben).
Mehrdad

7

Sogar das Berechnen von Hessisch ist ein ziemlicher Arbeitsaufwand:

H=[2fx122fx1x22fx1xn2fx2x12fx222fx2xn2fxnx12fxnx22fxn2].

Nun sehen Sie , wie die dritte Ableitung aussieht: Dies ist eine dreidimensionale Matrix. So sehen seine Elemente aus:

H/x=[Hx1Hx2Hxn]
(H/x)ijk=3fxixjxk

Sixth des Derivats wird sechs dimensionale Matrix sein:

6fxixjxkxlxmxn

In der Regel ist der Kompromiss nicht günstig, um höher als nach Hessisch zu streben. Ich meine den Kompromiss zwischen dem potenziellen Geschwindigkeitsgewinn durch Verwendung von Approximationen höherer Ordnung und der Rauschverstärkung. Sie haben immer Rauschen in Eingaben, weil es sich um statistische Anwendungen handelt. Dieses Rauschen wird durch die Ableitungen verstärkt.

Wenn Sie Golf spielen, besteht die Analogie bei der Optimierung darin, zuerst zu schwingen, um zum Grün zu gelangen, und sich nicht zu sehr um ein Loch zu sorgen. Sobald wir auf dem Grün sind, schlagen wir ein Loch.


4

Wenn Sie die Effektivität solcher Algorithmen analysieren, erhalten Sie normalerweise Ergebnisse wie einen Schritt eines Algorithmus vierter Ordnung, der ungefähr dieselbe Effektivität wie zwei Schritte eines Algorithmus zweiter Ordnung aufweist.

Die Wahl des zu verwendenden Algorithmus ist also relativ einfach: Wenn ein Schritt des Algorithmus vierter Ordnung doppelt so viel Arbeit oder mehr als ein Schritt des Algorithmus zweiter Ordnung erfordert, sollten Sie stattdessen den letzteren verwenden.

Das ist die typische Situation für diese Art von Methoden: Der klassische Algorithmus hat das optimale Verhältnis von Arbeit zu Effektivität für allgemeine Probleme. Während es gelegentlich Probleme gibt, bei denen ein Ansatz höherer Ordnung ungewöhnlich einfach zu berechnen ist und die klassische Variante übertreffen kann, sind sie relativ selten.


2

Sie können sich die Reihenfolge der Ableitungen als die Reihenfolge einer polynomialen Annäherung an die Funktion vorstellen. Die meisten Optimierungsroutinen beruhen auf Konvexität. Ein quadratisches Polynom ist überall konvex / konkav, wohingegen ein Polynom 3. Ordnung oder höher nicht überall konvex ist. Aus diesem Grund basieren die meisten Optimierungsroutinen auf sukzessiven Approximationen von konvexen Funktionen mit Quadratik. Eine quadratische Annäherung, die konvex ist, erfordert, dass eine positive Bestimmtheitsbedingung auferlegt wird, damit das Quadrat konvex ist.


3
Nein, Quadratics sind nicht unbedingt konvex oder konkav (denken Sie an ). x2y2
Dirk

@Dirk gleich was? x2y2
Ovi

1
Es ist eine quadratische Funktion, aber weder konvex noch konkav.
Dirk

@Dirk ja du hast recht, ich hätte eine positive halbedeutende Einschränkung hinzufügen sollen. Ich werde das zu meiner Antwort hinzufügen.
Lucas Roberts

1

Lassen Sie mich hier die einzige sein, die Methoden 3. Ordnung für die SGD-Konvergenz verteidigt, aber definitiv nicht im gesamten Raum, was Koeffizienten benötigen würde , sondern zB in nur einer Richtung, die nur einen einzigen zusätzlichen Koeffizienten benötigt, wenn bereits Modell 2. Ordnung in diese Richtung.dim3/6

Warum kann ein Modell 3. Ordnung in einer Richtung vorteilhaft sein? Zum Beispiel, weil die zweite Ableitung nahe Null in dieser Richtung im Grunde genommen zwei alternative Szenarien bedeutet: Plateau oder Wendepunkt - nur die erstere erfordert eine größere Schrittgröße, und die dritte Ableitung ermöglicht es, sie zu unterscheiden.

Ich glaube, wir werden uns hybriden Mehrfachordnungsmethoden zuwenden: Methode 2. Ordnung in einem niedrigdimensionalen Unterraum, z. B. aus PCA der letzten Gradienten, was noch einen freien gleichzeitigen Gradientenabstieg 1. Ordnung in Richtung eines Teils des Gradienten erlaubt, der orthogonal zu diesem Unterraum ist ... und zusätzlich Ich würde zB ein Modell 3. Ordnung für eine einzelne relevanteste Richtung hinzufügen.

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.