最小二乘问题总结
最小二乘問(wèn)題總結(jié)
- 1.題外話
- 2.最小二乘基礎(chǔ)概念
- 3.線性最小二乘問(wèn)題的求解方法
- 4.非線性最小二乘問(wèn)題的求解方法
- 4.1 最快下降法
- 4.2 高斯牛頓法
- 4.3 LM阻尼最小二乘法
- 4.4 Dog-Leg最小二乘法
1.題外話
最近在學(xué)習(xí)深藍(lán)學(xué)院的VIO課程,最小二乘問(wèn)題的求解作為基礎(chǔ)知識(shí),在VIO的優(yōu)化過(guò)程中非常重要。因此在這里對(duì)課程內(nèi)容和查閱的資料做個(gè)總結(jié),以便能夠加深對(duì)最小二乘問(wèn)題的理解。
2.最小二乘基礎(chǔ)概念
最小二乘問(wèn)題泛指具有如下形式的問(wèn)題。
minf(x)=12∑i=1mri2(x)(1)minf(x) =\frac{1}{2}\displaystyle\sum_{i=1}^{m}r_{i}^2(x) \tag{1}minf(x)=21?i=1∑m?ri2?(x)(1)
其中m一般指實(shí)例的個(gè)數(shù),ri(x)r_{i}(x)ri?(x)指殘差,即預(yù)測(cè)值與觀測(cè)值的差,f(x)f(x)f(x)稱為損失函數(shù)(或代價(jià)函數(shù),cost function),根據(jù)模型的不同有線性模型和非線性模型,分為線性最小二乘和非線性最小二乘。
最小二乘問(wèn)題的主要思想就是求解未知參數(shù) ,使得預(yù)測(cè)值與觀測(cè)值之差(即誤差,或者說(shuō)殘差)的平方和達(dá)到最小。
最小二乘問(wèn)題也可以寫(xiě)成如下的向量形式。
令 r(x)=(r1(x),r2(x),r3(x)...rm(x))Tr(x) = (r_1(x),r_{2}(x),r_{3}(x)...r_{m}(x))^Tr(x)=(r1?(x),r2?(x),r3?(x)...rm?(x))T,則(1)式可表達(dá)為
f(x)=12∣∣r(x)∣∣2(2)f(x) = \frac{1}{2}||r(x)||^2\tag{2}f(x)=21?∣∣r(x)∣∣2(2)
3.線性最小二乘問(wèn)題的求解方法
線性最小二乘求解較為方便。我們假設(shè)模型為
y=θ1x1+θ2x2+θ3x3+...+θnxn(3)y= \theta_{1} x_{1}+\theta_{2} x_{2}+\theta_{3} x_{3}+...+\theta_{n} x_{n}\tag{3}y=θ1?x1?+θ2?x2?+θ3?x3?+...+θn?xn?(3)
即
y=θT?x(4)y =\theta^T *\boldsymbol x\tag{4}y=θT?x(4)
其中θ=(θ1,θ2,θ3,...,θn)T\theta = (\theta_{1}, \theta_{2}, \theta_{3}, ... ,\theta_{n})^Tθ=(θ1?,θ2?,θ3?,...,θn?)T , x=(x1,x2,x3,...,xn)T\boldsymbol x= (x_{1},x_{2}, x_{3}, ... ,x_{n})^Tx=(x1?,x2?,x3?,...,xn?)T。
假設(shè)有mmm組樣本,則預(yù)測(cè)值為 yiy_{i}yi?,測(cè)量值為 y^i=bi\hat y_{i}=b_{i}y^?i?=bi?,i∈(1...m)i\in(1...m)i∈(1...m)。則殘差函數(shù)可以表示為
ri(θ)=yi?y^i=θT?xi?bi=[x11x12...x1nx21x22...x2n?xm1xm2...xmn][θ1θ2?θn]?[b1b2?bn]=Xθ?b(5)r_{i}(\theta) =y_{i}-\hat y_{i} = \theta^T *\boldsymbol x_{i}-b_{i}=\left[ \begin{matrix} x_{11} & x_{12} &... & x_{1n}\\ x_{21} & x_{22} &... & x_{2n} \\ & \vdots \\ x_{m1} & x_{m2} &... & x_{mn} \end{matrix}\right] \left[ \begin{matrix} \theta_{1} \\ \theta_{2}\\ \vdots \\ \theta_{n} \end{matrix}\right]-\left[ \begin{matrix} b_{1} \\ b_{2}\\ \vdots \\ b_{n} \end{matrix}\right]=X\theta-b\tag{5}ri?(θ)=yi??y^?i?=θT?xi??bi?=??????x11?x21?xm1??x12?x22??xm2??.........?x1n?x2n?xmn??????????????θ1?θ2??θn???????????????b1?b2??bn????????=Xθ?b(5)
將其寫(xiě)成最小二乘的形式即為
f(θ)=12∣∣Xθ?b∣∣2(6)f(\theta) = \frac{1}{2}||X\theta-b||^2 \tag{6}f(θ)=21?∣∣Xθ?b∣∣2(6)
線性最小二乘問(wèn)題如何求解呢?
我們可以進(jìn)行如下處理:
f(θ)=12∣∣Xθ?b∣∣2=12(θTXTXθ?bTXθ?θTXTb+bTb)(7)f(\theta) = \frac{1}{2}||X\theta-b||^2 = \frac{1}{2}(\theta^TX^TX\theta-b^TX\theta-\theta^TX^Tb+b^Tb)\tag{7}f(θ)=21?∣∣Xθ?b∣∣2=21?(θTXTXθ?bTXθ?θTXTb+bTb)(7)
上式對(duì)θ\thetaθ求導(dǎo),并令導(dǎo)數(shù)等于零可得
?f(θ)?θ=XTXθ?XTb=0(8)\frac{\partial f(\theta) }{\partial \theta}=X^TX\theta-X^Tb = 0\tag{8}?θ?f(θ)?=XTXθ?XTb=0(8)
即
θ=(XTX)?1XTb(9)\theta = (X^TX)^{-1}X^Tb\tag{9}θ=(XTX)?1XTb(9)
式(9)即為線性最小二乘問(wèn)題的解的矩陣形式。
4.非線性最小二乘問(wèn)題的求解方法
非線性最小二乘問(wèn)題則不然,它要復(fù)雜得多,沒(méi)有辦法變換為矩陣方程形式,以至于它必須將問(wèn)題化簡(jiǎn)為每一步均為可以直接求解的子問(wèn)題,整個(gè)求解過(guò)程是迭代的。
求解非線性最小二乘問(wèn)題的方法有很多種。為了介紹方便,我們重新表述一下最小二乘問(wèn)題的形式。我們將最小二乘問(wèn)題表述為:
F(x)=12∑i=1mfi2(x)=12∣∣f(x)∣∣2=12f(x)Tf(x)(10)F(x) =\frac{1}{2}\displaystyle\sum_{i=1}^{m}f_{i}^2(x) =\frac{1}{2}||f(x)||^2=\frac{1}{2}f(x)^Tf(x) \tag{10} F(x)=21?i=1∑m?fi2?(x)=21?∣∣f(x)∣∣2=21?f(x)Tf(x)(10)
4.1 最快下降法
4.2 高斯牛頓法
4.3 LM阻尼最小二乘法
4.4 Dog-Leg最小二乘法
https://blog.csdn.net/fangqingan_java/article/details/48951191
https://blog.csdn.net/qq_40913605/article/details/86675157
https://zhuanlan.zhihu.com/p/38128785
https://blog.csdn.net/jinshengtao/article/details/89066810
https://blog.csdn.net/stihy/article/details/52737723?hmsr=toutiao.io&utm_medium=toutiao.io&utm_source=toutiao.io
https://blog.csdn.net/baoxiao7872/article/details/79914083
總結(jié)
- 上一篇: 汽车的电瓶多少钱啊?
- 下一篇: 舒尔补在SLAM中的应用