16、什麼是擬牛頓法(Quasi-Newton Methods)?

擬牛頓法是求解非線性優化問題最有效的方法之一,於20世紀50年代由美國Argonne國家實驗室的物理學家W.C.Davidon所提出來。Davidon設計的這種算法在當時看來是非線性優化領域最具創造性的發明之一。不久R. Fletcher和M. J. D. Powell證實了這種新的算法遠比其他方法快速和可靠,使得非線性優化這門學科在一夜之間突飛猛進。

擬牛頓法的本質思想是改善牛頓法每次需要求解複雜的Hessian矩陣的逆矩陣的缺陷,它使用正定矩陣來近似Hessian矩陣的逆,從而簡化了運算的複雜度。擬牛頓法和最速下降法一樣只要求每一步迭代時知道目標函數的梯度。通過測量梯度的變化,構造一個目標函數的模型使之足以產生超線性收斂性。這類方法大大優於最速下降法,尤其對於困難的問題。

另外,因爲擬牛頓法不需要二階導數的信息,所以有時比牛頓法更爲有效。如今,優化軟件中包含了大量的擬牛頓算法用來解決無約束,約束,和大規模的優化問題。

具體步驟:
擬牛頓法的基本思想如下。首先構造目標函數在當前迭代xk的二次模型:

這裏Bk是一個對稱正定矩陣,於是我們取這個二次模型的最優解作爲搜索方向,並且得到新的迭代點:

其中我們要求步長ak 滿足Wolfe條件。這樣的迭代與牛頓法類似,區別就在於用近似的Hessian矩陣Bk 代替真實的Hessian矩陣。所以擬牛頓法最關鍵的地方就是每一步迭代中矩陣Bk 的更新。現在假設得到一個新的迭代xk+1,並得到一個新的二次模型:

我們儘可能地利用上一步的信息來選取Bk。具體地,我們要求

從而得到

這個公式被稱爲割線方程。常用的擬牛頓法有DFP算法和BFGS算法。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章