萊文貝格-馬夸特方法

萊文貝格-馬夸特方法(Levenberg–Marquardt algorithm)能提供數非線性最小化(局部最小)的數值解。

基本介紹

  • 中文名:萊文貝格-馬夸特方法
  • 外文名:Levenberg–Marquardt algorithm
  • 學科:數學
介紹,問題描述,解法,

介紹

萊文貝格-馬夸特方法(Levenberg–Marquardt algorithm)能提供數非線性最小化(局部最小)的數值解。此算法能藉由執行時修改參數達到結合高斯-牛頓算法以及梯度下降法的優點,並對兩者之不足作改善(比如高斯-牛頓算法之反矩陣不存在或是初始值離局部極小值太遠)。

問題描述

假設 f 是一個從
的非線性映射,也就是說
,那么:
而我們的目的就是希望任意給定一個x以及合理的初始值p0,我們能找到一個
,使得
儘量小(局部極小),其中

解法

像大多數最小化的方法一樣,這是一個疊代的方法。首先根據泰勒展開式我們能把
寫為下面的近似,這有兩個好處:第一是線性、第二是只需要一階微分。
其中J是f的雅可比矩陣。對於每次的疊代我們這么作:假設這次 iteration 的點是
,我們要找到一個
最小。 根據投影公式我們知道當下面式子被滿足的時候能有最小誤差:
我們將這個公式略加修改得到:
就是萊文貝格-馬夸特方法。如此一來
大的時候這種算法會接近最速下降法,小的時候會接近高斯-牛頓方法。為了確保每次
長度的減少,我們這么作:先採用一個小的
,如果
長度變大就增加
這個算法當以下某些條件達到時結束疊代:
(1)如果發現
長度變化小於特定的給定值就結束。
(2)發現
變化小於特定的給定值就結束。
(3)到達了疊代的上限設定就結束。

相關詞條

熱門詞條

聯絡我們