目录
一、最小二乘法原理
想象一下,你在散点图上画了一些数据点,想找一条直线(或曲线)来大致描述这些点的趋势。最小二乘法的目标就是找到这样一条线,使得所有数据点到这条线的“误差平方和”最小。
为什么是“平方和”呢?
-
避免正负抵消:数据点可能分布在线的上下方,距离有正有负。如果直接相加,正负可能会抵消,无法真实反映总的误差。
-
放大误差:平方操作会使较大的误差变得更大。这使得最小二乘法会极力避免出现非常大的误差,从而找到一条“整体上最接近”所有点的线,对异常值比较敏感。
-
数学上好处理:平方函数是可微的,这使得我们可以用求导来找到最小值点。
本文以最小二乘法拟合三次多项式曲线为例来进行数学推导和验证。情景如下:
假设在二维坐标系中有十个坐标点,我们需要找到一条三次多项式曲线:
,满足所有点与该曲线的误差平方和
最小,应该怎么实现呢?
二、举例说明
给定十个二维坐标点 ,其中
,需要拟合曲线:
最小二乘法的目标是找到参数 ,使得误差平方和
最小:
可以看出是一个关于参数
的二次函数,且二次项系数为正(平方项总是非负),因此
是一个凸函数(convex function)。凸函数的一个重要性质是:任何驻点都是全局最小值点。也就是说,如果偏导数为零,那么该点一定使
达到最小。因此,通过设置偏导数为零,我们可以找到全局最小值。
为了找到驻点,我们对 分别关于
求偏导数,并令其为零:
关于求偏导可得:
关于求偏导可得:
关于求偏导可得:
关于求偏导可得:
综上可得线性方程组如下:
那么问题就变成了求该线性方程组的解。
756

被折叠的 条评论
为什么被折叠?



