梯度下降法是一個
最優化算法,通常也稱為
最速下降法。
最速下降法是求解無約束優化問題最簡單和最古老的方法之一,雖然現在已經不具有實用性,但是許多有效算法都是以它為基礎進行改進和修正而得到的。
最速下降法是用
負梯度方向為搜索方向的,最速下降法越接近目標值,步長越小,前進越慢。
可以用於求解非線性方程組。

舉一個非常簡單的例子,如求函數
f(x) = x^2 的最小值。
利用梯度下降的方法解題步驟如下:
1、求
梯度,
▽ = 2x
2、
向梯度相反的方向移動
,如下x = x - v·▽,其中,

v
為步長。
如果步長足夠小,則可以保證每一次迭代都在減小,但可能導致收斂太慢,如果步長太大,則不能保證每一次迭代都減少,也不能保證收斂。

當x=1的時候,斜率是2,x = 1-0.001×2 = 1-0.002 = 0.998,逐漸接近0
當x=1的時候,斜率是-2,x = -1+0.001×2 = -1+0.002 = -0.998,逐漸接近0
3、
循環迭代步驟2,直到x的值變化到使得
f(x) 在兩次迭代之間的
差值足夠小,比如0.00000001,也就是說,直到兩次迭代計算出來的
f(x)基本沒有變化,則說明此時
f(x)已經達到局部最小值了。
4、此時,輸出x,這個
就是使得函數

f(x)
最小時的x的取值 。