牛頓下降法和梯度下降法 最速下降法 的速度的比較

2021-08-08 15:23:57 字數 2070 閱讀 7859

「牛頓下降法和梯度下降法在機器學習和自適應濾波中的都很重要,本質上是為了尋找極值點的位置。但是收斂的速度不同。 本文中就兩種方法來**一下,哪種收斂方法速度快「

牛頓下降法的遞推公式: x

n+1=

xn−f

′(xn

)/f′′

(xn)

梯度下降演算法的遞推公式: x

n+1=

xn−μ

∗f′(

xn)

下圖是兩種方法的圖示表示,紅色為牛頓下降法,綠色為梯度下降法,從圖中直觀的感覺是,紅色線短,下降速度快。因為牛頓下降法是用二次曲面去擬合當前的區域性曲面,而梯度下降法是用平面去擬合當前的區域性曲面,一般用二次曲面擬合的更好,所以一般牛頓演算法收斂快。

關於以上的說法中,梯度下降法是用平面去擬合當前的區域性曲面。梯度 f』(x)的方向是函式變大的方向。這裡需要解釋一下,對於一維情況而言,梯度方向只有正方向和負方向。至於為什麼梯度下降演算法就是用平面去擬合了,大多數情況下,沒有講的詳細。接下來就聊一下為什麼。

首先考慮一下這個公式,這是一階泰勒展式,其實就是用平面去擬合函式的區域性曲面。 f

(x+δ

x)=f

(x)+

f′(x

)∗δx

我們的目的是使得左邊的值變小,那是不是應該使得下面的式子變為負值。 f

′(x)

∗δx

這樣不就會使得左邊的式子變小嗎。

但是如何使得上式一定為負值,簡單的方法就是: δ

x=−f

′(x)

這樣上式就變為 f

(x+δ

x)=f

(x)−

f′(x

)∗f′

(x)

現在滿足使得下式變小了 f

(x+δ

x)但是不要忘了以上所有的一切只有在區域性成立,也就是說在小範圍才成立,那麼下式就有很能太大 δ

x=−f

′(x)

所以加個小的修正的因子,上式就變為: δ

x=−μ

∗f′(

x)最終得到公式: x

n+1=

xn−μ

∗f′(

xn)

這就是為什麼說梯度下降演算法是用平面擬合函式的區域性曲面。

至於說牛頓下降法是用二次曲面去擬合當前的區域性曲面,首先考慮一下下式: f

(x+δ

x)=f

(x)+

f′(x

)δx+

1/2∗

f′′(x

)∗δx

2

同樣我們希望左式最小,那麼將左式看成是△x的函式,當取合適的△x值時,左邊的式子達到極小值,此時導數為0。因此對上式進行求導數,得到一下公式: 0

=f′(

x)+f

′′(x)

∗δx

此時可得到公式: x

n+1=

xn−f

′(xn

)/f′′

(xn)

所以說牛頓下降法是用二次曲面來擬合函式的區域性曲面。

綜上而言,牛頓下降法利用了函式的更多的資訊,能夠更好的擬合區域性曲面,所以收斂的速度也會加快。

關於梯度下降演算法,其中最重要的就是要確定步長μ,它的值嚴重的影響了梯度下降演算法的表現。

接下來考慮如下公式: f

′(x+

δx)=

f′(x

)+f′′

(x)∗

δx和

δx=−μ∗f

′(x)

結合兩個式子,得到: f

′(x+

δx)=

f′(x

)−μ∗

f′′(x

)∗f′

(x)

令左邊的式子為0,得到: μ

=1/f

′′(x)

由此可見牛頓下降法是梯度下降法的最優情況,因此牛頓下降法的收斂的速度必然更快。

梯度下降法和牛頓下降法

泰勒公式可以表示為 f boldsymbol boldsymbol f boldsymbol boldsymbol boldsymbol frac boldsymbol boldsymbol boldsymbol o boldsymbol tag 在 2 中 boldsymbol x 1,x n b...

牛頓下降法和梯度下降法 最速下降法 的速度的比較

牛頓下降法和梯度下降法在機器學習和自適應濾波中的都很重要,本質上是為了尋找極值點的位置。但是收斂的速度不同。本文中就兩種方法來 一下,哪種收斂方法速度快 牛頓下降法的遞推公式 xn 1 x n f xn f xn 梯度下降演算法的遞推公式 xn 1 x n f x n 下圖是兩種方法的圖示表示,紅色...

機器學習 最速下降法和牛頓下降法

入門教材常用二分法來求解實數求根的問題。我們現在來用普通迭代法 下降法來求解實數開立方根的問題。設當前實數為n,求根次數為k,根為s,那麼有s k n。所得偏差函式為f s s k n。顯然當代價函式f s 0時,我們便求出了n的k次根。現在我們開立方根,那麼k 3,代價函式為f s s 3 n。普...