(动手学深度学习)学习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的指代
小结
- 和大多数深度学习模型一样,对于线性回归这样一种单层神经网络,它的基本要素包括模型、训练数据、损失函数和优化算法。
- 既可以用神经网络图表示线性回归,又可以用矢量计算表示该模型。
- 应该尽可能采用矢量计算,以提升计算效率。
- 矢量计算减少时间
浙公网安备 33010602011771号