线性拟合即给定一组输入样本,求一个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,其实归不归一化求出来的结果是一样的。