梯度:f(
θ)在θ
0 處的梯度表示f(
θ)在點θ0
處函式值變化最快的方向。
對於凸函式f(
θ)來說,沿著負梯度方向尋找可以找到函式的極小值 θk
+1=θ
k−ηf
′(θk
) k 表示第
k步迭代,
η 表示修正因子(步長),因為梯度方向變化最快,只在區域性有效
如果對於多維情形,表示為 θk
+1=θ
k−η∇
f(θk
) 其中θ
k=(θ
k1,θ
k2,.
..,θ
kn)t
∇f(θk+1
)=⎡⎣
⎢⎢⎢⎢
⎢⎢⎢⎢
⎢∂f∂
θk1∂
f∂θk
2...
∂f∂θ
kn⎤⎦
⎥⎥⎥⎥
⎥⎥⎥⎥
⎥ 以線性回歸舉例
對於訓練資料集t=
採用線性回歸模型h(
θ,x)
=∑ni
=0θi
xi n
表示樣本的特徵個數
損失函式j(
θ)=1
2∑mi
=1(y
i−h(
θ,x(
i)))
2 要使得j(θ
) 取得極小值 ∂j
(θ)∂
θj=−
∑i=1
m(y(
i)−h
(θ,x
(i))
)x(i
)j在第k+
1 步迭代時 θk
+1j=
θkj+
η∑i=
1m(y
(i)−
h(θ,
x(i)
))x(
i)j
每次迭代使用全部的樣本,即為批量梯度下降法,這樣可以使迭代朝著全域性最優方向進行,但是如果樣本量足夠大,則迭代速度比較慢
相比批量梯度下降法,隨機梯度下降法則每次隨機選取樣本x(
i)更新引數 在第k
+1步迭代時 θk
+1j=
θkj+
η(y(
i)−h
(θ,x
(i))
)x(i
)j同樣考慮凸函式f(
θ)的極小值最優化問題,
按照泰勒展開,用二次曲面去擬合函式的區域性曲面 f(
θ+δθ
)=f(
θ)+f
′(θ)
δθ+1
2f″(
θ)(δ
θ)2
要使左式最小,則對右邊求導為0 0=
f′(θ
)+f″
(θ)δ
θ δθ
=−f′
(θ)f
″(θ)
從而迭代過程 θk
+1=θ
k−f′
(θ)f
″(θ)
對於多維情形,一階導變成梯度向量,二階導變成海森矩陣
牛頓法雖然收斂速度比較快,但是計算海森矩陣時,計算量特別大,從而演化除了擬牛頓法,思想是對海森矩陣以及海森矩陣的擬取近似值,減小計算量,包括dfp演算法, bfgs演算法, l-bfgs演算法
對於梯度下降法,需要確定步長
η ,其決定了梯度下降法的表現 θk
+1=θ
k−ηf
′(θk
) 同樣,對於兩個式子 f′
(θ+δ
θ)=f
′(θ)
+f″(
θ)δθ
(3.1) δ
θ=−η
f′(θ
)(3.2)
將式(3.2)代入式(3.1) f′
(θ+δ
θ)=f
′(θ)
−ηf′
(θ)f
″(θ)
令左邊式子等於0 η=
1f″(
θ)由此可見,牛頓下降法是梯度下降的最優情況
梯度下降法與牛頓法
梯度下降法,是迭代演算法。在求最值時,常常用到。bp網路中,最小化 誤差cost function,求解對應網路中的weights,即可用梯度下降法來更新weights.梯度下降法基本思想 給定乙個函式 f 假設求 f 最大值 最小值 初始化函式上的乙個點,對該點求導,該點往導數的方向 反方向 移動...
梯度下降法和牛頓下降法
泰勒公式可以表示為 f boldsymbol boldsymbol f boldsymbol boldsymbol boldsymbol frac boldsymbol boldsymbol boldsymbol o boldsymbol tag 在 2 中 boldsymbol x 1,x n b...
機器學習中牛頓法 梯度下降法
機器學習中,很多時候是求最優化問題,優化問題的求解通常有兩種求解方法 牛頓法 梯度下降法。牛頓法 使用迭代的方法,尋找使 theta 0,找到 theta的具體取值。數學表示式如下 簡單理解 先隨機選取一點,求出 在該點的切線即導數 切線等於 的位置,即下一次迭代的值 知道 逼近等於0的點。具體過程...