為什麼梯度的負方向是梯度下降最快的方向

2021-10-09 15:52:21 字數 3252 閱讀 4346

梯度方向指向數值增長最快的方向,大小為變化率。通過這個性質也說明梯度是有方向和大小的向量。通過梯度的定義我們發現,梯度的求解其實就是求函式偏導的問題,而我們高中所學的導數在非嚴格意義上來說也就是一元的「偏導」。通過這一點我們自然而然地想到梯度應該是導數向更高維數的推廣。換句話說,梯度是向量,而某點的導數是個常量。

如果函式 f(θ

)f(\theta )

f(θ)

是凸函式,那麼就可以使用梯度下降演算法進行優化。梯度下降演算法的公式:

θ =θ

0−η⋅

▽f(θ

)\theta = \theta_0 - \eta \cdot \big********down f(\theta )

θ=θ0​−

η⋅▽f

(θ)θ

0\theta_0

θ0​是更新前的θ

\theta

θ;η\eta

η是學習因子,即步進長度;▽f(

θ)\big********down f(\theta )

▽f(θ

)是方向。

這個示例函式是f(x

)=(x

−2)2

+2f(x)=(x-2)^2+2

f(x)=(

x−2)

2+2在(1,3)位置的梯度為-2<0,梯度方向為x軸的負方向,上公升

在(3,3)位置的梯度為2>0,梯度方向為x軸正方向,上公升

定**釋:

設f(x)有一階導:f(x

+δx)

−f(x

)δx≈

f′(x

)δxf(x+

δx)−

f(x)

​≈f′

(x)。

如果f′(x)>0,在δx鄰域半徑內單調上公升,梯度方向取x的正方向,函式梯度上公升。

如果f′(x)<0,在δx鄰域半徑內單調下降,梯度方向取x的負方向,函式梯度上公升。

梯度方向是上公升方向,目標函式大多是loss函式,基本都是求最小值,那麼就是就1取梯度的負方向。

梯度下降演算法的推導如下:

其中, θ−θ

0\theta-\theta_0

θ−θ0

​是微小向量,它的大小就是我們之前講的步進長度η

\eta

η,η\eta

η為標量,而θ−θ

0\theta-\theta_0

θ−θ0

​的單位向量用v表示。則θ−θ

0\theta-\theta_0

θ−θ0

​可表示為:θ−θ

0=ηv

\theta-\theta_0=\eta v

θ−θ0​=

ηv。特別需要注意的是, θ−θ

0\theta-\theta_0

θ−θ0

​不能太大,因為太大的話,線性近似就不夠準確,一階泰勒近似也不成立了。替換之後, f(θ

)f(\theta )

f(θ)

的表示式為:

f (θ

)≈f(

θ0)+

ηv⋅▽

f(θ)

f(θ)≈f

(θ0​

)+ηv

⋅▽f(

θ)區域性下降的目的是希望每次θ

\theta

θ更新,都能讓函式值 f(θ

)f(\theta )

f(θ)

變小。也就是說,上式中,我們希望f(θ)θ0

)f(\theta )f(

θ)θ0​)

。則有:

f (θ

)−f(

θ0)≈

ηv⋅▽

f(θ)

<0f(

θ)−f

(θ0​

)≈ηv

⋅▽f(

θ)<

0因為η

\eta

η為標量,且一般設定為正值,所以可以忽略,不等式變成了:ηv⋅

▽f(θ

)<

0\eta v \cdot \big********down f(\theta )<0

ηv⋅▽f(

θ)<0v

vv和▽f(

θ)\big********down f(\theta )

▽f(θ

)都是向量,▽f(

θ)\big********down f(\theta )

▽f(θ

)是當前位置的梯度方向,v

vv表示下一步前進的單位向量。

假設ab均為向量, α

\alpha

α為兩個向量之間的夾角。a和b的乘積為:

a ⋅b

=∥a∥

⋅∥b∥

⋅cos

(α)a\cdot b=\left \| a \right \| \cdot \left \| b \right \|\cdot cos(\alpha )

a⋅b=∥a

∥⋅∥b

∥⋅co

s(α)

∥ a∥

\left \| a \right \|

∥a∥和∥b∥

\left \| b \right \|

∥b∥ 均為標量,在∥a∥

\left \| a \right \|

∥a∥和∥b∥

\left \| b \right \|

∥b∥確定的情況下,只要cos

(α)=

−1cos(\alpha )=-1

cos(α)

=−1,即a和b完全反向,就能讓a和b的向量乘積最小(負最大值)。即,當v

vv與▽f(

θ)\big********down f(\theta )

▽f(θ

)互為反向,即v

vv為當前梯度方向的負方向的時候,能讓v⋅▽

f(θ)

v \cdot \big********down f(\theta )

v⋅▽f(θ

)最大程度地小,也就保證了v

vv的方向是區域性下降最快的方向。

什麼是梯度下降

1 在求解機器學習演算法的模型引數,即無約束優化問題時,梯度下降 gradient descent 是最常採用的方法之一,另一種常用的方法是最小二乘法。梯度的方向是函式f增長最快的方向,梯度的反方向是梯度下降最快的方向 對於梯度下降的解釋是 比如說下山的過程中,我們不知道從 下山可以最快到達山腳下,...

為什麼梯度方向與等高線垂直

有些結論用起來習以為常,卻不知道背後的原理,比如為什麼梯度方向與等高線垂直,弄明白後心裡才舒暢 要解決這個問題首先得有等高線的數學表示式 以三維空間為例,設某曲面的表示式為z f x,y z f x,y z f x,y 對於任意高度且平行於xoy的平面z c z cz c來說,等高線為z f x,y...

為什麼沿著梯度方向函式值上公升的最快

一元函式的變化快慢可以用導數來判斷,其定義為 lim x 0f x x f x x f x f x x f x f x x x 可以看出來,f x 越大,則函式變化越快。對於多元函式其實也是類似的 lim x 0 y 0f x x,y y f x,y x 2 y 2 lim x 0 y 0f x x...