以均方誤差作為目標函式(損失函式),目的是使其值最小化,用於優化上式。
也叫批量梯度下降法batch gradient descent,bsd
原因:(1)對於目標函式,theta的移動量應當如下,其中a為步長,p為方向向量。
(2)對j(theta)做一階泰勒級數展開:
(3)上式中,ak是步長,為正數,可知要使得目標函式變小,則
sgd是最速梯度下降法的變種。
使用最速梯度下降法,將進行n次迭代,直到目標函式收斂,或者到達某個既定的收斂界限。每次迭代都將對m個樣本進行計算,計算量大。
為了簡便計算,sgd每次迭代僅對乙個樣本計算梯度,直到收斂。偽**如下(以下僅為乙個loop,實際上可以有多個這樣的loop,直到收斂):
(1)由於sgd每次迭代只使用乙個訓練樣本,因此這種方法也可用作online learning。
(2)每次只使用乙個樣本迭代,若遇上雜訊則容易陷入區域性最優解。
(1)這是介於bsd和sgd之間的一種優化演算法。每次選取一定量的訓練樣本進行迭代。
(2)從公式上似乎可以得出以下分析:速度比bsd快,比sgd慢;精度比bsd低,比sgd高。
(1)選擇n個訓練樣本(n
(2)在這n個樣本中進行n次迭代,每次使用1個樣本
(3)對n次迭代得出的n個gradient進行加權平均再並求和,作為這一次mini-batch下降梯度
(4)不斷在訓練集中重複以上步驟,直到收斂。
梯度下降 隨機梯度下降 批梯度下降
下面的h x 是要擬合的函式,j 損失函式,theta是引數,要迭代求解的值,theta求解出來了那最終要擬合的函式h 就出來了。其中m是訓練集的記錄條數,j是引數的個數。梯度下降法流程 1 先對 隨機賦值,可以是乙個全零的向量。2 改變 的值,使j 按梯度下降的方向減少。以上式為例 1 對於我們的...
隨機梯度下降與梯度下降的區別?
如果你還不了解梯度下降請參考 知乎 ai醬 梯度下降是個啥?假設你已經懂了梯度下降的原理與公式。接下來我會舉個例子來講隨機梯度下降與梯度下降的區別。假如損失 誤差 函式對引數w的導數是x w x la bel x wx label x wx l abel 然後我們需要更新的引數是w ww,學習率是 ...
隨機梯度下降與梯度下降的區別?
如果你還不了解梯度下降請參考 知乎 ai醬 梯度下降是個啥?假設你已經懂了梯度下降的原理與公式。接下來我會舉個例子來講隨機梯度下降與梯度下降的區別。假如損失 誤差 函式對引數w的導數是x w x la bel x wx lab el 然後我們需要更新的引數是w w,學習率是 現在有一堆資料 x1 l...