《PyTorch深度学习实践课程》

线性模型

y=wx
数据集:

xy
1.02.0
2.04.0
3.06.0
4.0?

代码实现:

# Author:gt
# CreatTime:2021/10/29
# FileName:lesson1.py
#线性模型
import numpy as np
import matplotlib.pyplot as plt

#准备数据集
x_train=[1.0,2.0,3.0]
y_train=[2.0,4.0,6.0]

#模型
def forward(x):#一次接收一个数值
    return w*x

#定义损失函数(是单个样本的)
#每一次前向传播后才能得到预测值
def loss(x,y):
    y_pre=forward(x)
    return (y_pre-y)**2

#保存每次的w取值
w_list=[]
#保存每次的损失值mse
mse_list=[]
#手动给出w的值
for w in np.arange(0.0,4.0,0.1):
    print("本次w的取值:",w)
    l_sum=0
    for x_val,y_val in zip(x_train,y_train):#计算所有样本在同一个w取值下的损失
        y_pre=forward(x_val)
        loss_val=loss(x_val,y_val)
        l_sum+=loss_val#损失值进行累加
        print('\t',x_val,y_val,y_pre,loss_val)#输出单个样本输入数据,预测数据,损失值
    print('MSE=',l_sum/3)
    w_list.append(w)#将此次循环用于计算的w保存到列表
    mse_list.append(l_sum)

#画图观察mse和w之间的函数关系
#plt.rcParams['font.sans-serif']=['SimHei']
#plt.rcParams['axes.unicode_minus'] = False
plt.title("cost function")
plt.xlabel("w's value")
plt.ylabel("mse's value'")#总体样本均值
plt.plot(w_list,mse_list)
plt.show()

执行结果:
在这里插入图片描述
在这里插入图片描述

完结,撒花,接下来写作业

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值