GD+Optimize

優化問題的框架,給定一個與參數x有關的目標函數J(x),求使得J(x)最小的參數x。通過不斷向梯度負方向移動參數來求解。

BGD指批量梯度下降,要計算整個Batch中的梯度。優點:容易求得最優解。缺點:速度慢,數據量大時不能行。

SGD指隨機梯度下降,只計算某個樣本的梯度,用一個樣本的梯度代替整體的梯度。優點:速度快。缺點:容易跳出最優,收斂不穩定。

MBGD指選取少量梯度下降,介於BGD和SGD之間。優點:速度快,收斂穩定。

存在問題:學習率的設定、學習率的調整策略、不同參數更新的學習率、局部最優

優化方法:

Momentum:利用慣性,當前梯度等於本身加上上次梯度,如果方向相同則更新步長增加,方向不同則更新步長減少。

NAG:梯度並非根據當前位置計算,而是根據移動後位置計算。對前方梯度做預測,如果前方梯度與當前梯度目標一致,則大步邁過去,若不一致,則小心更新。

Adagrade:採用以往所有梯度的平方和來調整學習率,爲出現頻率不高的參數提供大學習率,爲出現頻率很高的參數提供小學習率。但使得最後會應爲學習率過低而學不到東西。

Adadelta:採用窗口範圍內的梯度平方和來調整學習率。又稱RMSprop。

Adam:爲每個參數提供自適應學習率,在Adadelta基礎上,不僅對梯度平方進行估計,還對梯度進行估計。

AdaMax:對Adam中的梯度二階矩估計擴展到無窮階矩。

補充:儘管各種優化算法在訓練時表現不錯,但是SGD訓練出的結果還是最好。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章