凸優化第九章無約束優化 9.3 梯度降低方法

9.3 梯度降低方法

  1. 梯度降低方法
  2. 例子

梯度降低方法

用負梯度作搜索方向,即令\bigtriangleup x = -\bigtriangledown f(x),這種降低方法稱爲梯度降低方法:dom

給定初始點x \in dom(f)函數

重複進行優化

  1. \bigtriangleup x = - \bigtriangledown f(x)
  2. 直線搜索:經過精確或回溯直線搜索方法肯定步長t
  3. 修改:x:=x+t \bigtriangleup x

直到知足中止條件spa

中止準則一般取爲:\begin{Vmatrix} \bigtriangedown f(x)\end{Vmatrix}_2 \leq \eta,其中\eta是小正數。通常狀況下步驟11完成後就檢驗中止條件而不是在修改後才檢驗。.net

例子

R^2空間的二次問題

考慮R^2上的二次目標函數:f(x)=\frac{1}{2}(x_1^2+\gamma x_2^2),\gamma >0,顯然最優勢是x^*=0。f的海瑟矩陣是常熟,其特徵值是1和\gamma,所以起全部下水平集的條件數爲\frac{max\left \{ 1,\gamma \right \}}{min\left \{ 1,\gamma \right \}}=max\left \{ \gamma,1/\gamma \right \}blog

採用精確線性搜索,初始點爲x^{(0)}=(\gamma,1),迭代過程當中每一個點的表達式寫成:get

x_1^{(k)}=\gamma(\frac{\gamma-1}{\gamma+1})^k,x_2^{(k)}=(-\frac{\gamma-1}{\gamma+1})^k

下圖是\gamma =10時,精確線性搜索方法的迭代過程,其中虛線是等值線。同步

R^2空間的非二次型問題

f(x_1,x_2)=e^{x_1+2x_2-0.1}+e^{x_1-3x_2-0.1}+e^{-x_1-0.1}

上圖分別是該問題的回溯搜索方法和精確搜索方法的迭代過程。能夠看出精確搜索方法的收斂速度大約是回溯收斂方法的兩倍。博客

R^{100}空間的一個問題

f(x)=c^Tx-\sum_{i=1}^mlog(b_i-a_i^Tx)

上圖是分別採用回溯直線搜索和精確直線搜索的梯度優化方法所產生的偏差和迭代次數之間的關係class

梯度方法和條件數的結論

書上給出了一些結論

  1. 梯度方法一般呈現近似線性收斂性質
  2. 回溯參數\alpha ,\beta的取值對收斂性有明顯的影響,但不會產生戲劇性的效果。精確搜索方法有時能夠改善梯度方法的收斂性,膽效果不是很大。
  3. 收斂速度強烈以來與海瑟矩陣或下水平集的條件數。及時問題的條件數不是太壞,收斂速度也可能很慢,若是條件數很大,梯度方法已經慢的失去實用價值。

 

來源:https://blog.csdn.net/wangchy29/article/details/87968905

本文同步分享在 博客「使君杭千秋」(CSDN)。
若有侵權,請聯繫 support@oschina.cn 刪除。
本文參與「OSC源創計劃」,歡迎正在閱讀的你也加入,一塊兒分享。

相關文章
相關標籤/搜索