Python日记(9)——曲线拟合

Python日记(9)——曲线拟合
每天做一个Python小练习,顺便记录一些小技巧。

曲线拟合

应用方法:
最小二乘法
原理:
函数解析式未知,通过实验观测得到的一组数据,即在某个区间[a,b]上给出
一系列点的函数值yi = f(xi)。节点上的函数值是由实验或观测得到的数据,不可避免地带有测量误差,如果要求所得的近似函数曲线精确无误地通过所有的点(xi,yi)就会使曲线保留着一切测试误差。当个别数据的误差较大时,插值效果显然是不理想的。由实验或观测提供的数据个数往往很多,如果用插值法,势必得到次数较高的插值多项式,这样是不可行的。求一条曲线,使数据点均在离此曲线的上方或下方不远处,所求的曲线称为拟合曲线,它既能反映数据的总体分布,又不至于出现局部较大的波动,更能反映被逼近函数的特性,使求得的逼近函数与已知函数从总体上来说其偏差按某种方法度量达到最小。与函数插值问题不同,曲线拟合不要求曲线通过所有己知点,而是要求得到的近似函数能反映数据的基本关系。在某种意义上,曲线拟合更有实用价值。
对于线性拟合,就是要找到一条直线,y=a+bx,使得残差Q最小,残差Q的定义为
在这里插入图片描述
经过推导可知
在这里插入图片描述
x和y两个变量之间的相关性,可用相关函数表示
在这里插入图片描述
其中R方称为判定系数,表示y的离散性中回归的成分的大小,越接近1说明回归的贡献越大,线性相关性的程度越高。

实现过程:
1.定义模型:
线性回归的目标就是找到一组a和b是的ε(误差)最小。
y = ax + b + ε
y_hat = ax + b
ε (误差)= y - y_hat(误差)
2.方差——损失函数
损失函数用的是:0.5倍的方差
在这里插入图片描述
3.优化方法
a和b是一维变量,判断方向找到损失函数的最小值
所以就对Q(a, b)求对a和对b的偏导,通过对a和对b找到最小的值。
在这里插入图片描述
定义一个超参α=0.01
在这里插入图片描述
通过损失函数的变化,判断随着a或b的变化,变化量的正负值,找到损失函数的最小值。

程序步骤
1.初始值
a=0, b=0
2.计算模型
y_hat = ax + b
3.计算a和b的微分
4.更新a和b
5.判断是否为损失函数的最小值
否则重复2和3
6.极少数程序

算法步骤
1.a 和b的初始值设置为0
2.通过模型y_hat,算出y_hat
3

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

June_Pyt

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值