深度学习概念
深度学习中的一些概念
1. 线性回归和逻辑回归
线性回归
: 是预测出一个连续值逻辑回归
: 是预测出“是”和“否”。同时逻辑回归也叫作对数几率回归
2. 顺序编码和独热编码(one-hot)
这里用三个城市来做例子,上海,北京,深圳。顺序编码
: 上海:0,北京:1,深圳:2独热编码
: 上海[1,0,0],北京[0,1,0],深圳[0,0,1]。
两种编码对结果是没有影响的。
3. categorical_crossentropy
和sparse_catrgorical_crossentropy
顺序编码的时候,使用的是sparse_categorical_crossentropy
4. CNN
可能我们会问?我们之前就已经用多层感知器实现了很多功能,为什么还要学CNN。
这是因为之前的模型,比如手写数字识别,我们的数据是2828的,但是现实中,我们要识别的图片肯定不会是2828的,图片可能是1980*1080的这么大的。
那么我们还和之前做一样的肯定是不行了。因为要是和之前做的一样,模型的参数会很大很大的
5. 图像增强
对图像进行如下操作:
- 图像翻转:左右翻转,上下翻转
- 随机截取画面:裁切画面
- 亮度增加,饱和度增加等
那么改变之后的图像对神经网络来说,就是一张新的图片。这样,我们的样本数就增加了。样本增加是解决过拟合最好的方法。
这些动作就叫作图像增强
。
6. 对test数据集是没有必要做图像增强的
训练集的图像只要和训练集的图像像素大小,也就是输入进模型的input_shape是一样的就可以了。
7. VGG
VGG是CNN的一种。属于CNN
8. 预训练网络
预训练网络,也就是迁移学习。VGG也算是一种预训练网络。 比如我们可以使用VGG在大规模分类任务做好的训练权重来加入我们的新模型,新模型只需要训练最后的几个全连接层,这就是预训练网络。
9. 多输出模型
就是模型要预测多个值,比如我们要求模型同时预测,图片里面是一件衣服还是一条裤子,然后还要分辨是蓝色的还是红色的。
10. 如何提高网络的拟合能力
- 增加层
- 增加隐藏神经元个数
两种方法里面,增加层会大大提高网络的拟合能力,这也是为什么现在深度学习的层越来越深的原因。
单层的神经元个数,也不能太小,太小的话,会造成信息瓶颈,使得模型欠拟合。
11. 抑制过拟合
- 使用Dropout层
- 增加样本数据
- 减少网络容量,可以迫使模型学习重点
最好的方法还是增加样本数据