文章目录
- 线性模型
pytorch是一个基础的python的科学计算库,它有以下特点:
- 类似于numpy,但是它可以使用GPU
- 可以用它来定义深度学习模型,可以灵活的进行深度学习模型的训练和使用
线性模型
线性模型的基本形式为: f ( x ) = w T x + b f(x)=w^Tx+b f(x)=wTx+b,线性模型的参数是w和b,它的学习是通过不断减少损失实现的,其损失一般为均方损失
pytorch代码实现:
# from tkinter import W
import numpy as np
import matplotlib.pyplot as pltx_data=[1.0,2.0,3.0]
y_data=[2.0,4.0,6.0]def forward(x):return x*wdef 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_valprint("\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()
结果截图: