天天看点

Pytorch 实现简单线性回归

  pytorch 实现简单线性回归

问题描述:

  使用 pytorch 实现一个简单的线性回归。

      

Pytorch 实现简单线性回归

            受教育年薪与收入数据集

单变量线性回归

  单变量线性回归算法(比如,$x$ 代表学历,$f(x)$ 代表收入): 

    $f(x) = w*x + b $

  我们使用 $f(x)$ 这个函数来映射输入特征和输出值。

目标:

  预测函数 $f(x)$ 与真实值之间的整体误差最小。

损失函数: 

  使用均方差作为作为成本函数。

  也就是预测值和真实值之间差的平方取均值。

成本函数与损失函数: 

  优化的目标( $y$ 代表实际的收入):

  找到合适的 $w$ 和 $b$ ,使得 $(f(x) - y)^{2}$越小越好

  注意:现在求解的是参数 $w$ 和 $b$。

过程

1 导入实验所需要的包

2 读取数据

3 查看数据信息

  查看数据

Pytorch 实现简单线性回归

   查看数据类型

4 图表显示数据

Pytorch 实现简单线性回归

5 转换数据为 tensor 类型

查看特征数据

查看特征数据 index

查看特征数据 value

特征数据变换形状

查看特征数据变换后的形状

查看特征数据变换后的数据类型

修改特征数据变换后的数据类型

特征数据和标签转换为tensor

6 定义模型

定义线性回归模型:

定义均方损失函数

定义优化器

7 模型训练

8 输出权重和偏置

  tensor 类型数据带梯度转换为numpy需要先去梯度

9 获取预测值 y_pred

预测值类型

预测值size

10 绘制回归曲线

 完整代码:

Pytorch 实现简单线性回归
Pytorch 实现简单线性回归

view code