莱文伯格-马夸特方法

莱文伯格-马夸特方法（）能提供數非線性最小化（局部最小）的數值解。此演算法能藉由執行時修改參數達到結合高斯-牛顿算法以及梯度下降法的優點，並對兩者之不足作改善（比如高斯-牛顿算法之反矩陣不存在或是初始值離局部極小值太遠）。

問題描述
假設  是一個從  的非线性映射，也就是說  且 , 那麼:

而我們的目的就是希望任意給定一個  以及合理的初始值 ，我們能找到一個 ，使得  盡量小（局部極小），其中 。

解法
像大多數最小化的方法一樣，這是一個迭代的方法。首先根據泰勒展开式我們能把  寫為下面的近似，這有兩個好處：第一是線性、第二是只需要一階微分。

其中是的雅可比矩阵。對於每次的迭代我們這麼作：假設這次 iteration 的點是 ，我們要找到一個  讓  最小。
根據投影公式我們知道當下面式子被滿足的時候能有最小誤差：

我們將這個公式略加修改得到：

就是莱文伯格-马夸特方法。如此一來  大的時候這種算法會接近最速下降法，小的時候會接近高斯-牛顿方法。為了確保每次  長度的減少，我們這麼作：先採用一個小的 ，如果  長度變大就增加 。

這個演算法當以下某些條件達到時結束迭代：
如果發現  長度變化小於特定的給定值就結束。
發現  變化小於特定的給定值就結束。
到達了迭代的上限設定就結束。

參考資料

統計演算法
數學最佳化
數值分析