1. 程式人生 > 其它 >Pytorch深度學習實踐——線性模型

Pytorch深度學習實踐——線性模型

技術標籤:程式碼Python深度學習python

在看劉二大人的Pytorch教程,寫個筆記記錄一下,如果有什麼問題歡迎一起探討呀

傳送門劉二大人的Pytorch深度學習實踐

線性模型

首先是線性模型的定義:給定由d個屬性描述對的示例x = (x_{1};x_{2};…;x_{d}),其中{x_{i}}是第i個屬性上的取值,線性模型試圖學得一個通過屬性的線性組合來進行預測的函式,即
線性模型定義
轉換成向量形式即為:
線性模型向量形式在這裡插入圖片描述

線性迴歸

基於以上線性模型的定義,引出線性迴歸問題,即線性迴歸的目的是試圖學得
線性迴歸問題
利用均方誤差進行度量,使MSE最小化,用公式表示即為:

均方誤差公式
詳細瞭解繼續戳:線性模型(我只是無情的搬運工~)

接著上視訊程式碼:

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()

文末附上其他同學寫好的作業:小作業