多项式函数拟合

多项式函数拟合

2023年8月3日发(作者:)

多项式函数拟合import torchimport as pltimport numpy as np#⽣成⼀个⼈⼯数据集def create(w,b,sample): x = (0,1,size=(sample,len(w))) y = w[0]*x + w[1]*(x**2) +w[2] * (x**3) + b y += (0,0.01,) return x,yt_w=([1.2,-3.4,5.6])t_b=()features,lables=create(t_w,t_b,20)(features,lables,'r+')()w=(0,0.01,t_,requires_grad=True)b=(1,requires_grad=True)lr=0.025def net(x,w,b): return (w[0]*x + w[1]*(x**2) +w[2] * (x**3) + b)def sgd(params,lr): with _grad(): for param in params: param -= lr * _()def Loss(y_hat,y): return (y_hat-y)**2/2/len(y)def Train(x,y,w,b,lr): for epoch in range(100): y_hat=net(x,w,b) l=Loss(y_hat,y).sum() rd() sgd([w,b],lr) print('loss=%.4f' % l)Train(features,lables,w,b,lr)w=().numpy()b=().numpy()print(w,b)此时拟合结果w=[1.37, -3.30, 5.54]b= 4.86与要拟合多项式权值t_w[1.2, -3.4, 5]

t_b=5接近,当然可以继续设置迭代次数和学习率来进⼀步减⼩损失

发布者:admin,转转请注明出处:http://www.yc00.com/web/1691040620a493021.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信