文章目录
一、深度学习的概念
二、函数的类型
- 回归:函数输出是一个实数。(当然还有多标签回归,输出是一个实数型的向量/矩阵)
- 分类:函数输出是一个类别。(类别通常用独热编码表示)
- 结构:函数输出是一个结构体
三、深度学习的步骤
3.1 定义一个参数未知的函数表达式
这一步骤在 Deep Learning 中通常表现为建立Model。比如,建立了一个3层的全连接网络,每一层是由线性层+ReLu激活函数构成的,这就是我们定义的函数表达式。在每一个线性层中,都有未知的参数 w 和 b
3.2 定义一个损失函数
3.3 采用梯度下降法求解使得函数表达式的Loss最小的参数
四、视频播放量预测案例
4.1 案例介绍和思路分析
已知2017年-2020年的播放量数据,通过已知的数据,训练一个模型(拟合一个函数),预测未来的播放量
按照上面介绍的三个步骤:
- 建立参数未知的函数表达式
- 定义损失函数
- 梯度下降优化
实际上,很多时候步骤2和3都是比较固定的,例如回归问题,损失函数常用MSE,分类问题损失函数常用交叉熵损失等,梯度下降优化就不用说了,也是一个通用的方法。
所以,预测的效果,很大程度上取决于模型的建立,即函数表达式的选取。下面,我们会介绍几种函数表达式,带大家感受不同函数表达式的预测效果的差别,并且让大家浅浅感受一下 Why Deep Learning
4.2 线性函数表达式1
4.3 改进1:使用前一段时间的播放量来预测明天的播放量
第一个函数表达式:表示用前7天的播放量预测明天的播放量
第二个函数表达式:表示用前28天的播放量预测明天的播放量
第三个函数表达式:表示用前56天的播放量预测明天的播放量
L表示模型在训练集上的损失值,L‘表示模型在测试集,也就是预测未来播放量时候的损失值
可以看出,随着采用前一段时间的天数越来越大,模型在训练集和测试集上的损失值都在减小,但是采用前一段时间的天数为56和28时的损失值相差不大,说明通过增加采用前一段时间的天数来提高莫模型精度的方法达到了瓶颈
4.4 改进2:采用非线性函数表达式
将w每一个行,b,c,常数写为一个长向量
4.5 多层神经网络
从上图我们可以看到,网络层数在1-3之间时,随着层数增加,测试集损失值在逐渐下降。但是,到第4层的时候,测试集的损失值反而上升了。我们把这种现象称为“过拟合”。