凸优化中如何改进GD方法以防止陷入局部最优解
在對函數進行凸優化時,如果使用導數的方法(如:梯度下降法/GD,牛頓法等)來尋找最優解,有可能陷入到局部最優解而非全局最優解。
為了防止得到局部最優,可以對梯度下降法進行一些改進,防止陷入局部最優。
但是請注意,這些方法只能保證以最大的可能找到全局最優,無法保證100%得到全局最優。
一、incremental GD/stochastic GD
在GD中,是需要遍歷所有的點之后才計算w的變化的;但是,在stochastic GD中,每輸入一個點,就根據該點計算下一步的w,這樣,不僅可以從batch training變成online training方法,而且每次是按照單點的最優方向而不是整體的最優方向前進,從而相當于在朝目標前進的路上多拐了好多彎,有可能逃出局部最優。
二、momentum方法
momentum相當與記憶住上一次的更新。在每次的更新中,都要加一個k倍的上一次更新量。這樣,也不再是按照標準路線前進,每次的步驟都容易受到上一次的影響,從而可能會逃出局部最優。另外,也會加大步長,從而加快收斂。
三、我印象中還有一種方法?
再回去查書的時候沒有翻到,但我印象中記得還有一種思路。在上面兩種對GD的改進中,w的更新都是在所有維度上同時更新的,但是,可以通過每次只在一個維度上進行更新,相當于把多維上的一步變成了多個一維上的一步,這樣最終的“行走路線”會和標準的GD有區別,因此,也有可能逃出局部最優。
總結
以上是生活随笔為你收集整理的凸优化中如何改进GD方法以防止陷入局部最优解的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: SVM的提出
- 下一篇: Adaboost方法分类新闻数据