说说最小二乘

说说最小二乘

最小二乘是用于根据采样结果计算“最佳参数”的常用方法。本文简要描述最小二乘的原理和计算方法。

假设我们有一个系统,我们知道这个系统的响应函数f是某组自变量的线性方程。不失一般性,我们以三个自变量的系统为例,对于自变量x,y,z,系统输出F满足F=f(x,y,z)=ax+by+cz+d,而a,b,c,d的具体数值是未知的。

我们可以通过测量的方法得到一组F, x,y,z的采样值为

(F1, x1,y1,z1)
(F2, x2,y2,z2)
(F3, x3,y3,z3)
........
(FN, xN,yN,zN)

众所周知,测量是有误差的,因此我们不可能根据上述测量值得到准确的a,b,c,d的值。为此,我们希望在下面的“误差”的平方和最小的条件下计算a,b,c,d的值:

误差的平方和

注意到上述方程中,只有a,b,c,d和e是未知的。而且,e是关于a,b,c,d的二次方程。根据微积分的知识我们很容易知道,二次方程一定有唯一最小值(二次系数为正数时),最小值处的点使得下面4个偏微分都为0:

偏微分
这样,对于4个未知数,我们有四个关于a,b,c,d的线性方程。利用普通的线性方程求解算法(如高斯消去法)就可以得到a,b,c,d的值。

有趣的事情是:如果f不是关于未知参数的线性方程怎么办?答案是无法用最小二乘求解。原因是如果不是线性的,则上面的误差的平方和是对未知参数的高次方程,在这种情况下,是没有唯一的最小值解的。由于没有唯一最小值解,方差最小的条件也无法满足,自然无法利用最小二乘进行计算。

但是文章开头对于线性的要求是过于严厉的,原因是实际上我们允许F,是x,y,z的非线性方程。例如,假如我们根据采样结果来计算圆的方程,我们可以得到:

f(x,y)=x^2+y^2+2ax+2by+c=0

注意上面方程对x,y是二次方程而对a,b,c是线性的。当你把采样数据输入以后,x,y的平方项实际上是常数,你还是可以沿用前面完全一样的方法进行计算。有兴趣的用户不妨用笔计算一次。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值