线性拟合之最小二乘方法和最小距离方法

线性拟合即给定一组输入样本,求一个M阶多项式 的参数向量,使得拟合误差最小。这个M阶多项式虽然是关于x的非线性(当时)函数,但是是关于待求参数向量的线性函数,所以叫“线性”拟合。而拟合误差根据具体应用可以选用不同的标准,最常见、也是教科书上提供的一种误差标准叫做最小化方差,由这个标准导出的就是最小二乘法(Lease Square, LS);还有一种误差标准在轨迹点的拟合上用的比较多,应用于直线拟合情况,它的目标是最小化点到直线的距离和,本质上这也是一种最小二乘法。


 

最小化方差

我们将要拟合的多项式简写为,其中向量

因此,可以写出目标函数

这是一个关于的二次函数,通过对其求导数令结果等于0,即可求解。

得到

注意到是个数,它的转置是它本身,因此上式等价于

如果我们定义两个记号,上式可进一步简化,记号定义如下:

则上式可进一步简化为:

最后解得

对于直线拟合即M=1的情形,给出如下结论:

 


 

最小化点到直线的距离和

对于直线拟合问题,上面的最小化方差方法有几个缺点。第一,它假定了y的系数不为0,即直线不能垂直于x轴。第二,经过试验验证,当输入样本近似分布于一条垂直于x轴的直线附近时,拟合结果往往很不稳定。特别的,第三,对于轨迹点拟合问题,最小化方差没有很好的物理解释,而最小化点到直线的距离则可以很好的解释结果,而且也不存在第一点和第二点中的问题。

对于以上第三点的说明,考虑这样一个问题,假设输入样本为一系列的经纬度数据,x表示经度(或维度)值,y表示维度(或经度)值。现在要拟合出一条直线来近似求出轨迹点的前进方向。此时,用最小化点到直线的距离拟合出的结果似乎更能说明问题,而且当轨迹点垂直于x轴时,拟合结果也更稳定。下面具体说明求解过程。

设直线方程为,此时的优化目标为(为了使得目标函数连续可导,转化为最小化距离的平方和):

不失一般性,假设,则上式无约束优化问题变为带等式约束的优化问题:

利用拉格朗日方法求解,拉格朗日函数为:

根据拉格朗日方法,需要先对a、b、c参数求导,令导数等于0:

 由(13)式可得:

,则,其中,带入拉格朗日函数得:

因此,

利用与前面类似的技巧,记

上式可简化为:

推出:

可以看出,是矩阵A的特征向量,而是对应的特征值。我们只需要求出A的特征向量,即得到参数a和b的值,然后带入(14)式即可求得c。

A是2X2的矩阵,我们知道它有两个特征值和两个特征向量,因此此问题有两个解。因为A是实对称矩阵,他的两个特征向量是正交的,这说明有两条互相垂直的直行分别对应原问题的两个局部极值点。其中,较小特征值对应的特征向量即为最优解。

值得注意的是,拉格朗日方法中,要求,因此,在求出矩阵A的特征向量之后,还需要对特征向量归一化。由于我们的目的是求出直线参数a、b和c,其实归不归一化求出来的结果是一样的。

 

posted on 2015-08-08 14:29  balabala已被注册  阅读(4156)  评论(0编辑  收藏  举报

导航