機器學習各優化演算法的簡單總結
阿新 • • 發佈:2019-01-24
1 梯度下降
1.1 SGD
演算法介紹
SGD(Stochasitic Gradient Descent)很簡單,就是沿著梯度的反方向更新引數,優化目標函式。優化公式如下:
其中為當前位置的梯度,也就是損失函式關於引數的一階導數
優點
操作簡單,計算量小,在損失函式是凸函式的情況下能夠保證收斂到一個較好的全域性最優解
缺點
- 是個定值(在最原始的版本),它的選取直接決定了解的好壞,過小會導致收斂太慢,過大會導致震盪而無法收斂到最優解。
- 對於非凸問題,只能收斂到區域性最優,並且沒有任何擺脫區域性最優的能力(一旦梯度為0就不會再有任何變化)
對於非凸的優化問題,我們可以將其轉化為對偶問題,對偶函式一定是凹函式,但是這樣求出來的解並不等價於原函式的解,只是原函式的一個確下界
1.2 Momentum
演算法介紹
Momentum改進自SGD,讓每一次的引數更新方向不僅取決於當前位置的梯度,還受到上一次引數更新方向的影響。 Momentum的意思就是動量,也就意味著上一次更新的方向對本次更新仍然有影響。優點
一定程度上緩解了SGD收斂不穩定的問題,並且有一定的擺脫區域性最優的能力(當前梯度為0時,仍可能按照上次迭代的方向衝出區域性最優點),直觀上理解,它可以讓每次迭代的“掉頭方向不是那個大“。缺點
一般取0.9