數值優化(Numerical Optimization)學習系列-最小二乘問題(Least-Squares)

概述

最小二乘問題在實際應用中非常廣泛,也是無約束最優化問題的重要應用之一,但是對於該問題還有一些特殊的求解思路,供參考。該小結主要介紹:

  1. 問題定義
  2. 線性最小二乘問題以及求解
  3. 非線性最小二乘問題以及求解
    總結

最小二乘問題

描述

最小二乘問題泛指具有如下形式的問題

minf(x)=12j=1...mr2j(x)

其中m一般指實例的個數,r_j指殘差,即目標值和預估值的差,根據模型的不同有線性模型和非線性模型,分別線性最小二乘和非線性最小二乘。

向量表示

r(x)=(r1(x),r2(x)...rm(x))T ,則目標函數表示爲f(x)=12||r(x)||2
J(x)表示Jacobian矩陣,即r(x)對每一個參數的導數矩陣,即J(x)=rjxij=1..m,i=1..n
則原始問題的一階梯度和Hessian句分別爲

f(x)=j=1...mrj(x)rj(x)=J(x)Tr(x)
2f(x)=j=1...mrj(x)rj(x)T+j=1...mrj(x)2rj(x)=J(x)TJ(x)+j=1...mrj(x)2rj(x)

如果能夠得到梯度和Hessian矩陣,則可以使用基於梯度的相關算法進行優化。該問題有一點好處是,如果知道了一階梯度則可以近似得到Hessian矩陣,即忽略Hessian矩陣的第二項,因爲對於某些問題二階導數比較小

概率解釋

對於某個實際問題,數據可能存在一定誤差,需要尋找一條最優的曲線去擬合給定數據。即
這裏寫圖片描述
則觀察值yj=f(xj)+ϵj ,如果假設誤差分佈爲正態分佈N(0,σ2 )。
從概率論進行分析,需要使得模型最大程度擬合數據,釋然值最大。
maxN(f(xj)yj,σ2) ,一般會轉換爲log釋然。推導可發現最大釋然等價於最小二乘法。

因此最小二乘問題就是誤差滿足正態分佈的數據擬合問題。

線性最小二乘問題

採用線性模型去擬合數據,即y(x)=Jx,則目標函數爲f(x)=12||Jxy||2 ,同時

f(x)=JT(Jxy),2f(x)=JTJ

根據最優化定理,該問題的最優解滿足如下條件:f(x)=0 ,即JTJx=JTy
求解該方程,有如下方法
1. Cholesky 分解:當m>>n時,並且J比較稀疏時比較實用,但是其精度和條件數的平方相關
2. QR分解:精度和條件數相關
3. SVD分解:相對比較魯棒,同時也可以添加正則項避免J是個病態矩陣。
4. 數值迭代算法:對於大規模數據比較實用。

非線性最小二乘問題

採用非線性模型擬合數據,模型本身可能梯度或者Hessian矩陣不容易得到。

高斯牛頓方法(Gauss-Newton方法)

根據標準牛頓方程,2f(xk)p=f(xk) 可以得到該問題的需要滿足的條件,即

JTJPGN=JTrk
此時Hessian矩陣用第一項代替,即2(fx)JTJ
得到搜索方向後,可以使用線搜索的方法得到步長,重複進行可以得到最優解。
  1. 很多情況下,非線性問題的Hessian矩陣,可以由第一項主導,即(J^TJ)
  2. 當J滿秩並且f(x)pGN 必定是一個下降方向。因爲(pGN)Tf(xk)=(pGN)TJTrk=(pGN)TJTJ(pGN)=0
  3. 對比該牛頓方程和線性最小二乘問題,會發現有類似的結構,即該搜索方向是min12||Jp+rk||2 的最優解,可以應用線性相關算法進行求解。即在某次迭代過程中,殘差由線性模型近似。r(xk+p)rk+Jkp
  4. 根據之前的理論可以知道該算法能夠保證收斂,同時收斂速度爲二次收斂。

Levenberg-Marquardt 方法

類似於高斯牛頓方法,Hessian矩陣通過J^TJ近似,但是將線搜索替換爲信賴域方法。
該問題子問題爲 min12||Jp+rk||2||p||Δk

和高斯牛頓方法有同樣的問題是,可能會有局部最優解

大規模最小二乘問題

以上算法當問題規模比較大時,收斂速度回接近線性,不如採用牛頓或者擬牛頓方法效率高(超線性)。
如果問題規模不好確定時,可以採用混合方法進行求解。

  1. 混合思路一:根據搜索方向帶來的函數值的減小量決定採用哪種算法。
  2. 混合思路二:將問題建模爲Bk=JTJ+Sk ,其中S_k爲Hessian矩陣的第二項。

正交距離迴歸

該類算法解決的是,以上問題僅僅考慮了縱座標軸上誤差,沒有考慮橫向座標也可能有誤差,如果將其也考慮進來,進行建模,可以得到。
yj=ϕ(x;tj+δj)+ϵj ,其中δj 表示橫向誤差。
同時定義最優化問題

min12j=1...m(w2jϵ2j+d2jδ2j)
其中權重w和d可以根據模型人工確定或者其他方法得到。
上述最短距離可以看做點(tj,yj)ϕ(x;t) ,即正交距離,圖示如下
這裏寫圖片描述

可以將該問題轉換爲無約束最小二乘問題,思路爲
minF(x,δ)=12j=1...m[w2j(yjϕ(x;tj+δj))2]+d2jδ2j)=12j=1...2mr2j(x,δ)
其中

rj(x,δ)={wj(yjϕ(x;tj+δj)),djmδjm,j=1,2...mj=m+1,...,2m

問題變爲具有m+n個未知變量的最小二乘問題,可以通過相關算法進行求解。同時該問題的雅克比矩陣是一個非常稀疏的矩陣,可以利用稀疏性進行算法優化。

總結

通過該小結的學習,可以瞭解到
1. 最小二乘問題的一般形式以及概率解釋
2. 線性和非線性最小二乘法求解算法
3. 大規模最小二乘問題如何求解

發佈了59 篇原創文章 · 獲贊 123 · 訪問量 26萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章