最小二乘法的本质原理
转自:http://blog.sina.com.cn/s/blog_5e6614220101ks63.html
本文主要以最简单的二元线性函数为基础,阐述最小二乘法的原理,事实上,最小二乘法可以更广泛地应用于非线性方程中,但本文以介绍为主,希望能以最简单的形式,使读者能够掌握最小二乘法的意义。
在物理实验数据统计时,我们会记录一些数据,记做数据x和数据y。但是,在记录数据后,我们依然不知道x和y 的具体关系。例如,测算男人手掌面积和身高的关系,我们会得到两组数据,如图,
图1数据点分布
这并不是一条严格意义上的直线,但这些数据对于实验研究员来说,可以作为某种依据,从而判断出两种数据之间的关系。根据两个量的许多组观测数据来确定它们的函数曲线,这就是实验数据处理中的曲线拟合问题。
事实上,我们更关注的是如何才能找到这么一条漂亮的曲线。那么,找到这条曲线的方法称作“最小二乘法”。
曲线拟合中最基本和最常用的是直线拟合。设x和y之间的函数关系由直线方程
y=ax+b给出。
式中有两个待定参数,b代表截距,a代表斜率。下面的问题在于,如何找到“最合适”的a和b使得尽可能多的数据落在或者更加靠近这条拟合出来的直线上。即数据对这条直线的逼近程度最佳。当然,当我们将直线拟合出来之后,就可以反过来进行预测了。所以说最小二乘法是很有用的一种测算方法。
实际上,我们并不关心x和y到底是多少,因为x和y是给定的,当然x和y与其本质的内在关系之间肯定存在误差。我们关心的是方程中的a和b,也就是说,在这个待定的方程中,a和b才是所求的变量,它们可以描述出x和y的关系。 所以我们接下来的任务就是找到一组最好的a和b。
我们对a和b的要求就是,使得所有x和y相对拟合直线的误差总和最小。也就是说,我们要考虑的是,要使这些数据点距离拟合直线的和最小,距离最短,这样就可以使得尽可能多的数据成为有效点。
接下来我们的工作就是,最小化误差了。
最小二成法就此登场。
最小二乘法名字的缘由有两个,一是我们要将误差最小化,二是我们将误差最小化的方法是使误差的平方和最小化。误差最小化的原因前已述及,用误差平方和最小化来约束误差的原因是要规避负数对计算的影响。
接下来我们要做的就是使误差的平方和最小了。
对试验数据,使得最小,根据二元函数取极值,可知,须成立,
则
联立得
接下来求解a和b,就可以了。
问题又来了,以上求极值的方法只能保证所求的点是驻点(临界点),我们知道,多元函数的驻点可以分为三类,即极小点、极大点和鞍点。
图2鞍点
图3极小点
我们至此还不能说明这就是我们要找的最优解,因为驻点有可能是极小点也有可能是鞍点或者是极大点。所以我们接下来要证明所求是满足要求的极小点。
极值点的判定
设函数,假设a不为零,则
这样,我们就把原式改写成了平方和/差的形式了。但我们还不知道到底是平方和还是平方差,这取决于平方项的系数。
下面分三种情况讨论:
若4ac-b^2<0,则二次项系数一正一负,临界点是鞍点。
若4ac-b^2=0,则只有一个平方项,这就意味着函数临界点只受到一个方向的约束,另一个方向发生了退化,不起作用了,如图,
图4 退化后的极值点
若4ac-b^2>0,这时会有两个平方项的系数都是正,此时w必能取到极值。当a>0时取极大值;当a<0时取取极小值。
由于通常情况下,我们求解释不可能有如此规范的方程形式,所以我们要引入二阶导数,再用以上方法判断临界点的类型。
(1) 二元函数的极值一定在临界点和不可导取得。对于不可导点,难以判断是否是极值点;对于驻点可用极值的充分条件判定。
(2)二元函数取得极值的必要条件: 设在点处可微分且在点处有极值,则,,即是驻点。
(3) 二元函数取得极值的充分条件:设在的某个领域内有连续上二阶偏导数,且,令,,,则
当且 A<0时,f为极大值;
当且A>0,f为极小值;
时,是鞍点;
当B2-AC = 0时,函数z = f (x, y)在点可能有极值,也可能没有极值,这里不做讨论了。
最后,我们将原始方法和二阶导方法做一个联系,事实上,二阶导的方法是原始方法的进化版本。
对求导,得
将求二阶导方法中的A、B、C与原始方法中的a、b、c建立联系,得
A=2a
B=b
C=2c
从而得到AC=4ac-b^2,可见两种方法等效。