李沐老师:线性回归是机器学习最基础的一个模型,也是我们理解之后所有深度学习模型的基础,所以我们从线性回归开始
1. 线性回归
由于是案例引入,没有很难的知识点,咱直接贴上李沐老师的PPT:
1.1 线性模型--单层神经网络
李沐老师:神经网络起源于神经科学,但现在深度学习的发展远超神经科学的范畴,新的神经网络也不再追求神经科学上的解释了
李沐老师:我们在拥有模型后,需要开始做预测,也需要衡量预测的质量怎么样
1.2 衡量预估质量--平方损失
李沐老师:
- 用来衡量没有完全猜中真实值带来的(经济)损失
- 这里的 是为了求导的时候方便消去
【符号(y^),读作 “y hat”】
李沐老师:定义完损失,就需要收集一些数据点来决定参数值(就是权重和偏差)
1.3 训练--参数--损失函数
参数学习
- 上方是损失函数,每个真实值-预测值,结果平方
- 需要寻找最小化损失下的解w*,b*
- 因为是线性模型,所以有显示解
李沐老师:
- 因为是线性模型,所以是凸函数
- 最优解在梯度为 0 的地方
- 这也是咱深度学习里唯一有最优解的地方,之后就都没有了
1.4 总结
- 线性回归是对 n 维输入的加权,外加偏差(偏差是例子里的 “b”)
- 使用平方损失来衡量预测值和真实值的差异
- 线性回归有显示解 (很特别,有最优解说明模型很简单)
- 线性回归可以看做是单层神经网络(最简单的神经网络)
2. 基础优化算法
李沐老师:优化算法里,最常见的是梯度下降
2.1 梯度下降
李沐老师:
- 梯度下降可以直观地理解为去爬山,可以一直沿着最陡的路(山脊/山沟)走到终点(山顶/谷底)
- 步长(Step Size):爬山的速度(迭代的速度),指在一次更新中参数移动的距离,它实际上就是学习率乘以梯度的结果
2.2 学习率(Learning Rate)
- 步长(是向量) = 梯度(是向量) x 学习率
- 学习率是用来缩放这个梯度的,以确定参数更新的步长
李沐老师:
- 步长太小,就意味着计算更多次梯度
- 这太贵了
2.3 批量大小 (batch size)
李沐老师:
- b很大的时候,计算会很精确,但是贵
- b很小的时候,计算会容易很多,但不准
- 梯度的计算复杂度,和样本的个数线性相关
2.4 总结
- 梯度下降通过不断沿着反梯度方向更新参数求解
- 小批量随机梯度下降是深度学习默认的求解算法(最稳定、最简单)
- 两个重要的超参数是批量大小和学习率
李沐老师:优化算法是一个很大的课题,之后会细讲
3. 线性回归--从零实现
李沐老师:真正使用时不必从零实现,但熟悉里面每个模块如何运作,是很好的教学方法