梯度下降法是乙個最優化演算法,通常也稱為最速下降法。
最速下降法是求解無約束優化問題最簡單和最古老的方法之一,雖然現在已經不具有實用性,但是許多有效演算法都是以它為基礎進行改進和修正而得到的。
最速下降法是用負梯度方向為搜尋方向的,最速下降法越接近目標值,步長越小,前進越慢。
可以用於求解非線性方程組。
舉乙個非常簡單的例子,如求函式
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的取值 。
機器學習 梯度下降演算法
梯度下降法是乙個 最優化演算法,通常也稱為最速下降法。最速下降法是求解無約束優化問題最簡單和最古老的方法之一,雖然現在已經不具有實用性,但是許多有效演算法都是以它為基礎進行改進和修正而得到的。最速下降法是用負梯度方向為搜尋方向的,最速下降法越接近目標值,步長越小,前進越慢。可以用於求解非線性方程組。...
機器學習 梯度下降演算法
梯度下降演算法。什麼是梯度 梯度 梯度的本意是乙個向量,由函式對每個引數的偏導組成,表示某一函式在該點處的方向導數沿著該方向取得最大值,即函式在該點處沿著該方向變化最快,變化率最大。梯度下降演算法原理 演算法思想 梯度下降是一種非常通用的優化演算法,能夠為大範圍的問題找到最優解。梯度下降的中心思想就...
機器學習 梯度下降
參照 機器學習 這本書的第4.4.3節。一.解決目標及情景假設 當給定一些資料,輸入x向量已知,輸出y也已知,設計乙個線性函式y h x 去擬合這些資料。既然是線性函式,在此不妨設為h x w0 x0 w1 x1。此時我們遇到的問題就是如何確定w0和w1這兩個引數,即w w0,w1 這個向量。既然是...