梯度下降法

2021-08-16 03:10:27 字數 1493 閱讀 9555

批量梯度下降法(batch gradient descent,簡稱bgd)是梯度下降法最原始的形式,它的具體思路是在更新每一引數時都使用

所有的樣本來進行更新

,也就是方程(1)中的m表示樣本的所有個數。

優點:全域性最優解;易於並行實現;

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

隨機梯度下降法:它的具體思路是在更新每一引數時都使用

乙個樣本來進行更新

,也就是方程中的n等於1。每一次跟新引數都用乙個樣本,更新很多次。

如果樣本量很大的情況(例如幾十萬),那麼可能只用其中幾萬條或者幾千條的樣本,就已經將theta迭代到最優解了,對比上面的批量梯度下降,迭代一次需要用到十幾萬訓練樣本,一次迭代不可能最優,如果迭代10次的話就需要遍歷訓練樣本10次,這種跟新方式計算複雜度太高。

但是,sgd伴隨的乙個問題是噪音較bgd要多,使得sgd並不是每次迭代都向著整體最優化方向。

優點:訓練速度快;

缺點:準確度下降,並不是全域性最優;不易於並行實現。

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

小批量梯度下降法(mini-batch gradient descent,簡稱mbgd):它的具體思路是在更新每一引數時都使用

一部分樣本來進行更新

,也就是方程中的n的值大於1小於所有樣本的數量。為了克服上面兩種方法的缺點,又同時兼顧兩種方法的有點。

三種方法使用的情況:

梯度下降法和隨機梯度下降法

批量梯度下降法 batch gradient descent 在更新引數時使用所有的樣本來進行更新 隨機梯度下降法 stochastic gradient descent 求梯度時沒有用所有的m個樣本的資料,而是僅僅選取乙個樣本j來求梯度。小批量梯度下降法 mini batch gradient d...

梯度下降法

梯度下降法 是乙個一階 最優化演算法 通常也稱為 最速下降法 我之前也沒有關注過這類演算法。最近,聽史丹福大學的機器學習課程時,碰到了用梯度下降演算法求解線性回歸問題,於是看了看這類演算法的思想。今天只寫了一些入門級的知識。我們知道,函式的曲線如下 程式設計實現 c code cpp view pl...

梯度下降法

回歸 regression 梯度下降 gradient descent 發表於332 天前 技術,科研 被圍觀 1152 次 前言 這個系列主要想能夠用數學去描述機器學習,想要學好機器學習,首先得去理解其中的數學意義,不一定要到能夠輕鬆自如的推導中間的公式,不過至少得認識這些 式子吧,不然看一些相關...