3.1 长度
首先,以一个简单的线性回归问题(一条直线拟合数据的问题),来直观的体会“长度”。
a)对数据(z,d)的最小二乘直线拟合;b)ei=diobs−dipre
那么,最佳的拟合直线所具有模型参数(截距和斜率)将使总误差E最小,即
E=i=1∑nei2=eTe=min
式中,总误差E恰恰使向量e的欧几里得长度。
从长度方法的观点来看,最小二乘法是通过寻找预测误差的最小长度所对应的模型参数(截距和斜率)来估计反问题的解。通常来讲在,求解反问题的过程中使用长度方法是最简单的方法,也符合人的直观感受。
3.2 范数==》长度的推广
所谓范数是指对某些长度或大小的度量,其公式如下:
∥e∥p=(i=1∑nep)p1
以下三种范数最为常用:
L1 norm: ∥e∥1=[∑i∣ei∣1]
L2 norm: ∥e∥2=[∑i∣ei∣2]1/2
L∞ norm: ∥e∥∞=maxi∣ei∣
幂次越高的范数给e中最大元素更大的权重,L∞表明仅对e的最大元素施加权重

从上图上看,∣e∣的显著性最明显,而∣e10∣最差
那么,最小二乘法究竟该选择哪种长度(即采取哪种范数),这个问题的答案涉及对远离平均趋势的离群数据进行加权的方式,如下图所示:

图中,L1范数给离群点的权重最小。
3.3 线性反问题的最小二乘解
最小二乘能够以一种非常直接的方式推广到一般线性反问题。
E=eTe=(d−Gm)T(d−Gm)=i=1∑N[di−j=1∑MGijmj][di−k=1∑MGikmk]
为避免混乱,对上式进行重新整理:
E=j=1∑Mk=1∑Mmjmki=1∑NGijGik−2j=1∑Mmji=1∑NGijdi+i=1∑Ndidi
令∂mp∂E=0
第一项为:
∂mq∂[j=1∑Mk=1∑Mmjmki=1∑NGijGik]=j=1∑Mk=1∑M[δjqmk+mjδkq]i=1∑NGijGik=2k=1∑Mmki=1∑NGiqGik
注意:模型参数是相互独立的变量,∂mi/∂mj形式的导数只有在i=j时候等于1,而i=j是为0,因此∂mi/∂mj克罗内克函数(Kronecker delta)δij,包含它的公式可以明显的简化
第二项为:
−2∂mq∂[j=1∑Mmji=1∑NGijdi]=−2j=1∑Mδjqi=1∑NGijdi=−2i=1∑NGiqdi
第三项为:
∂mq∂[i=1∑Ndidi]=0
结合三项,可得:
∂mq∂E=0=2k=1∑Mmki=1∑NGiqGik−2i=1∑NGiqdi
重新写成矩阵形式:
GTGm−GTd=0
假设[GTG]−1存在(有不存在的时候),那么有如下解:
mest=[GTG]−1GTd
对于维度较大的情况,GTG的计算成本可能很高,而且GTG极少像G那样稀疏。在这种情况下,优先考虑迭代的矩阵求解方案,如双共轭梯度算法(biconjugate gradient method)
3.4 一些最小二乘法的例子
1) 直线拟合问题:
模型是 di=m1+m2zi,方程Gm=d形式如下:
⎣⎢⎢⎢⎡11⋮1z1z2⋮zN⎦⎥⎥⎥⎤[m1m2]=⎣⎢⎢⎢⎡d1d2⋮dN⎦⎥⎥⎥⎤
==》
GTG=[1z11z2⋯⋯1zN]⎣⎢⎢⎢⎡11⋮1z1z2⋮zN⎦⎥⎥⎥⎤=[N∑i=1Nzi∑i=1Nzi∑i=1Nzi2]
GTd=[1z11z2⋯⋯1zN]⎣⎢⎢⎢⎡d1d2⋮dN⎦⎥⎥⎥⎤=[∑i=1Ndi∑i=1Ndizi]
GTd=[1z11z2⋯⋯1zN]⎣⎢⎢⎢⎡d1d2⋮dN⎦⎥⎥⎥⎤=[∑i=1Ndi∑i=1Ndizi]
mest=[GTG]−1GTd=[N∑i=1Nzi∑i=1Nzi∑i=1Nzi2]−1[∑i=1Ndi∑i=1Ndizi]
2 抛物线拟合
模型是di=m1+m2zi+m3zi2,方程Gm=d形式如下:
⎣⎢⎢⎢⎡11⋮1z1z2⋮zNz12z22⋮zN2⎦⎥⎥⎥⎤⎣⎡m1m2m3⎦⎤=⎣⎢⎢⎢⎡d1d2⋮dN⎦⎥⎥⎥⎤
==》
GTG=⎣⎡1z1z121z2zN2⋯⋯⋯1zNzN2⎦⎤⎣⎢⎢⎢⎡11⋮1z1z2⋮zNz12z22⋮zN2⎦⎥⎥⎥⎤
GTd=⎣⎡1z1z121z2zN2⋯⋯⋯1zNzN2⎦⎤⎣⎢⎢⎢⎡d1d2⋮dN⎦⎥⎥⎥⎤=⎣⎢⎡∑i=1Ndi∑i=1Nzidi∑i=1Nzi2di⎦⎥⎤
mest=[GTG]−1GTd=⎣⎢⎡N∑i=1Nzi∑i=1Nzi2∑i=1Nzi∑i=1Nzi2∑i=1Nzi3∑i=1Nzi2∑i=1Nzi3∑i=1Nzi4⎦⎥⎤−1⎣⎢⎡∑i=1Ndi∑i=1Nzidi∑i=1Nzi2di⎦⎥⎤

上图为开普勒第三定律的验证,它阐述了行星轨道半径的立方正比于轨道周期的平方。a)对于太阳系,数据(红圈)用二次方公式di=m1+m2zi+m3zi2实现了最小二乘拟合,其中di为半径的立方,zi为周期。b)拟合误差,将数据和误差独立显示的目的是将误差以恰当的尺度画出。数据源于维基百科(Wikipedia)。
3、平面拟合
模型:di=m1+m2xi+m3yi,方程Gm=d形式如下:
⎣⎢⎢⎢⎡11⋮1x1x2⋮xNy1y2⋮yN⎦⎥⎥⎥⎤⎣⎡m1m2m3⎦⎤=⎣⎢⎢⎢⎡d1d2⋮dN⎦⎥⎥⎥⎤
==》
GTG=⎣⎡1x1y11x2y2⋯⋯⋯1xNyN⎦⎤⎣⎢⎢⎢⎡11⋮1x1x2⋮xNy1y2⋮yN⎦⎥⎥⎥⎤
=⎣⎢⎡N∑i=1Nxi∑i=1Nyi∑i=1Nxi∑i=1Nxi2∑i=1Nxiyi∑i=1Nyi∑i=1Nxiyi∑i=1Nyi2⎦⎥⎤
GTd=⎣⎡1x1y11x2y2⋯⋯⋯1xNyN⎦⎤⎣⎢⎢⎢⎡d1d2⋮dN⎦⎥⎥⎥⎤=⎣⎢⎡∑i=1Ndi∑i=1Nxidi∑i=1Nyidi⎦⎥⎤
mest=[GTG]−1GTd=⎣⎢⎡N∑i=1Nxi∑i=1Nyi∑i=1Nxi∑i=1Nxi2∑i=1Nxiyi∑i=1Nyi∑i=1Nxiyi∑i=1Nxiyi2⎦⎥⎤−1⎣⎢⎡∑i=1Ndi∑i=1Nxidi∑i=1Nyidi⎦⎥⎤

上图是使用平面拟合来检测地质断层上发生地震的例子,(圆圈)西北太平洋千岛群岛俯冲带发生的地震。x坐标轴指向北,y坐标轴指向东。地震散布在一个由最小二乘确定的倾斜平面附近。数据来自美国地质调查局(United States Geological Survey, USGS)。