matlab最小二乘法_举例理解最小二乘法

最小二乘法是一种数学优化技术。它通过最小化误差的平方和寻找数据的最佳函数匹配。利用最小二乘法可以简便地求得未知的数据,并使得这些求得的数据与实际数据之间误差的平方和为最小。最小二乘法还可用于曲线拟合。其他一些优化问题也可通过最小化能量或最大化熵用最小二乘法来表达。

最小二乘法,所谓“二乘”就是平方的意思,所以又称最小平方法。

这种是专业定义,不容易使初学者理解,接下来我用一个具体的例子来说明,让我们更加容易理解最小二乘法:

例:小明是跑运输的,跑1公里需要6块,跑2公里需要5块(那段时间刚好油价跌了),跑3公里需要7块,跑4公里需要10块,请问跑5公里需要多少块?

运用初中数学基础,我们会运用线性方程组来做,假设

是公里数,
是运输成本,
为要求的系数,列方程为:

将数据带入,得方程组为:

如果存在这样的

,让所有的数据都能满足的话,那么解答就很简单了,
+5
就是5公里的成本。

但是,这样的

是不存在的,上面的方程组很容易,你可以把前面两个解出来得到一组
,后面两个也解出来同样得到一组
。这两组
是不一样的。

形象地说,就是你找不到一条直线,穿过所有的点,因为他们不在一条直线上。如下图:

46e43c8f3262dada01a3a7426738178c.png

可是现实生活中,我们就希望能找到一条直线,虽然不能满足所有条件,但能近似地表示这个趋势,或者说,能近似地知道5公里的运输成本,这也是有意义的

最小二乘法就是要尽全力让这条直线最接近这些点,就是使这条直线在所有数据点中间穿过,让这些点到这条直线的误差之和越小越好。这里我们用方差来算。也就是说,把每个点到直线的误差平方加起来:

=0 时,是完美的,但是当
无法做到等于0是,
越小越好。

那,如何让

做到最小呢? 我们就要对二次函数求导,当导数为0时,取最小值

解方程得:

所以,直线为

这个就是我们要的直线,虽然不能把那些点穿起来,但是它最能接近这些点。

虽然不是很完美,但是接近实际情况

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值