从简单的二维线性拟合入手。本文只解决一个问题:在二维平面中找到一条最合适的线,来拟合所有给出的点。因为这个问题的复杂程度还不是很大,所以能够通过数学的方法直接求出解析解的,本文主要介绍最小二乘算法。
最小二乘法介绍
最小二乘法是最常用的线性回归解法,它通过最小化误差的平方和来寻找数据的最佳函数匹配 。最小二乘法的目的是找到因变量 y y y 与自变量 x x x之间的函数关系 y = f ( x ) y=f(x) y=f(x)。对于本文讨论的为题,可以将点的横坐标看做自变量,将纵坐标看做因变量。然后使用一般最小二乘法找到自变量和因变量之间的函数关系,由这个函数关系可以确定一条直线,这就是拟合出来的直线。最小二乘法的目标是使误差的平方和最小。
简单说一下最小二乘法的历史。1801年,意大利天文学家朱赛普·皮亚齐发现了第一颗小行星谷神星。经过40天的跟踪观测后,由于谷神星运行至太阳背后,使得皮亚齐失去了谷神星的位置。随后全世界的科学家利用皮亚齐的观测数据开始寻找谷神星,但是根据大多数人计算的结果来寻找谷神星都没有结果。时年24岁的高斯也计算了谷神星的轨道。奥地利天文学家海因里希·奥伯斯根据高斯计算出来的轨道重新发现了谷神星 。
所以最小二乘法的发明是为了预测行星的轨道数据,这也是最小二乘的一个典型的应用。
目标函数
假设给出的若干点的坐标为: ( x 1 , y 1 ) , ( x 2 , y 2 ) ⋯ ( x n , y n ) (x_1,y_1),(x_2,y_2) \cdots (x_n,y_n) (x1,y1),(x2,y2)⋯(xn,yn)。定义纵坐标 y y y的误差 ϵ i \epsilon_i ϵi为真值与观测值之差,定义 y y y的残差 ϵ ^ i \hat{\epsilon}_i ϵ^i为估计值与观测值的差,公式如下:
ϵ i = y i − y i ⋆ \epsilon_i=y_i-y_i^{\star} ϵi=yi−yi⋆
ϵ ^ i = y i − y ^ i \hat{\epsilon}_i=y_i-\hat{y}_i ϵ^i=yi−y^i
一般最小二乘法的目的是使拟合误差(残差和)最小,也就是 min ∑