本文已参与「新人创作礼」活动,一起开启掘金创作之路。
1. 线性拟合和二次拟合函数
最小二乘法本质上就是求一个事先定义一个函数,然后使用已知的采样点结果拟合函数的参数,使得所有采样点的均方误差最小。
即:
φ(x)=argmin i∑∣φ(xi)−yi∣2
1. 线性拟合
我们假定拟合曲线为:
φ(x)=ax+b
则有拟合误差为:
Q=i∑(axi+b−yi)2
要使得拟合误差Q最小,则我们有Q对于参数a,b的偏导均为0,因此,我们即有:
⎩⎨⎧∂a∂Q∂b∂Q=i∑2xi(axi+b−yi)=0=i∑2(axi+b−yi)=0
可以解得:
⎩⎨⎧ab=n⋅∑ixi2−(∑ixi)2n⋅∑ixiyi−(∑ixi)(∑iyi)=n1i∑yi−n1(i∑xi)⋅a
2. 二次拟合函数
类似的,我们可以得到二次拟合函数的最小二乘法的结果。
定义拟合函数为:
φ(x)=ax2+bx+c
则有拟合误差:
Q=i∑(axi2+bxi+c)2
同样,我们可以解得,在极值条件下,有:
⎩⎨⎧∂a∂Q∂b∂Q∂c∂Q=i∑2xi2(axi2+bxi+c−yi)=0=i∑2xi(axi2+bxi+c−yi)=0=i∑2(axi2+bxi+c−yi)=0
亦即:
⎝⎛∑ixi4∑ixi3∑ixi2∑ixi3∑ixi2∑ixi∑ixi2∑ixin⎠⎞⎝⎛abc⎠⎞=⎝⎛∑ixi2yi∑ixiyi∑iyi⎠⎞
可解得:
⎝⎛abc⎠⎞=⎝⎛∑ixi4∑ixi3∑ixi2∑ixi3∑ixi2∑ixi∑ixi2∑ixin⎠⎞−1⋅⎝⎛∑ixi2yi∑ixiyi∑iyi⎠⎞
类似的也可以推至n阶的情况,这里就不一一展开了。
3. a⋅ebx型函数
形如a⋅ebx的函数直接用最小二乘法倒是没法直接求解,不过可以通过一定的函数变换转换成n阶函数形式,然后我们就可以仿照上述方式进行求解了。
比如这里的a⋅ebx类型的函数,我们做函数变换,令z=ln(y),则有:
z=bx+ln(a)
即可使用最小二乘法进行求解。
类似的,还可以有函数y=ax+b1,我们令z=y1,即可有:
2. 解矛盾方程组
书中这一小节事实上就是给前面最小二乘法的内容提供一些理论上的支持,没有啥更多的内容,因此,我们仅在这里摘录书中的定理如下:
定理3.1
(1) A为m行n列的矩阵,b为列向量,ATAX=ATb称为矛盾方程组AX=b的法方程,法方程恒有解。
(2) X是min∣∣AX−b∣∣22的解,当且仅当X满足ATAX=ATb,即X是法方程的解。