Nachteile der Newton-Raphson-Näherung mit angenäherter numerischer Ableitung


17

Angenommen, ich habe eine Funktion f und möchte x so finden, dass f(x)0 . Ich könnte die Newton-Raphson-Methode verwenden. Dies setzt aber voraus, dass ich die Ableitungsfunktion kenne f(x). Ein analytischer Ausdruck für f möglicherweise nicht verfügbar. Zum Beispiel kann f durch ein kompliziertes Stück Computercode definiert werden, das eine Datenbank von experimentellen Werten konsultiert.

Aber selbst wenn f kompliziert ist, kann ich f(a) für jedes bestimmte approximieren ,a indem ich eine kleine Zahl ϵ wähle und f ' ( a ) f ( a + ϵ ) - f ( a ) berechne.f(a)f(a+ϵ)f(a)ϵ .

Ich habe gehört, dass dieser Ansatz deutliche Nachteile hat, weiß aber nicht, um welche es sich handelt. Wikipedia weist darauf hin, dass "die Verwendung dieser Näherung zu so etwas wie der Sekantenmethode führen würde, deren Konvergenz langsamer ist als die der Newtonschen Methode."

Kann jemand dies näher erläutern und eine Referenz bereitstellen, in der insbesondere die Probleme mit dieser Technik erörtert werden?


5
Die Sekantenmethode ist eine hervorragende Alternative, wenn die Berechnung des Derivats teuer ist. Drei Schritte Sekante entsprechen im Allgemeinen in etwa zwei Schritten Newton, und Schritte sind billiger.

1
Wann immer Sie eine Ableitung numerisch nach endlicher Differenz berechnen (wie Sie vorschlagen), wird jegliches Rauschen in der Funktion verstärkt, daher müssen Sie Ihr Epsilon sorgfältig auswählen. Eine Möglichkeit ist, wenn Sie sich der Lösung nähern, zu einer binären Unterteilungsmethode zu wechseln, die garantiert konvergiert, solange f lokal monoton ist.
Mike Dunlavey

2
Wie von André erwähnt, entsprechen numerische Zweipunktableitungen, wie Sie vorschlagen, einer neu gestarteten Secant-Methode . Für eine schnellere Konvergenz würde ich jedoch den sogenannten Illinois-Algorithmus vorschlagen , der ein enger Verwandter der Secant-Methode ist und nur einen Punkt pro Schritt verwendet, im Gegensatz zu zwei in Ihrem Fall, und nicht so hängen bleibt wie der Falsche Positionsmethode.
Pedro

Was ist die Dimension von ? Je höher die Dimension, desto wertvoller wird ein Derivat. Jacobian-freies Newton-Krylov ist eine Option, die keine expliziten Ableitungen benötigt (obwohl Vorkonditionierung für schlecht konditionierte Systeme wichtig ist). x
Jed Brown

Antworten:


12

Nehmen wir aus Gründen der Notation an, dass (dh, es ist eine Vektorfunktion, die einen Vektor als Eingabe annimmt und einen Vektor derselben Größe ausgibt). Es gibt zwei Bedenken: Rechenaufwand und numerische Genauigkeit.f:RnRn

Die Berechnung der Ableitung (der Jacobi-Matrix, J ( x ) oder ( f ( x ) ) T oder was auch immer Sie bevorzugen) unter Verwendung endlicher Differenzen erfordert n Funktionsbewertungen. Wenn Sie die Ableitung mit Gleitkomma-Arithmetik direkt aus der Definition berechnen könnten, müssten Sie den Differenzquotienten berechnenDf(x)J(x)(f(x))Tn

Df(x)eich=limε0f(x+εeich)-f(x)ε

für jedes , vorausgesetzt, Sie führen keine "intelligente finite Differenzierung" (wie Curtis-Powell-Reid) durch, weil Sie das Sparsity-Muster von D f kennen (oder erkennen können) . Wenn n groß ist, kann dies eine Menge von Funktionsbewertungen sein. Wenn Sie einen analytischen Ausdruck für D f haben , kann die Berechnung billiger sein. In einigen Fällen können auch automatische (auch als algorithmische bezeichnete) Differenzierungsmethoden verwendet werden, um D f mit etwa dem 3- bis 5-fachen der Kosten einer Funktionsbewertung zu berechnen .ich=1,,nDfnDfDf

Es gibt auch numerische Bedenken. Offensichtlich können wir auf einem Computer die Grenze eines Skalars nicht nehmen, wenn es auf Null geht. Wenn wir also approximieren, wählen wir wirklich ε als "klein" und berechnenDfε

Df(x)eichf(x+εeich)-f(x)ε,

Dabei bedeutet dass es sich um eine Annäherung handelt, und wir hoffen, dass es sich um eine wirklich gute Annäherung handelt. Diese Annäherung Berechnung Punktarithmetik in floating ist hart , weil , wenn Sie wählen ε zu groß ist , Ihre Annäherung schlecht sein könnte, aber wenn Sie wählen ε zu klein ist , könnte es erhebliche Rundungsfehler sein. Diese Effekte werden im Wikipedia-Artikel zur numerischen Unterscheidung in oberflächlichen Details behandelt. Detailliertere Referenzen finden Sie im Artikel.εε

Wenn der Fehler in der Jacobi-Matrix nicht zu groß ist, konvergieren die Newton-Raphson-Iterationen. Eine detaillierte theoretische Analyse finden Sie in Kapitel 25 ( Genauigkeit und Stabilität numerischer Algorithmen) von Nick Higham oder in der ihr zugrunde liegenden Arbeit von Françoise Tisseur .Df

Bibliotheken kümmern sich im Allgemeinen um diese algorithmischen Details, und in der Regel laufen Bibliotheksimplementierungen des Newton-Raphson-Algorithmus (oder von Varianten davon) recht gut zusammen, aber von Zeit zu Zeit gibt es ein Problem, das aufgrund der Nachteile einige Probleme verursacht über. Im skalaren Fall würde ich wegen seiner Robustheit und guten Konvergenzrate in der Praxis die Brent-Methode verwenden.(n=1)

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.