天天看點

機器學習Gradient Descent(梯度下降) + Momentum(動量)尋找局部最優解Local Minima的過程

Gradient Descent(梯度下降) + Momentum(動量)

上次 這裡 介紹了Gradient Descent尋找最優解的過程

學習到發現還有一個算法就是加上Momentum(動量,就是上一次Gradient Descent後的步長值)來作為下一次更新位置的參數,這樣來尋找局部最優解Local Minima的話,會比單獨使用梯度下降法來求解效果更好,有一點像粒子群算法。

Movement:最後一步的移動目前是最小的梯度

首先

同梯度下降法一樣,找到一點起始點

機器學習Gradient Descent(梯度下降) + Momentum(動量)尋找局部最優解Local Minima的過程
此時的位移(Movement)為0,故
機器學習Gradient Descent(梯度下降) + Momentum(動量)尋找局部最優解Local Minima的過程
機器學習Gradient Descent(梯度下降) + Momentum(動量)尋找局部最優解Local Minima的過程

  • 緊接着

Gradient Descent來計算

機器學習Gradient Descent(梯度下降) + Momentum(動量)尋找局部最優解Local Minima的過程

再計算下一步的

機器學習Gradient Descent(梯度下降) + Momentum(動量)尋找局部最優解Local Minima的過程
機器學習Gradient Descent(梯度下降) + Momentum(動量)尋找局部最優解Local Minima的過程

由于加了動量,故不再按照梯度下降法的反方向尋找Local Minima了

  • 然後
機器學習Gradient Descent(梯度下降) + Momentum(動量)尋找局部最優解Local Minima的過程
機器學習Gradient Descent(梯度下降) + Momentum(動量)尋找局部最優解Local Minima的過程
機器學習Gradient Descent(梯度下降) + Momentum(動量)尋找局部最優解Local Minima的過程
機器學習Gradient Descent(梯度下降) + Momentum(動量)尋找局部最優解Local Minima的過程

注意,此時的θ 2 θ^2θ

2

為Gradient Descent(梯度下降) + Momentum(動量)以後的方向,這樣的話尋找 Local MInima會更加精确,避免overfitting,和共轭方向法類似。

然後,以此類推求下去

機器學習Gradient Descent(梯度下降) + Momentum(動量)尋找局部最優解Local Minima的過程

具體地,如下圖,加上動量後,尋找的過程可能會比單一梯度下降慢,就比如在遇見第一個Local MInima的時候,Gradient Descent或許就會停下來了,而Gradient Descent(梯度下降) + Momentum(動量)呢,當上一步的Movement和g x g^xg

x

的大小相等,方向相反,那麼會被抵消;若Movement大于g x g^xg

的值,那麼會繼續往後面去尋找局部最優解,但是最終,還是會回到最好的局部最優解位置來。

機器學習Gradient Descent(梯度下降) + Momentum(動量)尋找局部最優解Local Minima的過程

Deep Learning Fitting!!!

繼續閱讀