
deeplearning.ai
adrianna_xy
假如编程易懂得,那么程序员就不会热情地写出注释,也不会有得到编程的快乐。
展开
-
【deeplearning.ai笔记第二课】1.1 训练集,验证集和测试集
一般把数据集分为三部分:train set, valid set, test set分别用于训练模型,调整超参数,测试模型。其中valid set 又叫development set ,简称 dev set。交叉验证(hold out cross validation)随机从一组测定数据中抽取一部分数据来建立模型,用其余的数据来检验此模型的方法。最常见的是十折交叉验证,即把训练集随机分为十份,每次原创 2017-10-19 11:05:40 · 2722 阅读 · 0 评论 -
【deeplearning.ai笔记第二课】1.2 欠拟合和过拟合(bias variance)
偏差和方差(bias variance)很好理解,左图是high bias(高偏差),即欠拟合,右图是high variance(高方差),即过拟合。我们追求的是中间图,low bias AND low variance。注意的是并不是 高方差就一定低偏差,有可能既高方差又高偏差。怎么理解呢?看下面一个栗子: 判断图片是不是猫的一个分类问题,人的判断错误率为0%那么如果train error 和v原创 2017-10-19 11:09:16 · 1498 阅读 · 0 评论 -
【deeplearning.ai笔记第二课】1.3 机器学习基本方法(Basic recipe for machine learning)
在建立好模型后,我们通过训练测试得到最初的train error,valid error,test error,那么接下来应该怎么调整模型得到最优的模型呢? 可以归纳为以下流程图:原创 2017-10-19 11:27:32 · 615 阅读 · 0 评论 -
【deeplearning.ai笔记第二课】1.4 正则化,权重初始化和输入归一化
正则化能减少过拟合,那么有哪些方法呢?我们来看一下:1.1 cost function加上正则项L2 regularization即在 cost function 加上 L2 norm: ∑θ2\sum\theta^2L1 regularization即在 cost function 加上 L1 norm: ∑∥θ∥\sum \lVert \theta\rVert1.2 weight原创 2017-10-19 11:27:33 · 2863 阅读 · 0 评论 -
【deeplearning.ai笔记第二课】2.1 随机梯度下降,批量梯度下降和小批量梯度下降
批量梯度下降 (batch gradient descent) 每次梯度更新时,计算所有m个样本的梯度做梯度下降 小批量梯度下降 (mini-batch gradient descent) 每次梯度更新,计算n(n<m)(n<m)个样本的梯度做梯度下降 随机梯度下降(stochastic gradient descent) 每次梯度更新,计算1个样本的梯度做梯度下降 大多数用于深度原创 2017-11-02 21:51:51 · 1675 阅读 · 0 评论 -
【deeplearning.ai笔记第二课】2.2 优化算法(动量梯度下降,RMSprop,adam)
先上总结:1. 指数加权平均是一种 减少数据波动的方法。简单来说就是每个点的值都是前几个点和当前点的加权平均。公式如下: beta的值越大,数据越平稳。但是beta的值过大会使数据有一种“滞后”的感觉,如图中的绿线。1.1 理解为什么叫“指数”加权平均呢?因为根据公式,我们可以推导出以下的式子:也就是说,当前点V100V_{100} 的值可以由前99个点的加权值得到,而权重是个指数函数。1.2 平原创 2017-11-03 10:27:56 · 12819 阅读 · 0 评论 -
【deeplearning.ai笔记第二课】2.3 学习率衰减(learning rate decay),局部极小值和鞍点
1. 学习率衰减(learning rate decay) 在训练模型的时候,通常会遇到这种情况:我们平衡模型的训练速度和损失(loss)后选择了相对合适的学习率(learning rate),但是训练集的损失下降到一定的程度后就不在下降了,比如training loss一直在0.7和0.9之间来回震荡,不能进一步下降。如下图所示:遇到这种情况通常可以通过适当降低学习率(learning rate)原创 2017-11-03 14:55:57 · 1783 阅读 · 0 评论 -
【deeplearning.ai笔记第二课】2.4 batch normalization
1. batch normalization介绍批标准化(batch normalization) 是优化深度神经网络中最激动人心的最新创新之一。实际上它并不是一个优化算法,而是一个自适应的重参数化的方法,试图解决训练非常深的模型的困难。说的通俗点,实际上就是BN就是在对每一个隐藏层的输出ZiZ^i做标准化。非常深的模型会涉及多个函数或层组合。这使得我们很难选择一个合适的学习率,因为某一层中参数更原创 2017-11-16 18:02:16 · 558 阅读 · 0 评论