最陡下降法(steepest descent method)又稱梯度下降法(英語:Gradient descent)是一個一階最最佳化算法。
要使用梯度下降法找到一個函式的局部極小值,必須向函式上當前點對應梯度(或者是近似梯度)的反方向的規定步長距離點進行疊代搜尋。如果相反地向梯度正方向疊代進行搜尋,則會接近函式的局部極大值點;這個過程則被稱為梯度上升法。
基本介紹
- 中文名:最陡下降算法
- 外文名:steepest descent method
- 發明者:Cauchy
- 性質:一階最最佳化算法
- 又稱:梯度下降法
- 缺點:靠近極小值時速度減慢等
描述,算法框圖,例子,缺點,
描述
因而,如果![](/img/4/d57/wZ2NnL4kjZkdjZkJWZlJzYyUjMhdjZiFmN5YDMwUWOldDOzMzLhxWdtJ3bm9SbvNmLz9mYlNmYu4GZj5yZtl2ai9yL6MHc0RHa.jpg)
![](/img/4/d57/wZ2NnL4kjZkdjZkJWZlJzYyUjMhdjZiFmN5YDMwUWOldDOzMzLhxWdtJ3bm9SbvNmLz9mYlNmYu4GZj5yZtl2ai9yL6MHc0RHa.jpg)
對於
為一個夠小數值時成立,那么
。
![](/img/d/8c3/wZ2NnLkFzNhNjMxU2MyYjN1MzNhdDNzQjZjdzMhRTYxMTN3M2LhxWdtJ3bm9SbvNmLz9mYlNmYu4GZj5yZtl2ai9yL6MHc0RHa.jpg)
![](/img/1/e2f/wZ2NnLyUzYwAjMxYGNxQWMmZWZlhTMmRjNhVWYkdTM5gjY5MzLhxWdtJ3bm9SbvNmLz9mYlNmYu4GZj5yZtl2ai9yL6MHc0RHa.jpg)
![](/img/3/024/wZ2NnLwcDZwgjNzMDN4gTNyEmZ5MDNwIzNiNjNhBDO1IWMmR2LhxWdtJ3bm9SbvNmLz9mYlNmYu4GZj5yZtl2ai9yL6MHc0RHa.jpg)
![](/img/e/16a/wZ2NnL2UjYhFDZyEDMlJDMjZTM3QzM3I2MyITY0EGZwQzNkF2LhxWdtJ3bm9SbvNmLz9mYlNmYu4GZj5yZtl2ai9yL6MHc0RHa.jpg)
![](/img/3/024/wZ2NnLwcDZwgjNzMDN4gTNyEmZ5MDNwIzNiNjNhBDO1IWMmR2LhxWdtJ3bm9SbvNmLz9mYlNmYu4GZj5yZtl2ai9yL6MHc0RHa.jpg)
![最陡下降算法 最陡下降算法](/img/e/73a/AOxkjNyYTNkJzYmRDM1ETO4IGN4IzN1ETMkZzM3UGN1MWZidTZwkjYvMWaw9SbvNmLz9mYlNmYu4GZj5yZtl2ai9yL6MHc0RHa.jpg)
,
,
..使
![](/img/5/602/wZ2NnLmFmZ5QDN5UmY3cTMmBzYyMWYwgDZ0EjYhRDOhZTO0Q2LhxWdtJ3bm9SbvNmLz9mYlNmYu4GZj5yZtl2ai9yL6MHc0RHa.jpg)
![](/img/0/2ca/wZ2NnLhJGM0IjY3MTNxUmYhZWNhJWNjNWNyUjMkFjZ5ImM4M2LhxWdtJ3bm9SbvNmLz9mYlNmYu4GZj5yZtl2ai9yL6MHc0RHa.jpg)
![最陡下降算法 最陡下降算法](/img/b/7c1/gY0MDO0QTMhRGZ3kzMyIWO3UDMzczM0QDM4E2YldDMiNTMzkTMxMjYvMWaw9SbvNmLz9mYlNmYu4GZj5yZtl2ai9yL6MHc0RHa.jpg)
因此可得到
![最陡下降算法 最陡下降算法](/img/4/580/AM4ATNmNWM3Q2M5MWOwQmNlJ2M0MDZkJmN4cTY4MWMkF2Y1kjZxQjMvMWaw9SbvNmLz9mYlNmYu4GZj5yZtl2ai9yL6MHc0RHa.jpg)
如果順利的話序列
收斂到期望的極值。注意每次疊代步長
可以改變。
![](/img/8/766/wZ2NnLkNjMlZjNzIzYkFDMiZWMxMGO5QDMhVDNjJzN3IDNlN2LhxWdtJ3bm9SbvNmLz9mYlNmYu4GZj5yZtl2ai9yL6MHc0RHa.jpg)
![](/img/9/413/wZ2NnLwMTMwgjYyMTN5UGN4UGZkJGMlBjMyImY5QjNyIDO0czLhxWdtJ3bm9SbvNmLz9mYlNmYu4GZj5yZtl2ai9yL6MHc0RHa.jpg)
圖片示例了這一過程,這裡假設
為常數的集合構成的曲線。紅色的箭頭指向該點梯度的反方向。(一點處的梯度方向與通過該點的等高線垂直)。沿著梯度下降方向,將最終到達碗底,即函式
值最小的點。
![](/img/e/16a/wZ2NnL2UjYhFDZyEDMlJDMjZTM3QzM3I2MyITY0EGZwQzNkF2LhxWdtJ3bm9SbvNmLz9mYlNmYu4GZj5yZtl2ai9yL6MHc0RHa.jpg)
![](/img/e/16a/wZ2NnL2UjYhFDZyEDMlJDMjZTM3QzM3I2MyITY0EGZwQzNkF2LhxWdtJ3bm9SbvNmLz9mYlNmYu4GZj5yZtl2ai9yL6MHc0RHa.jpg)
算法框圖
算法框圖如下:
![最陡下降算法 最陡下降算法](/img/e/451/gZyMWN3ETOjZDO3EGOjJGZ5QjN5czNjhTZ0AzMhBzN5QzMxQjZxMmZvMWaw9SbvNmLz9mYlNmYu4GZj5yZtl2ai9yL6MHc0RHa.jpg)
例子
梯度下降法處理一些複雜的非線性函式會出現問題,例如Rosenbrock函式:
![最陡下降算法 最陡下降算法](/img/c/70a/wNwUzN0UDZkNjM5ADN1MDNzkTY0IjZmljZkVWN4EGNzAjNjVTMzQmYvMWaw9SbvNmLz9mYlNmYu4GZj5yZtl2ai9yL6MHc0RHa.jpg)
其最小值在(x,y)=(1,1)處,數值為0,但是此函式具有狹窄彎曲的山谷
![最陡下降算法 最陡下降算法](/img/4/267/AOwIDZyUDM5cjZ5AzMyMGN0IjMhFDMzUmMyQmN2EzM0ImZyImYmRTNvMWaw9SbvNmLz9mYlNmYu4GZj5yZtl2ai9yL6MHc0RHa.jpg)
,最小值(x,y)=(1,1)就在這些山谷之中,並且谷底很平。最佳化過程是之字形的向極小值點靠近,速度非常緩慢。
缺點
梯度下降法的缺點包括:
靠近極小值時速度減慢;
直線搜尋可能會產生一些問題;
可能會“之字型”地下降。