簡介
梯度下降法是最小化目標函式j(
θ)的一種方法,旨在降低真實值和**值之間的誤差,其中θ∈
rd為模型引數。梯度下降法利用目標函式計算引數梯度δθ
j(θ)
的反方向更新引數。學習率
η (learning rate)決定達到最小值或者區域性最小值過程中所採用的的步長大小,即,我們沿著目標函式的斜面下降的方向,直到到達谷底。
梯度下降法
梯度下降法有三種形式,它們之間的區別在於計算目標函式梯度時使用到多少資料。根據資料量的大小,我們在引數更新的精度和更新過程中所需要的時間兩個方面做出權衡。
2.1 批梯度下降法
vanilla梯度下降法,即批梯度下降法(batch gradient descent),在整個訓練集上計算損失函式關於引數
θ 的梯度:
θ=θ−
δθj(
θ)θ 的梯度向量δθ
j(θ)
。然後,我們利用梯度的方向和學習率更新引數,學習率決定我們將以多大的步長更新引數。對於凸誤差函式,批梯度下降法能夠保證收斂到全域性最小值,對於非凸函式,則收斂到乙個區域性最小值。
2.2 隨機梯度下降法
隨機梯度下降法(stochastic gradient descent, sgd)根據每一條訓練樣本x(
i)和標籤y(
i)更新引數:
θ=θ−
η⋅δθ
j(θ;
x(i)
;y(i
))2.3 小批量梯度下降法
小批量梯度下降法最終結合了上述兩種方法的優點,在每次更新時使用
n 個小批量訓練樣本: θ=
θ−η⋅
δθj(
θ;x(
i:i+
n);y
(i;i
+n))
這種方法,a)減少引數更新的方差,這樣可以得到更加穩定的收斂結果;b)可以利用最新的深度學習庫中高度優化的矩陣優化方法,高效地求解每個小批量資料的梯度。通常,小批量資料的大小在50到256之間,也可以根據不同的應用有所變化。當訓練神經網路模型時,小批量梯度下降法是典型的選擇演算法,當使用小批量梯度下降法時,也將其稱為sgd。
梯度下降方法
這幾天在看 統計學習方法 這本書,發現 梯度下降法 在 感知機 等機器學習演算法中有很重要的應用,所以就特別查了些資料。一.介紹 梯度下降法 gradient descent 是求解無約束最優化問題的一種常用方法,有實現簡單的優點。梯度下降法是迭代演算法,每一步需要求解目標函式的梯度向量。二.應用場...
梯度下降方法
這幾天在看 統計學習方法 這本書,發現 梯度下降法 在 感知機 等機器學習演算法中有很重要的應用,所以就特別查了些資料。一.介紹 梯度下降法 gradient descent 是求解無約束最優化問題的一種常用方法,有實現簡單的優點。梯度下降法是迭代演算法,每一步需要求解目標函式的梯度向量。二.應用場...
梯度下降 隨機梯度下降 批梯度下降
下面的h x 是要擬合的函式,j 損失函式,theta是引數,要迭代求解的值,theta求解出來了那最終要擬合的函式h 就出來了。其中m是訓練集的記錄條數,j是引數的個數。梯度下降法流程 1 先對 隨機賦值,可以是乙個全零的向量。2 改變 的值,使j 按梯度下降的方向減少。以上式為例 1 對於我們的...