Pytorch深度学习实践——线性模型

在看刘二大人的Pytorch教程,写个笔记记录一下,如果有什么问题欢迎一起探讨呀

传送门:刘二大人的Pytorch深度学习实践

线性模型

首先是线性模型的定义:给定由d个属性描述对的示例x = (x_{1};x_{2};…;x_{d}),其中{x_{i}}是第i个属性上的取值,线性模型试图学得一个通过属性的线性组合来进行预测的函数,即
线性模型定义
转换成向量形式即为:
线性模型向量形式在这里插入图片描述

线性回归

基于以上线性模型的定义,引出线性回归问题,即线性回归的目的是试图学得
线性回归问题
利用均方误差进行度量,使MSE最小化,用公式表示即为:

Pytorch深度学习实践——线性模型_第1张图片
详细了解继续戳:线性模型(我只是无情的搬运工~)

接着上视频代码:

import numpy as np				#用于python绘图的包	
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_pred-y)

w_list=[]	#权重列表
mse_list=[]	#损失列表

for w in np.arange(0.0, 4.1, 0.1):	#在[0.0,4.1]之间以0.1为间隔生成序列
	print('w=',w)
	l_usm=0
	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()

文末附上其他同学写好的作业:小作业

你可能感兴趣的:(代码,Python,深度学习,python)