图形学算法-最小二乘的原理及运用

一、课前回顾

初中时期:求解抛物线方程,求最大值、最小值时,解法:在x=b/2a处获得极值点

高中时期解法:对函数进行求导,让导数为0,函数在导数为0处取得极值点

求解得x=b/2a,得到与初中时一样的结果!

二、最小二乘原理

啥意思?
相信很多新手同学在刚开始接触最小二乘的时候,和我一样一脸懵逼,似懂非懂。
翻译一下:某童鞋测量一组数据,你觉得这组数据和某个函数比较接近,如一次函数,二次函数,高阶函数等,就假设这样一个函数f(x)就是这组数据的解析方程,然后你需要求解出来你假设的函数的系数,如下图所示。手法就通过上述的方式构造一个能量最小方程,也就是最小二乘解法。

三、具体运用

以下用一个抛物线拟合的方式,讲解一下具体的运用,重现解决问题的思路
如下图所示,假设蓝色点集合为测量的数据,想用一个函数解析这组数据

经过分析,数据分布比较接近一条抛物线,所以我的目标函数为:

现在问题在于:已知n组观测数据,求解系数a,b,c
损失函数为

loss 有正有负,怎么表示最小,则需要使用平方法,最终能量方程为

分别对a,b,c进行求导,并令其和为0:

写成矩阵的方式:

求解得到a,b,c即为函数的解

四、代码实现

代码如下:
1、先制造函数的带噪声数据集合data,此时用X和Y保存

2、矩阵构造及元素填充

3、运行结果:

五、总结

可以看出,最小二乘拟合得到的系数与制造噪声前的系数基本上接近,由于噪声的存在,会有点偏差,毕竟是逼近。这就是最小二乘的具体应用。像这样的数学问题,还可以用牛顿迭代法求解,具体的求解过程,可以参考另一篇文章!

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值