Abbruchkriterium Gradientenabstieg

28/01/2009 - 14:12 von Philipp Kraus | Report spam
Hallo,

ich habe einen Gradientenabstieg in Matlabprogrammiert und suche noch
nach einem geeigneten Abbruchkriterium.
Das iterative Verfahren liefert auch schon gute Ergebnisse, aber nur
wenn ich die Iterationszahl "sinnvoll" wàhle. Wenn sie z.B. zu hoch
ist, "explodiert" mir mein gefitteter Wert.

Ich habe meine Funktion f und versuche die Parameter über einen
quadratischen Fehler zu fitten (Fehler zu minimieren). Ich hatte als
Abbruchkriterium versucht wenn ich die partielle Ableitung gebildet
habe df/dx_i, dass der Betrag von df/dx_i < Fehler mit Fehler [0,1]
wird.

Kann mir evtl jemand helfen das Abbruchkriterium optimaler zu finden

Danke

Phil
 

Lesen sie die antworten

#1 Roland Damm
29/01/2009 - 00:25 | Warnen spam
Moin,

Philipp Kraus schrub:

ich habe einen Gradientenabstieg in Matlabprogrammiert und
suche noch nach einem geeigneten Abbruchkriterium.
Das iterative Verfahren liefert auch schon gute Ergebnisse,
aber nur wenn ich die Iterationszahl "sinnvoll" wàhle. Wenn sie
z.B. zu hoch ist, "explodiert" mir mein gefitteter Wert.

Ich habe meine Funktion f und versuche die Parameter über einen
quadratischen Fehler zu fitten (Fehler zu minimieren). Ich
hatte als Abbruchkriterium versucht wenn ich die partielle
Ableitung gebildet habe df/dx_i, dass der Betrag von df/dx_i <
Fehler mit Fehler [0,1] wird.

Kann mir evtl jemand helfen das Abbruchkriterium optimaler zu
finden



Mir ist nicht ganz klar, was du meinst. Aber ich rate mal etwas.
Dein Abbruchkriterium passt, wenn es grob gewàhlt wird. Willst
du aber ganz nahe an den gesuchten Punkt, divergiert dein
Nàherungsverfahren.

Vielleicht weil du für einen Nàherungsschritt dich vom Betrag des
Gradienten leiten làsst? Wenn du bei einer Funktion irgendwas^2
das Minimum suchst, dann ist in der Nàhe des Minimums die
Steigung der Kurve sehr flach. Wenn diese Steigung einen
Einfluss auf die Schrittweite deines Iterationsverfahrens hat
(in der Art, wenn Kurve flach, dann muss ich große Schritte
laufen), dann knallt es.

Wenn du ein Newton-Verfahren auf y=x^2 ansetzt um das x zu
finden, für das y=0 ist, dann sieht das die ersten paar Schritte
noch schön aus, irgendwann schwingt das Verfahren chaotisch
herum.

CU Rollo

Ähnliche fragen