2017-02-18 103 views

回答

2

第一個問題是:爲什麼要使用SGD(我在這裏假設)。線性迴歸有更多專門的學習過程,部分不需要這種超參數調整。也許你處於一個非常大的範圍內,那麼新加坡元是一個有效的方法。

假設基於SGD學習是要走的路:

  • 您應該使用某種形式的學習進度的
    • 添加至少一個學習速率衰減,從而降低了學習率例如在每個時期之後的因子爲0.9(是的,多一個超參數)
    • 嘗試使用某種動量,例如這是凸優化開發涅斯捷羅夫動量(你的情況是凸的),並擁有強大的保證
      • 這種勢頭在非凸設置
      • 最深度學習庫甚至還流行應該提供這種亂-THE盒
  • 你可以嘗試像自適應學習速率基於算法:
    • 亞當,AdaDelta,AdaGrad,...
    • 這些嘗試從選擇那些LR-超參數卸下包袱,同時仍試圖儘可能快地
      • 當然收斂他們的啓發式(嚴格來說),但他們似乎也適用於大多數人(雖然優化SGD是大部分時間是最好的)
      • 最深度學習庫應該提供這種外的開箱
  • 使用專門的線性模型軟件,如liblinear或其他

還有一件事,因爲我很驚訝,很容易觀察這個簡單問題上的分歧:正常化您的輸入!