深度学习中的一些概念

1. 线性回归和逻辑回归

线性回归: 是预测出一个连续值
逻辑回归: 是预测出“是”和“否”。同时逻辑回归也叫作对数几率回归

2. 顺序编码和独热编码(one-hot)

这里用三个城市来做例子,上海,北京,深圳。
顺序编码: 上海:0,北京:1,深圳:2
独热编码: 上海[1,0,0],北京[0,1,0],深圳[0,0,1]。
两种编码对结果是没有影响的

3. categorical_crossentropysparse_catrgorical_crossentropy

顺序编码的时候,使用的是sparse_categorical_crossentropy

4. CNN

可能我们会问?我们之前就已经用多层感知器实现了很多功能,为什么还要学CNN。
这是因为之前的模型,比如手写数字识别,我们的数据是2828的,但是现实中,我们要识别的图片肯定不会是2828的,图片可能是1980*1080的这么大的。
那么我们还和之前做一样的肯定是不行了。因为要是和之前做的一样,模型的参数会很大很大的

5. 图像增强

对图像进行如下操作:

  1. 图像翻转:左右翻转,上下翻转
  2. 随机截取画面:裁切画面
  3. 亮度增加,饱和度增加等

那么改变之后的图像对神经网络来说,就是一张新的图片。这样,我们的样本数就增加了。样本增加是解决过拟合最好的方法。
这些动作就叫作图像增强

6. 对test数据集是没有必要做图像增强的

训练集的图像只要和训练集的图像像素大小,也就是输入进模型的input_shape是一样的就可以了。

7. VGG

VGG是CNN的一种。属于CNN

8. 预训练网络

预训练网络,也就是迁移学习。VGG也算是一种预训练网络。 比如我们可以使用VGG在大规模分类任务做好的训练权重来加入我们的新模型,新模型只需要训练最后的几个全连接层,这就是预训练网络。

9. 多输出模型

就是模型要预测多个值,比如我们要求模型同时预测,图片里面是一件衣服还是一条裤子,然后还要分辨是蓝色的还是红色的。

10. 如何提高网络的拟合能力

  1. 增加层
  2. 增加隐藏神经元个数

两种方法里面,增加层会大大提高网络的拟合能力,这也是为什么现在深度学习的层越来越深的原因。
单层的神经元个数,也不能太小,太小的话,会造成信息瓶颈,使得模型欠拟合。

11. 抑制过拟合

  1. 使用Dropout层
  2. 增加样本数据
  3. 减少网络容量,可以迫使模型学习重点

最好的方法还是增加样本数据