梯度下降法是求解無約束優化問題的迭代演算法,每一步要求解目標函式的梯度向量。
假設目標函式f(
x)在實數域上具有一階連續偏導數,無約束最優化問題為:mi
nx∈r
nf(x
) 。設x
∗ 是目標函式極小值點。選取適當的初值x(
0),不斷迭代,更新
x 的值,直到梯度收斂/目標函式值收斂/x的值收斂。在迭代的每一步,以負梯度方向更新x的值(因為函式值沿負梯度方向下降最快)。
設第k此迭代值為x(
k),f
(x) 在
x(k)
附近一階泰勒展開:f(
x)=f
(x(k
))+g
tk(x
−x(k
))其中gk
是ff(x
) 在x(
k)的梯度。 f(
x(k)
+λk∗
(−gk
))=m
inλ≥
0f(x
(k)+
λ∗(−
gk))
求出使得f(
x(k)
+λk∗
(−gk
))最小的λk
後,令x(
k+1)
=x(k
)+λk
∗(−g
k)實現簡單;
目標函式是凸函式時,能達到全域性最優。
求梯度比較費時,收斂速度一般;
只能解無約束的優化問題;
目標函式非凸時,陷入區域性最優。
輸入:目標函式f(
x),梯度函式g(
x),計算精度
ε ;
輸出:f(x
) 極小值點x∗
。k=0
;隨機產生x(
0)∈r
;計算x
(k) 處的函式值f(
x(k)
) 計算x(
k)處的梯度值g(
x(k)
) ;如果g(
x(k)
)<
ε ,停止迭代,令x∗
=x(k
+1) ;否則,求λk
,使得f(
x(k)
+λk∗
(−gk
))=m
inλ≥
0f(x
(k)+
λ∗(−
gk))
x(k+1)
=x(k
)+λk
∗(−g
k),計算x(
k+1)
處的函式值f(
x(k+
1)) ;如果||
f(x(
k+1)
)−f(
x(k)
)||<
ε 或者 ||
x(k+
1)−x
(k)|
|<
ε ,停止迭代;令x∗
=x(k
+1) 否則,令k=
k+1 ,轉3
梯度下降法學習筆記
梯度 表示某一函式在該點處的方向導數沿著該方向取得最大值,即函式在該點處沿著該方向 此梯度的方向 變化最快。對於一元函式y f x 其梯度 為 y x,對於 二元函式 f x,y 其 梯度為 f x f y 步長 在梯度下降迭代的過程中,每一步沿梯度負方向前進的長度 損失函式 在單個訓練樣本上的,也...
機器學習之梯度下降法 梯度下降法分析
梯度下降法的基本思想是函式沿著其梯度方向增加最快,反之,沿著其梯度反方向減小最快。在前面的線性回歸和邏輯回歸中,都採用了梯度下降法來求解。梯度下降的迭代公式為 j j j j 在回歸演算法的實驗中,梯度下降的步長 為0.01,當時也指出了該步長是通過多次時間找到的,且換一組資料後,演算法可能不收斂。...
梯度下降法和隨機梯度下降法
批量梯度下降法 batch gradient descent 在更新引數時使用所有的樣本來進行更新 隨機梯度下降法 stochastic gradient descent 求梯度時沒有用所有的m個樣本的資料,而是僅僅選取乙個樣本j來求梯度。小批量梯度下降法 mini batch gradient d...