最優化演算法 非線性最小二乘優化

2021-10-19 09:13:03 字數 1251 閱讀 9596

非線性最小二乘優化也叫無約束極小平方和函式問題,形式如下

如果f (x

)f(x)

f(x)

為x

xx的線性函式,此時問題變為線性最小二乘問題,對此有專門的函式進行求解。

它源於無約束優化的牛頓演算法,因為非線性最小二乘優化問題中的目標函式形式比較簡單,可以得到其雅克比矩陣的具體形式,將其代入牛頓法的迭代公式中,就可以得到g–n法。根據目標函式表示式,有

令根據無約束優化的牛頓演算法,代入目標函式的梯度,則有

由於r (x

k)r(x^k)

r(xk

)計算量比較大,忽略可得g–n法

它是乙個區域性收斂演算法,對初始點的依賴性很大,只有當初始點接近極小點時才有可能收斂。

為了克服g–n法的缺點,有兩種修正方案。

1.在已經得到了乙個近似極小點x

kx^k

xk後,計算

其中α

k\alpha^k

αk大小用一維無約束優化方法求解min

s(xk

)mins(x^k)

mins(x

k)確定,由於每一步都需要進行一維搜尋,計算量很大。

2.選取很小的正數δ

k\delta_k

δk​,使得s(x

k+δkvk)

xk)s(x^k+\delta_kv^k)s(

xk+δ

k​vk)xk

),此種方案計算量比較小,可以用比較簡單的方法來確定δ

k\delta^k

δk的取值。

當矩陣(jk

)tjk

(j_k)^tj_k

(jk​)t

jk​為病態矩陣時,用g–n演算法可能得不到正確的解,甚至當(jk

)tjk

(j_k)^tj_k

(jk​)t

jk​不可逆時,g–n法就無法計算下去。l–m演算法採用係數矩陣阻尼的方法改造矩陣(jk

)tjk

(j_k)^tj_k

(jk​)t

jk​的性態,使演算法能夠進行下去。l–m演算法中有兩個主要的步驟,一是解方程

求出自變數的增量,另乙個是阻尼係數μ

\muμ的調整演算法。

非線性最小二乘

非線性最小二乘問題是求解目標引數 的最優值的方法 1.要有待優化的引數x 2.要知道引數與估計值的函式關係 f x 3.要有觀測資料z 4.待優化引數的初值x0 5.待優化引數的範圍 可選 非線性最小二乘問題,可以轉化為非線性優化問題 解非線性最小二乘需要非線性優化演算法 非線性優化演算法最通用的方...

手寫非線性最小二乘

方法1 梯度下降法 include include include include include include include class descent method descent method descent method double a,double b,double c a a b ...

非線性最優化演算法總結

參考 疑問 1 lm演算法與slam第6講中定義不太一樣,信賴區域的確定中 的定義方法 帖子中用二階近似定義 而slam第六講中用一階近似來表達,兩者思想較為一致,判斷應是一階還是二階佔主導地位。不太明白的是,為何當一階佔主導地位是,採用更小的迭代步長,二階佔主導地位時,採用更大的迭代步長。且sla...