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!!!