这一周的主题是优化算法. 1.  Mini-batch: 上一门课讨论的向量化的目的是去掉for循环加速优化计算,X = [x(1) x(2) x(3) ... x(m)],X的每一个列向量x(i)是一个样本,m是样本个数.但当样本很多时(比如m=500万),向量化依然不能解决问题.所以提出了mini-batch的概念(Batch是指对整个样本都操作,mini-batch指只对所有样本的子集进行操作).把若干样本合并成一个mini-batch,比如这里选择1000,X{1} = [x(1) x(…
这一周的主题是优化算法. 1.  Mini-batch: 上一门课讨论的向量化的目的是去掉for循环加速优化计算,X = [x(1) x(2) x(3) ... x(m)],X的每一个列向量x(i)是一个样本,m是样本个数.但当样本很多时(比如m=500万),向量化依然不能解决问题.所以提出了mini-batch的概念(Batch是指对整个样本都操作,mini-batch指只对所有样本的子集进行操作).把若干样本合并成一个mini-batch,比如这里选择1000,X{1} = [x(1) x(…
1.mini-batch梯度下降 在前面学习向量化时,知道了可以将训练样本横向堆叠,形成一个输入矩阵和对应的输出矩阵: 当数据量不是太大时,这样做当然会充分利用向量化的优点,一次训练中就可以将所有训练样本涵盖,速度也会较快.但当数据量急剧增大,达到百万甚至更大的数量级时,组成的矩阵将极其庞大,直接对这么大的的数据作梯度下降,可想而知速度是快不起来的.故这里将训练样本分割成较小的训练子集,子集就叫mini-batch.例如:训练样本数量m=500万,设置mini-batch=1000,则可以将训练…
笔记:Andrew Ng's Deeping Learning视频 摘抄:https://xienaoban.github.io/posts/58457.html 本章介绍了优化算法,让神经网络运行的更快 1. 梯度优化算法 1.1 Mini-batch 梯度下降 将 \(X = [x^{(1)}, x^{(2)}, x^{(3)}, ..., x^{(m)}]\) 矩阵所有 \(m\) 个样本划分为 \(t\) 个子训练集,每个子训练集,也叫做mini-batch: 每个子训练集称为 \(x^…
Optimization Algorithms优化算法 觉得有用的话,欢迎一起讨论相互学习~Follow Me 2.6 动量梯度下降法(Momentum) 另一种成本函数优化算法,优化速度一般快于标准的梯度下降算法. 基本思想:计算梯度的指数加权平均数并利用该梯度更新你的权重 假设图中是你的成本函数,你需要优化你的成本函数函数形象如图所示.其中红点所示就是你的最低点.使用常规的梯度下降方法会有摆动这种波动减缓了你训练模型的速度,不利于使用较大的学习率,如果学习率使用过大则可能会偏离函数的范围.为…
Optimization Algorithms优化算法 觉得有用的话,欢迎一起讨论相互学习~Follow Me 2.3 指数加权平均 举个例子,对于图中英国的温度数据计算移动平均值或者说是移动平均值(Moving average). 大体公式就是前一日的V值加上当日温度的0.1倍,如果用红线表示这个计算数值的话就可以得到每日温度的指数加权平均值. \[V_{t}=\beta V_{t-1}+(1-\beta)\theta_{t}\] 对于\(\theta\)的理解,你可以将其认为该数值表示的是\…
这一周的主体是调参. 1. 超参数:No. 1最重要,No. 2其次,No. 3其次次. No. 1学习率α:最重要的参数.在log取值空间随机采样.例如取值范围是[0.001, 1],r = -4*np.random.rand(), α = 10r. No. 2 Momentum β:0.9是个不错的选择.在1-β的log取值空间随机采样.例如取值范围[0.9, 0.999],则1-β的取值空间[0.001, 0.1]. No. 2 各个隐含层的神经元数量:可以在线性取值空间随机采样. No.…
1. 应用机器学习是高度依赖迭代尝试的,不要指望一蹴而就,必须不断调参数看结果,根据结果再继续调参数. 2. 数据集分成训练集(training set).验证集(validation/development set).测试集(test set). 对于传统的机器学习算法,数据量(比如100.1000.10000),常用的分法是70%训练集/30%测试集.60%训练集/20%验证集/20%测试集. 对于大数据(比如100万),可能分法是98%训练集/1%验证集/1%测试集.99.5%训练集/0.…
这一周的主体是调参. 1. 超参数:No. 1最重要,No. 2其次,No. 3其次次. No. 1学习率α:最重要的参数.在log取值空间随机采样.例如取值范围是[0.001, 1],r = -4*np.random.rand(), α = 10r. No. 2 Momentum β:0.9是个不错的选择.在1-β的log取值空间随机采样.例如取值范围[0.9, 0.999],则1-β的取值空间[0.001, 0.1]. No. 2 各个隐含层的神经元数量:可以在线性取值空间随机采样. No.…
1. 应用机器学习是高度依赖迭代尝试的,不要指望一蹴而就,必须不断调参数看结果,根据结果再继续调参数. 2. 数据集分成训练集(training set).验证集(validation/development set).测试集(test set). 对于传统的机器学习算法,数据量(比如100.1000.10000),常用的分法是70%训练集/30%测试集.60%训练集/20%验证集/20%测试集. 对于大数据(比如100万),可能分法是98%训练集/1%验证集/1%测试集.99.5%训练集/0.…