梯度下降法學習總結

2021-06-29 01:19:22 字數 1542 閱讀 9549

梯度下降法是求解無約束優化問題的迭代演算法,每一步要求解目標函式的梯度向量。

假設目標函式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...