2017-02-18 5 views
0

Immer, wenn ich ein lineares Regressionsmodell machte, wanderte es einfach ständig ab. Ich konnte wirklich keine Lösungen dafür finden. Aber als ich die Lernrate auf 0,0000252 änderte, funktionierte es! Aber ein anderes Problem ist, dass es so langsam lernt, dass ich warten muss, bis das Modell mehr als 10 Minuten lernt.Wie man Lernen befestigt, ohne die Lernrate in der linearen Regression zu ändern

Wie kann ich lernen, ohne die Lernrate zu ändern?

Antwort

2

Die erste Frage ist: Warum SGD (was ich hier vermute). Es gibt speziellere Lernverfahren für die lineare Regression, die diese Art der Hyperparameter-Abstimmung teilweise nicht benötigen. Vielleicht sind Sie in einem sehr großen Umfeld, wo SGD ein gültiger Ansatz ist.

SGD-basiertes Lernen Unter der Annahme, ist der Weg zu gehen:

  • Sie sollten eine Art Lern-Zeitplan verwenden
    • mindestens hinzufügen, um eine Lernrate Verfall, der die Lernrate reduziert zum Beispiel nach jeder Epoche um einen Faktor von etwa 0,9 (ja, noch ein Hyperparameter)
    • Versuchen Sie, eine Art von Impuls zu verwenden, z Nesterov-Dynamik, die für konvex-Optimierung entwickelt wurde (der Fall ist konvex) und hält starke Garantien
      • Diese Art von Dynamik ist auch beliebt in der nicht-konvexen Einstellung
      • meisten DeepLearning libs sollte diese bieten out-of -die-Box
  • Sie können wie adaptive Lernrate basierte Algorithmen versuchen:
    • Adam, AdaDelta, AdaGrad, ...
    • Diese versuchen, die Last von der Auswahl dieser LR-Hyper zu entfernen, während noch so schnell wie möglich
      • Natürlich zur Konvergenz versuchen, sind sie Heuristiken (streng gesprochen), aber sie scheinen für die meisten Menschen gut zu funktionieren (obwohl ein optimiert SGD ist die meiste Zeit das beste)
      • meisten DeepLearning libs bieten sollten diese out-of-the-box
  • Verwendung spezieller Software für lineare Modelle wie liblinear oder andere

Und noch eine Sache, denn ich bin überrascht, dass es so einfach ist, Abweichungen von diesem einfachen Problem zu beobachten: normalisieren Sie Ihre Eingabe!

Verwandte Themen