機器學習系列之梯度下降法

2021-07-25 14:56:07 字數 941 閱讀 3049

梯度下降法,又叫最速下降法,是一種最優化演算法。它用負梯度方向為搜尋方向的,最速下降法越接近目標值,步長越小,前進越慢。

梯度下降法的計算過程就是沿著梯度下降的方向求解極小值。(亦可以沿著梯度上公升的方向求解極大值)。它的迭代公式為: ak

+1=a

k+γk

s−(k

)(式1

−1)

其中,s−(

k)代表的是梯度的負方向,γk

表示梯度方向上的搜尋步長。梯度方向可以通過求導得到,步長的設定則比較麻煩,太大的容易發散,找不到極小值的點,太小的話則收斂的速度比較慢。

#python **

# encoding=utf-8

x_old = 0

x_new = 6

gamma = 0.01

precision = 0.00000001

# x = symbol("x")

# f = (x ** 4) - (3 * (x ** 3)) + 2

#梯度下降演算法

defdf

(x):

y = 4 * x**3 - 9 * x**2

return y

while abs(x_new - x_old) > precision:

x_old = x_new

x_new += -gamma * df(x_old)

print

"the local minimum occurs at", x_new//the local minimum occurs at 2.24999996819

利用數學知識可以求得函式f(

x)=x

4−3x

3+2 的極小值在94

取得,即2.25,**求得的結果是2.24999996819,已經滿足小於0.00000001的條件,可以發現**是正確的。

機器學習之梯度下降法 梯度下降法分析

梯度下降法的基本思想是函式沿著其梯度方向增加最快,反之,沿著其梯度反方向減小最快。在前面的線性回歸和邏輯回歸中,都採用了梯度下降法來求解。梯度下降的迭代公式為 j j j j 在回歸演算法的實驗中,梯度下降的步長 為0.01,當時也指出了該步長是通過多次時間找到的,且換一組資料後,演算法可能不收斂。...

機器學習之梯度下降法

1 批量 梯度下降 使用整個訓練集的優化演算法被稱為批量 batch 梯度下降演算法。術語 批量梯度下降 指使用全部訓練集,而術語 批量 單獨出現時指一組樣本。2 隨機梯度下降 每次只使用單個樣本的優化演算法被稱為隨機 stochastic 梯度下降演算法。3 小批量梯度下降 大多數用於深度學習的演...

機器學習之梯度下降法

如圖,對於函式f x,y 函式的增量與pp 兩點距離之比在p 沿l趨於p時,則為函式在點p沿l方向的方向導數。記為 f l lim 0f x x,y y f x,y 其中 x 2 y 2 方向導數為函式f沿某方向的變化速率。而且有如下定理 f l f xc os f y sin 梯度是乙個向量,它的...