从简单的二维线性拟合入手。本文只解决一个问题:在二维平面中找到一条最合适的线,来拟合所有给出的点。因为这个问题的复杂程度还不是很大,所以能够通过数学的方法直接求出解析解的,本文主要介绍最小二乘算法。
最小二乘法介绍
最小二乘法是最常用的线性回归解法,它通过最小化误差的平方和来寻找数据的最佳函数匹配 。最小二乘法的目的是找到因变量
简单说一下最小二乘法的历史。1801年,意大利天文学家朱赛普·皮亚齐发现了第一颗小行星谷神星。经过40天的跟踪观测后,由于谷神星运行至太阳背后,使得皮亚齐失去了谷神星的位置。随后全世界的科学家利用皮亚齐的观测数据开始寻找谷神星,但是根据大多数人计算的结果来寻找谷神星都没有结果。时年24岁的高斯也计算了谷神星的轨道。奥地利天文学家海因里希·奥伯斯根据高斯计算出来的轨道重新发现了谷神星 。
所以最小二乘法的发明是为了预测行星的轨道数据,这也是最小二乘的一个典型的应用。
目标函数
假设给出的若干点的坐标为:
一般最小二乘法的目的是使拟合误差(残差和)最小,也就是
其中
所以最小二乘法就是找到一组直线的参数,使得目标函数最小。
求解推导
直线方程使用斜截式直线方程:
其中,
目标函数对
解得:
即:
几何意义
从目标函数上看,一般最小二乘法的直观上的理解是:在二维平面上找到一条直线,使得每个点到直线的竖直距离之和最小。也就是说,一般最小二乘优化的是竖直距离,即纵坐标
上图中红色线段即为每个点的竖直误差,一般最小二乘法就是找到这样一条直线,使得红色线段的和最小。
缺点
对异常值很敏感
一般最小二乘法对异常值很敏感,只要一个奇怪的异常值就可能会改变最后的结果。
从其代数解法的最后结果来看,一般最小二乘法仅使用了点的均值信息和方差信息,所以仅对存在普通噪声的情况下适用,当存在异常值时,一般最小二乘法就无能为力了,此时需要其他的方法来解决。
没有考虑自变量的误差
一般最小二乘法仅考虑了因变量
对于本文所讨论的问题:用一条直线拟合平面上的若干点。题目并没有提到这些点的来源,当这些点的横坐标的测量比较精确时,可以使用考虑使用一般最小二乘法。但是当这些点的横纵坐标都存在误差,而且都不能忽略时,一般最小二乘法就不太适用了,这时就必须考虑其他的方法了。
存在不可求解的情况
当要拟合的直线是垂直或接近垂直于
从可解性的角度考虑,当直线垂直于
所以当拟合的直线垂直或者接近垂直于