莫烦Python视频笔记

背景:打算学习CNN,上一周看了莫烦的Python课程,目前看到了P28 18.3 CNN卷积神经网络

视频链接:https://www.bilibili.com/video/av16001891/?p=29

莫烦源代码:https://github.com/MorvanZhou/tutorials/tree/master/tensorflowTUT

笔记中只记录了部分原理,代码都放在文件夹中,可参考莫烦的源代码。

SGD:Stochastic Gradient Descent随机梯度下降法

其中SGD并不是最快的优化算法,我们可以用下图来看

莫烦Python视频笔记_第1张图片

该图为P18 优化器Optimizer加速神经网络训练(深度学习)中的图。SGD路线最短,速度最慢。

接下来介绍几种optimizer

Momentum醉汉歪歪扭扭的走,给个坡就能直接下去了

莫烦Python视频笔记_第2张图片

AdaGrad穿着不合脚的鞋子,有阻力,逼着人往前直着走

莫烦Python视频笔记_第3张图片

RMSProp

莫烦Python视频笔记_第4张图片

Adam这个是最快最好的optimizer

莫烦Python视频笔记_第5张图片
momentum和adam是比较常见的高阶的优化器

过拟合问题:

1、正则化:

多用于回归中的惩罚机制

莫烦Python视频笔记_第6张图片

当我们的预测值中的权重W过于大,即预测值过大,那么我们就让cost值也跟着变大,即惩罚的更重,而惩罚的机制就是将cost函数后面加上一个关于W的函数:|W|、W^2、W^3、W4等等,这样就可以让我们学出来的曲线不会过于扭曲。莫烦Python视频笔记_第7张图片

如上图,在不添加黄色的加号之前,黄色的虚线能完美拟合所有的点,但是当加入更多的数据(在这里为加入5个加号)之后,黄色曲线的误差要远远大于蓝色直线的误差,这就是所谓的过拟合。

2、DropOut:用于神经网络

每次对神经网络中的神经元随机忽略一部分,然后进行训练,做出预测

莫烦Python视频笔记_第8张图片

莫烦Python视频笔记_第9张图片

P26卷积神经网络

一个卷积核对RGB图片扫描后,只有一层,这里之所以有高度,是因为用了很多卷积核,一个卷积核是一层,原本是三层,因为RGB一个颜色一层。

一个卷积核代表的是一种特征,为获得更多不同的特征集合,卷积层会有多个卷积核,生成不同的特征。

pooling:原始尺寸是4*4的,分成四个2*2的矩阵,maxpooling保存每个2*2矩阵的最大特征值,组成一个新的2*2矩阵,averagepooling保存的是平均值,常用max,因为max更好的保存了特征。

在tensorflow当中定义conv2d和pooling都是非常容易的,有专门的语句:tf.nn.conv2d 和 tf.nn.max_pool

 

 

你可能感兴趣的:(莫烦Python视频笔记)