最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

PyTorch實(shí)現(xiàn)線性回歸詳細(xì)過程

 更新時(shí)間:2022年03月09日 17:13:45   作者:心?升明月  
本文介紹PyTorch實(shí)現(xiàn)線性回歸,線性關(guān)系是一種非常簡單的變量之間的關(guān)系,因變量和自變量在線性關(guān)系的情況下,可以使用線性回歸算法對一個(gè)或多個(gè)因變量和自變量間的線性關(guān)系進(jìn)行建模,該模型的系數(shù)可以用最小二乘法進(jìn)行求解,需要的朋友可以參考一下

一、實(shí)現(xiàn)步驟

1、準(zhǔn)備數(shù)據(jù)

x_data = torch.tensor([[1.0],[2.0],[3.0]])
y_data = torch.tensor([[2.0],[4.0],[6.0]])

2、設(shè)計(jì)模型

class LinearModel(torch.nn.Module):
? ? def __init__(self):
? ? ? ? super(LinearModel,self).__init__()
? ? ? ? self.linear = torch.nn.Linear(1,1)
? ? ? ??
? ? def forward(self, x):
? ? ? ? y_pred = self.linear(x)
? ? ? ? return y_pred
? ? ? ??
model = LinearModel() ?

3、構(gòu)造損失函數(shù)和優(yōu)化器

criterion = torch.nn.MSELoss(reduction='sum')
optimizer = torch.optim.SGD(model.parameters(),lr=0.01)

4、訓(xùn)練過程

epoch_list = []
loss_list = []
w_list = []
b_list = []
for epoch in range(1000):
? ? y_pred = model(x_data)?? ??? ??? ??? ??? ? ?# 計(jì)算預(yù)測值
? ? loss = criterion(y_pred, y_data)?? ?# 計(jì)算損失
? ? print(epoch,loss)
? ??
? ? epoch_list.append(epoch)
? ? loss_list.append(loss.data.item())
? ? w_list.append(model.linear.weight.item())
? ? b_list.append(model.linear.bias.item())
? ??
? ? optimizer.zero_grad() ? # 梯度歸零
? ? loss.backward() ? ? ? ? # 反向傳播
? ? optimizer.step() ? ? ? ?# 更新

5、結(jié)果展示

展示最終的權(quán)重和偏置:

# 輸出權(quán)重和偏置
print('w = ',model.linear.weight.item())
print('b = ',model.linear.bias.item())

結(jié)果為:

w =  1.9998501539230347
b =  0.0003405189490877092

模型測試:

# 測試模型
x_test = torch.tensor([[4.0]])
y_test = model(x_test)
print('y_pred = ',y_test.data)

y_pred = ?tensor([[7.9997]])

分別繪制損失值隨迭代次數(shù)變化的二維曲線圖和其隨權(quán)重與偏置變化的三維散點(diǎn)圖:

# 二維曲線圖
plt.plot(epoch_list,loss_list,'b')
plt.xlabel('epoch')
plt.ylabel('loss')
plt.show()

# 三維散點(diǎn)圖
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
ax.scatter(w_list,b_list,loss_list,c='r')
#設(shè)置坐標(biāo)軸
ax.set_xlabel('weight')
ax.set_ylabel('bias')
ax.set_zlabel('loss')
plt.show()

結(jié)果如下圖所示:

 到此這篇關(guān)于PyTorch實(shí)現(xiàn)線性回歸詳細(xì)過程的文章就介紹到這了,更多相關(guān)PyTorch線性回歸內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

二、參考文獻(xiàn)

相關(guān)文章

最新評論

图片| 临朐县| 咸阳市| 乌拉特中旗| 德阳市| 娄底市| 微山县| 清河县| 偃师市| 拜泉县| 清远市| 辽宁省| 双柏县| 崇州市| 大港区| 三穗县| 民权县| 凤山市| 衢州市| 丰原市| 永城市| 隆安县| 洞口县| 巴塘县| 喀喇| 奉化市| 泸州市| 石家庄市| 海盐县| 繁昌县| 临安市| 黄石市| 营口市| 榆林市| 天津市| 安徽省| 封丘县| 涞源县| 三亚市| 高青县| 科技|