吴恩达deep learning课程学习重点笔记

神经网络基础:

  • 梯度下降法指的是在给定一个初始值后,始终沿着当前最陡峭的下降方向进行移动。

  • 代价函数:二次型,交叉熵代价函数(cross-entropy cost)

  • 计算方法:backpropagation 优化方法:SGD随机梯度下降 softmax函数:输出概率化

  • 如果我们选择tanh作为激活函数,由于其平均值更接近于0,可以起到中心化的作用,通常更有利用算法优化。

  • 对于一个二分类问题的输出层的激活函数,由于我们仅希望对其进行是否判断,其实更类似于0,1判断,因此,此时选择sigmod函数是一个更加合理的选择。但是,对于sigmod函数和tanh函数,都有一个共同的问题,即当输入变量特别大或者特别小时,斜率非常小,此时,并不利于梯度下降法进行学习。在机器学习中, 一个非常常用的激活函数叫做ReLU函数(修正线性单元函数)

  • 在使用神经网络时,参数的初始化也是一个重要的工作。一个常用的原则是:使用较小的随机数来对参数进行初始化。里面涉及到两个KeyWords:随机数、较小的数。当你在计算激活函数的值时,如果W很大,会导致sigmod或tanh函数的输入值很大或很小。此时,则位于函数的平缓部分,导致其计算到的梯度下降非常缓慢。而越接近于0时,其梯度越明显,收敛速度也相对更快。因此,我们通常会用一个较小的系数来乘以我们的随机数。

神经网络理论与优化

  • 典型的高偏差的场景,以这种方式进行分类时,明显会表现出欠拟合的状态。此时,说明训练不够充分

  • 典型的高方差的场景。很明显,该模型对于训练样本过于拟合,对于真实场景不具备很好的扩展性,此时,一种常见的方法是扩大训练样本 。那么说明对于训练集,表现的性能很好,但是在验证集中性能并不好。 通常而言,这种场景中是由于对训练集过度拟合造成的。此时,我们称之为高方差。

  • 在解决问题之前,我们首先需要判断当前情况下是否存在高偏差。
    如果的确偏差很大,对训练集都不能很好的拟合时,我们通常可以考虑以下思路:
    -1. 采用更大的网络 2. 训练更长的时间 3. 换一个新的网络结构 .
    通过这些方面的反复试验,首先要保证其偏差降低到一定程度后,再继续后续过程。 当偏差降低到一个可接受的值时,我们将继续考虑其方差的问题。 此时,我们要查看模型在验证集上的性能,如果模型在验证集上表现出的性能并不足够好,我们通常可以考虑一下思路:
    -1. 使用更多的数据进行训练 2. 正则化 3. 换一个新的网络结构 .
    最终,我们的目标就是通过不断的调试、试验来找出一个具有较低偏差、较低方差的模型。

  • 正则化方式:L1,L2,dropout

  • 对于一个新的数据集的预处理的步骤:1 设计出所要解决问题的维度和形状 2 reshape 数据集,使每个例子成为一个向量大小 3 标准化归一化数据

  • 对于minibatch size: 太小: 没有充分利用矩阵计算的library和硬件的整合的快速计算 ;太大: 更新权重和偏向不够频繁

  • 而当我们是MiniBatch梯度下降法时,由于每次迭代过程中仅仅是针对一小部分数据进行迭代,所以不能保证每次迭代过程中代价函数都是下降的。但是其整体趋势是不断下降的;当batch-size=样本数量m时:该方法实际为Batch梯度下降法。此时,每个Batch为全量的数据集。当batch-size=1时:该方法实际为随机梯度下降法。此时,每个Batch为一个样本。

  • 对于学习率lambda 如果学习率太大, 可能造成越走越高, 跳过局部最低点 ;太小, 学习可能太慢

  • 神经网络难以训练:
    神经网络结构: 层数, 每层神经元个数多少
    初始化w和b的方法
    Cost函数选择
    Regularization: L1, L2
    Sigmoid输出还是Softmax?
    使用Droput?
    训练集大小
    mini-batch size
    学习率(learning rate): η
    Regularization parameter: λ

  • CNN的优点:
    用CNN大大减少了参数数量, 用dropout减少了overfitting
    用Rectified Linear Units(线性整流函数)代替了sigmoid, 避免了overfitting, 不同层学习率差别大的问题

  • 用GPU计算更快, 每次更新较少, 但是可以训练很多次
    第一步:对输入做卷积操作得到输出
    第二步:对上面的线性响应做一些非线性的变换
    第三步:使用池化函数来修正输出

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值