機器學習(三) 梯度下降法

2021-08-08 23:08:19 字數 895 閱讀 8082

本部落格大部分參考了這篇博文

在微積分裡面,對多元函式的引數求∂偏導數,把求得的各個引數的偏導數以向量的形式寫出來,就是梯度。

比如函式f(

x,y)

, 分別對x,y求偏導數,求得的梯度向量就是(∂

f/∂x

,∂f/

∂y) ,簡稱gr

adf(

x,y)

或者∇f

(x,y

) 。如果是3個引數的向量梯度,就是(∂

f/∂x

,∂f/

∂y,∂

f/∂z

) ,以此類推。

那麼這個梯度向量求出來有什麼意義呢?他的意義從幾何意義上講,就是函式變化增加最快的地方

具體來說,對於函式f(

x,y)

,在點(

x0,y

0),沿著梯度向量的方向(即(∂

f/∂x

0,∂f

/∂y0

) 的方向)是f(

x,y)

增加最快的地方。或者說,沿著梯度向量的方向,更加容易找到函式的最大值。反過來說,沿著梯度向量相反的方向,也就是 −(

∂f/∂

x0,∂

f/∂y

0)的方向,梯度減少最快,也就是更加容易找到函式的最小值。

參考的部落格給出了詳細的解答過程,這裡就另外給個矩陣的求導法則鏈結

上述部落格講了隨機梯度下降,在此補充乙個迴圈迭代的隨機梯度下降。

即通過多次迴圈隨機梯度下降,來避免隨機梯度下降的區域性最優。

建議參考《機器學習實戰》的5.2.4節。

牛頓法

機器學習(二) 梯度下降法

前言 在上篇博文機器學習 一 中,最後我們提到,通過計算代價函式j 是否收斂於最小值來確定假設函式的引數 進而訓練出機器學習中的線性回歸演算法,那麼如何來找到使得j 最小話的引數 呢,本篇博文將介紹一種常用的方法,梯度下降法來確定引數 值。一 對於單特徵線性回歸,梯度下降法的演算法如下 repeat...

機器學習一(梯度下降法)

最近偶觸python,感ctrl c和ctrl v無比順暢,故越發膨脹。怒拾起python資料分析一pdf讀之,不到百頁,內心惶恐,嘆 臥槽,這都tm是啥,甚是迷茫。遂感基礎知識薄弱,隨意搜了機器學習教程,小看一翻。此文給出課件中幾個演算法,自己都不知道對不對,感覺還可以吧。本文以線性回歸為例,在給...

機器學習演算法(四) 梯度下降法

在對模型優化時,希望通過梯度下降法使得模型的損失函式降低。目前主要的梯度下降法有sgd momentum adagrad rmsprop adam幾種,接下來將詳細討論這幾種方法以及他們的優缺點。隨機選取乙個樣本的損失來近似整體樣本的平均損失,sgd在進行引數更新時的計算方式為 t t 1 gt t...