Warum kann TensorFlow kein einfaches lineares Modell anpassen, wenn ich den absoluten mittleren Fehler anstelle des mittleren quadratischen Fehlers minimiere?


Antworten:


17

Ich habe es versucht und das gleiche Ergebnis erzielt.

Weil der Gradient von .absfür einen einfachen Optimierer schwieriger ist, den Minima zu folgen, hat der Gradient der absoluten Differenz im Gegensatz zur quadratischen Differenz, bei der der Gradient langsam gegen Null geht, eine feste Größe, die sich abrupt umkehrt, was dazu führt, dass der Optimierer um den herum schwingt Mindestpunkt. Der grundlegende Gradientenabstieg ist sehr empfindlich gegenüber der Größe des Gradienten und der Lernrate, die im Wesentlichen nur ein Multiplikator des Gradienten für Schrittgrößen ist.

Die einfachste Lösung besteht darin, die Lernrate zu reduzieren, z. B. die Linie zu ändern

optimizer = tf.train.GradientDescentOptimizer(0.5)

zu

optimizer = tf.train.GradientDescentOptimizer(0.05)

Spielen Sie auch mit verschiedenen Optimierern. Einige werden in der Lage sein, .absVerluste auf der Grundlage besser zu bewältigen .

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.