日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

常见优化算法批量梯度下降、小批量梯度下降、随机梯度下降的对比

發布時間:2024/1/23 编程问答 44 豆豆
生活随笔 收集整理的這篇文章主要介紹了 常见优化算法批量梯度下降、小批量梯度下降、随机梯度下降的对比 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

在機器學習領域中,梯度下降的方式有三種,分別是:批量梯度下降法BGD、隨機梯度下降法SGD、小批量梯度下降法MBGD,并且都有不同的優缺點。

下面我們以線性回歸算法(也可以是別的算法,只是損失函數(目標函數)不同而已,它們的導數的不同,做法是一模一樣的)為例子來對三種梯度下降法進行比較。

1. 線性回歸

假設 特征 和 結果 都滿足線性。即不大于一次方。這個是針對 收集的數據而言。
收集的數據中,每一個分量,就可以看做一個特征數據。每個特征至少對應一個未知的參數。這樣就形成了一個線性模型函數,向量表示形式:


這個就是一個組合問題,已知一些數據,如何求里面的未知參數,給出一個最優解。 一個線性矩陣方程,直接求解,很可能無法直接求解。有唯一解的數據集,微乎其微。

基本上都是解不存在的超定方程組。因此,需要退一步,將參數求解問題,轉化為求最小誤差問題,求出一個最接近的解,這就是一個松弛求解。

求一個最接近解,直觀上,就能想到,誤差最小的表達形式。仍然是一個含未知參數的線性模型,一堆觀測數據,其模型與數據的誤差最小的形式,模型與數據差的平方和最小:

2. 參數更新

對目標函數進行求導,導數如下:



利用梯度下降跟新參數,參數更新方式如下:

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?(1)

3.?批量梯度下降法(Batch Gradient Descent,簡稱BGD)是梯度下降法最原始的形式,它的具體思路是在更新每一參數時都使用所有的樣本來進行更新,也就是方程(1)中的m表示樣本的所有個數。

優點:全局最優解;易于并行實現;

缺點:當樣本數目很多時,訓練過程會很慢。

4. 隨機梯度下降法:它的具體思路是在更新每一參數時都使用一個樣本來進行更新,也就是方程(1)中的m等于1。每一次跟新參數都用一個樣本,更新很多次。如果樣本量很大的情況(例如幾十萬),那么可能只用其中幾萬條或者幾千條的樣本,就已經將theta迭代到最優解了,對比上面的批量梯度下降,迭代一次需要用到十幾萬訓練樣本,一次迭代不可能最優,如果迭代10次的話就需要遍歷訓練樣本10次,這種跟新方式計算復雜度太高。

但是,SGD伴隨的一個問題是噪音較BGD要多,使得SGD并不是每次迭代都向著整體最優化方向。

優點:訓練速度快;

缺點:準確度下降,并不是全局最優;不易于并行實現。

從迭代的次數上來看,SGD迭代的次數較多,在解空間的搜索過程看起來很盲目。

5.小批量梯度下降法(Mini-batch Gradient Descent,簡稱MBGD):它的具體思路是在更新每一參數時都使用一部分樣本來進行更新,也就是方程(1)中的m的值大于1小于所有樣本的數量。為了克服上面兩種方法的缺點,又同時兼顧兩種方法的有點。

6.三種方法使用的情況:

如果樣本量比較小,采用批量梯度下降算法。如果樣本太大,或者在線算法,使用隨機梯度下降算法。在實際的一般情況下,采用小批量梯度下降算法。


參考:

http://blog.csdn.net/viewcode/article/details/8794401

http://mp.weixin.qq.com/s/fXlbB7KmiX0iIv6xwSxNIA

總結

以上是生活随笔為你收集整理的常见优化算法批量梯度下降、小批量梯度下降、随机梯度下降的对比的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。