1. 程式人生 > >Pytorch(三)入門:線性迴歸

Pytorch(三)入門:線性迴歸

給定一個數據點集合XX和對應的目標值yy,線性模型的目標就是找到一條使用向量ww和位移bb描述的線,來儘可能地近似每個樣本X[i]X[i]y[i]y[i]。用數學符號來表示就是: y^=Xw+b\hat{y} = Xw + b 並最小化所有資料點上的平方誤差 i=1n(y^iyi)2.\sum_{i=1}^n (\hat{y}_i-y_i)^2.

接下來,一起來寫一個線性迴歸模型,然後再通過 nn 包構建一個線性迴歸模型。

在這裡插入圖片描述 在這裡插入圖片描述 在這裡插入圖片描述 在這裡插入圖片描述

用torch.nn來構建模型

在PyTorch中 nn 包定義了一系列基本元件,這些元件(Modules)涵蓋了大部分構建神經網路會使用的各種層。一個元件(Modules)的輸入是Variable,經過元件之後,輸出又是另一個 Variable。

當然nn包中還包含了大部分我們平時使用的損失函式。

最後torch.optim中還含有很多我們平時使用的優化演算法,用來更新梯度。(我們上面使用的就是梯度下降法,只不過上面是我們自己手寫,現在可以直接呼叫了)

剛才,我們使用的是Tensor和autograd來構建線性迴歸的模型,現在,我們來使用torch.nn來快速構建一個線性迴歸模型. 在這裡插入圖片描述 在這裡插入圖片描述

在這裡插入圖片描述