Pytorch(三)入门:线性回归

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/zw__chen/article/details/82802566

给定一个数据点集合 X X 和对应的目标值 y y ,线性模型的目标就是找到一条使用向量 w w 和位移 b b 描述的线,来尽可能地近似每个样本 X [ i ] X[i] y [ i ] y[i] 。用数学符号来表示就是:
y ^ = X w + b \hat{y} = Xw + b
并最小化所有数据点上的平方误差
i = 1 n ( y ^ i y i ) 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来快速构建一个线性回归模型.
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

以上代码参考:https://github.com/LianHaiMiao/pytorch-lesson-zh/

猜你喜欢

转载自blog.csdn.net/zw__chen/article/details/82802566