文章目录
线性模型
pytorch代码实现:
# from tkinter import W
import numpy as np
import matplotlib.pyplot as plt
x_data=[1.0,2.0,3.0]
y_data=[2.0,4.0,6.0]
def forward(x):
return x*w
def loss(x,y):
y_pred=forward(x)
return (y_pred-y)*(y_pred-y)
w_list=[]
mse_list=[]
# 对于不同的w,手动模拟学习的过程
for w in np.arange(0.0,4.1,0.1):
print("w=",w)
l_sum=0# 损失值
# 一次计算MSE的过程
for x_val,y_val in zip(x_data,y_data):
# 计算预测值
y_pred_val=forward(x_val)
# 计算损失函数
loss_val=loss(x_val,y_val)
l_sum+=loss_val
print("\t",x_val,y_val,y_pred_val,loss_val)
print("MSE=",l_sum/3)
w_list.append(w)
mse_list.append(l_sum/3)
# 画图
plt.plot(w_list,mse_list)
plt.ylabel("Loss")
plt.xlabel("w")
plt.show()
结果截图: