梯度下降法

2022-05-27 10:09:09 字數 1231 閱讀 4154

梯度下降法(gradient descent)或最速下降法(steepest descent)是求解無約束最優化問題的一種最常用的方法。梯度下降法是迭代演算法,每一步需要求解目標函式的梯度向量。

假設f(x)是rn上具有一階連續偏導數的函式,要求解的無約束最優化問題是

x*表示目標函式f(x)的極小點。

提梯度下降法是一種迭代演算法。選取適當的初值x

(0),不斷迭代,更新x值,進行目標函式的極小化,直到收斂。由於負梯度方向是使函式值下降最快的方向,在迭代的每一步,以負梯度方向更新x的值,從而達到減少函式值的目的。

由於f(x)具有一階連續偏導數,若第k次迭代值為x

(k),則可將f(x)在x

(k)附近進行一階展泰勒開:

這裡,

為f(x)在x

(k)的梯度。

求出第k+1次迭代值x

(k+1):

其中,pk

是搜尋方向,取負梯度方向

,λk是步長,由一維搜尋確定,即λk

使得:

梯度下降演算法如下:

輸入:目標函式 f(x),梯度函式

,計算精度ε;

輸出:f(x)的極小點x

*(1)取初值x(

0)∈rn,置k=0

(2)計算f(x(k))

(3)計算梯度gk=g(x(k)),當||gk||

(4)置x(k+1)=x(k)+λkpk,計算f(x(k+1))

當||f(x(k+1))-f(x(k))||

*=x(k+1)

(5)否則,置k=k+1,轉(3)

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

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

梯度下降法

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

梯度下降法

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