从2到3的沐慕

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

(动手学深度学习)学习5 线性回归

摘抄自https://tangshusen.me/Dive-into-DL-PyTorch/#/chapter03_DL-basics/3.1_linear-regression

3.1 线性回归

线性回归输出是一个连续值,因此适用于回归问题。回归问题在实际中很常见,如预测房屋价】格、气温、销售额等连续值的问题。

【这个是连续值的】

 

与回归问题不同,分类问题中模型的最终输出是一个离散值。我们所说的图像分类、垃圾邮件识别、疾病检测等输出为离散值的问题都属于分类问题的范畴。softmax回归则适用于分类问题。

 

【这个是离散值的】

尤其是softmax

由于线性回归和softmax回归都是单层神经网络,它们涉及的概念和技术同样适用于大多数的深度学习模型。我们首先以线性回归为例,介绍大多数深度学习模型的基本要素和表示方法。

 

我们知道这个价格取决于很多因素,如房屋状况、地段、市场行情等。为了简单起见,这里我们假设价格只取决于房屋状况的两个因素,即面积(平方米)和房龄(年)。

 

 

 

 

 

 

求出模型参数值w和b

 

 

 

所以两个x是特征

 

 

 

 

 

 

 

 

 

 

 

 

是将这个批量中的所有误差求均值后  在对w1求导的

得这样理解】】】

 

 

 

调参指的是这种人为的

所以不是w

而是学习率】】

 

 

 ————————————————————————

 

 

 

 

 

 

 

这里有2个x

也就是说有2个特征 

所以说特征数为2

还有这里是全部链接的 

所以认为是全链接层】】

 

 

 

 import torch

from time import time

a = torch.ones(1000)
b = torch.ones(1000)

向量相加的一种方法是,将这两个向量按元素逐一做标量加法。

 

 

 start = time()

c = torch.zeros(1000)
for i in range(1000):
    c[i] = a[i] + b[i]
print(time() - start)

向量相加的另一种方法是,将这两个向量直接做矢量加法。

 

 

 结果很明显,后者比前者更省时。因此,我们应该尽可能采用矢量计算,以提升计算效率。

让我们再次回到本节的房价预测问题。如果我们对训练数据集里的3个房屋样本(索引分别为1、2和3)逐一预测价格,将得到

 

 

 

 

w1和w2是竖着写的

x1和x2是横着写的

 

 

不用想太多 会自动进行广播

a = torch.ones(3)
b = 10
print(a + b)

 

 

 

 

 这个矩阵逆在乘以矩阵的做法得另外找数字推断过程】】 

 

 

 

 

这里的θ为w和b的指代

小结

  • 和大多数深度学习模型一样,对于线性回归这样一种单层神经网络,它的基本要素包括模型、训练数据、损失函数和优化算法。
  • 既可以用神经网络图表示线性回归,又可以用矢量计算表示该模型。
  • 应该尽可能采用矢量计算,以提升计算效率。
  • 矢量计算减少时间

 

 

 

 

posted on 2020-05-02 19:40  从2到3的沐慕  阅读(300)  评论(0)    收藏  举报