擬牛頓法是一種以牛頓法為基礎設計的,求解非線性方程組連續最優化問題函數的零點極大、極小值算法。當牛頓法中所要求計算的雅可比矩陣Hessian矩陣難以甚至無法計算時,擬牛頓法便可派上用場。

搜索極值

與牛頓法相同, 擬牛頓法是用一個二次函數以近似目標函數. 的二階泰勒展開

其中, 表示梯度, 表示Hessian矩陣的近似. 梯度可進一步近似為下列形式

令上式等於, 計算出Newton步長,

然後構造的近似滿足

上式稱作割線方程組. 但當是定義在多維空間上的函數時, 從該式計算將成為一個不定問題 (未知數個數比方程式個數多). 此時, 構造, 根據Newton步長更新當前解的處理需要回歸到求解割線方程. 幾乎不同的擬牛頓法就有不同的選擇割線方程的方法. 而大多數的方法都假定具有對稱性 (即滿足). 另外, 下表所示的方法可用於求解; 在此, 於某些範數盡量接近. 即對於某些正定矩陣, 以以下方式更新:

近似Hessian矩陣一般以單位矩陣等作為初期值[1]. 最優化問題的解由根據近似所得的計算出的Newton步長更新得出.

以下為該算法的總結:

  • 計算新一個疊代點下的梯度
  • 利用, 直接近似Hessian矩陣逆矩陣. 近似的方法如下表:
More information , ...
Method
DFP法英語DFP updating formula
BFGS法英語BFGS method
Broyden法英語Broyden's method
Broyden族
SR1法英語SR1 formula
Close

與逆矩陣的關聯

是一個二次函數,且Hessian矩陣正定,我們總是希望由擬牛頓法生成的矩陣收斂於Hessian矩陣的逆。這是基於疊代值更新最小 (least-change update) 的擬牛頓法系列的一個實例。[2]

實現

擬牛頓法是現在普遍使用的一種最優化算法, 存在多種程式語言的實現方法。

參見

參考文獻

Wikiwand in your browser!

Seamless Wikipedia browsing. On steroids.

Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.

Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.