pytorch----linear model

import numpy as np
import matplotlib.pyplot as plt
x_data=[1,2,3]
y_data=[2,4,6]
def forword(x):
return x*w
def loss(x,y):
y_pred=forword(x)
return (y_pred-y)*(y_pred-y)
w_list=[] #随机w
mse_list=[] #mean square error=每个w对应的损失函数
for w in np.arange(0,4,0.1):
print('w=',w)
l_sum=0
for x_val,y_val in zip(x_data,y_data):#x_datay_datazip拼成x_val y_val
y_pred_val=forword(x_val) #y
loss_val=loss(x_val,y_val) #预测值y^和真实值y之间的平方差,损失函数
l_sum+=loss_val #求每个样本损失函数之和
print('x=',x_val,'y=',y_val,'y^=',y_pred_val,'每个样本的损失函数:',loss_val)

print('dataset数据集的平均损失函数mse:', l_sum / 3)
w_list.append(w)#w[]列表追加元素w
mse_list.append(l_sum / 3)#mse[]列表追加元素新的平均损失函数
plt.plot(w_list,mse_list)
plt.ylabel('Loss')
plt.xlabel('w')
plt.show()
posted @ 2022-01-05 15:07  wxrdml  阅读(23)  评论(0编辑  收藏  举报