笔记: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^…
笔记:Andrew Ng's Deeping Learning视频 参考:https://xienaoban.github.io/posts/41302.html 参考:https://blog.csdn.net/u012328159/article/details/80210363 1. 训练集.验证集.测试集(Train, Dev, Test Sets) 当数据量小的时候, 70% 训练, 30% 测试:或 60% 训练.20% 验证.20%测试. 训练集( training set):用来…
摘抄:https://xienaoban.github.io/posts/2106.html 1. 调试(Tuning) 超参数 取值 #学习速率:\(\alpha\) Momentum:\(\beta\) 0.9:相当于10个值中计算平均值:0.999相当于1000个值中计算平均值 Adam:\(\beta_1\) 0.9 Adam:\(\beta_2\) 0.999 Adam:\(\varepsilon\) \(10^{-8}\) #layers #hidden unit #mini-bat…
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\)的理解,你可以将其认为该数值表示的是\…
目录 一. 改善过拟合问题 Bias/Variance 正则化Regularization 1. L2 regularization 2. Dropout正则化 其他方法 1. 数据变形 2. Early stopping 二. 特征缩放 1. 归一化 2. 标准化 三. 初始化参数 梯度消失.梯度爆炸 四. 梯度检验 在神经网络实施梯度检验的实用技巧和注意事项 五. 优化算法 1. mini-Batch梯度下降法 2. 动量梯度下降法 指数加权平均 指数平均加权的偏差修正 动量梯度下降法公式…
参考:https://blog.csdn.net/red_stone1/article/details/78600255https://blog.csdn.net/red_stone1/article/details/78600255 1. error analysis 举个例子,猫类识别问题,已经建立的模型的错误率为10%.为了提高正确率,我们发现该模型会将一些狗类图片错误分类成猫.一种常规解决办法是扩大狗类样本,增强模型对够类(负样本)的训练.但是,这一过程可能会花费几个月的时间,耗费这么大…
觉得有用的话,欢迎一起讨论相互学习~Follow Me 1.10 梯度消失和梯度爆炸 当训练神经网络,尤其是深度神经网络时,经常会出现的问题是梯度消失或者梯度爆炸,也就是说当你训练深度网络时,导数或坡度有时会变得非常大,或非常小,甚至以指数方式变小.这加大了训练的难度. 假设你正在训练一个很深的神经网络,并且将其权重命名为"W[1],W[2],W[3],W[4]......W[L]" 为了简化说明,我们选择激活函数为g(z)=z(线性激活函数),b[l]=0(即忽略偏置对神经网络的影响…
Deep Learning 用逻辑回归训练图片的典型步骤. 笔记摘自:https://xienaoban.github.io/posts/59595.html 1. 处理数据 1.1 向量化(Vectorization) 将每张图片的高和宽和RGB展为向量,最终X的shape为 (height*width*3, m) . 1.2 特征归一化(Normalization) 对于一般数据,使用标准化(Standardization) \(X_{scale} = \frac{(X(axis=0) -…
参考 1. Word Representation 之前介绍用词汇表表示单词,使用one-hot 向量表示词,缺点:它使每个词孤立起来,使得算法对相关词的泛化能力不强. 从上图可以看出相似的单词分布距离较近,从而也证明了Word Embeddings能有效表征单词的关键特征. 2. 词嵌入(word embedding) Transfer learning and word embedding: 从海量词汇库中学习word embeddings(即所有单词的特征向量),或者从网上下载预训练好的w…
觉得有用的话,欢迎一起讨论相互学习~Follow Me 1.9 归一化Normaliation 训练神经网络,其中一个加速训练的方法就是归一化输入(normalize inputs). 假设我们有一个训练集,它有两个输入特征,所以输入特征x是二维的,这是数据集的散点图. 归一化输入需要两个步骤 第一步-零均值化 subtract out or to zero out the mean 计算出u即x(i)的均值 \[u=\frac{1}{m}\sum^{m}_{i=1}x^{(i)}\] u是一个…
觉得有用的话,欢迎一起讨论相互学习~Follow Me 1.1 训练/开发/测试集 对于一个数据集而言,可以将一个数据集分为三个部分,一部分作为训练集,一部分作为简单交叉验证集(dev)有时候也成为验证集,最后一部分作为测试集(test).接下来我们开始对训练集执行训练算法,通过验证集或简单交叉验证集选择最好的模型.经过验证我们选择最终的模型,然后就可以在测试集上进行评估了.在机器学习的小数据量时代常见的做法是将所有数据三七分,就是人们常说的70%训练集集,30%测试集,如果设置有验证集,我们可…
参考:https://blog.csdn.net/red_stone1/article/details/78519599 1. 正交化(Orthogonalization) 机器学习中有许多参数.超参数需要调试. 通过每次只调试一个参数,保持其它参数不变而得到的模型某一性能改变是一种最常用的调参策略,我们称之为正交化方法(Orthogonalization). 对应到机器学习监督式学习模型中,可以大致分成四个独立的"功能": Fit training set well on cost…
参考1 参考2 1. 计算机视觉 使用传统神经网络处理机器视觉的一个主要问题是输入层维度很大.例如一张64x64x3的图片,神经网络输入层的维度为12288. 如果图片尺寸较大,例如一张1000x1000x3的图片,神经网络输入层的维度将达到3百万,使得网络权重W非常庞大. 这样会造成两个后果: 一是神经网络结构复杂,数据量相对不够,容易出现过拟合: 二是所需内存.计算量较大.解决这一问题的方法就是使用卷积神经网络(CNN). 2. 边缘检测示例 神经网络由浅层到深层,分别可以检测出图片的边缘特…
觉得有用的话,欢迎一起讨论相互学习~Follow Me 2.1 mini-batch gradient descent mini-batch梯度下降法 我们将训练数据组合到一个大的矩阵中 \(X=\begin{bmatrix}x^{(1)}&x^{(2)}&x^{(3)}&x^{(4)}&x^{(5)}...x^{(n)}\end{bmatrix}\) \(Y=\begin{bmatrix}y^{(1)}&y^{(2)}&y^{(3)}&y^{(4)…
参考 1. Why look at case studies 介绍几个典型的CNN案例: LeNet-5 AlexNet VGG Residual Network(ResNet): 特点是可以构建很深的神经网络 Inception Neural Network 2. Classic Networks 典型的 LeNet-5 结构包含CONV layer,POOL layer 和 FC layer 顺序一般是 CONV layer->POOL layer->CONV layer->POOL…
觉得有用的话,欢迎一起讨论相互学习~Follow Me 1.4 正则化(regularization) 如果你的神经网络出现了过拟合(训练集与验证集得到的结果方差较大),最先想到的方法就是正则化(regularization).另一个解决高方差的方法就是准备更多的数据,这也是非常可靠的方法. 正则化的原理 正则化公式简析 L1范数:向量各个元素绝对值之和 L2范数:向量各个元素的平方求和然后求平方根 Lp范数:向量各个元素绝对值的p次方求和然后求1/p次方 L∞范数:向量各个元素求绝对值,最大那…
参考1 参考2 参考3 1. 为什么选择序列模型 序列模型能够应用在许多领域,例如: 语音识别 音乐发生器 情感分类 DNA序列分析 机器翻译 视频动作识别 命名实体识别 这些序列模型都可以称作使用标签数据(X,Y)作为训练集的监督式学习,输入x和输出y不一定都是序列模型.如果都是序列模型的话,模型长度不一定完全一致. 2. Notation(标记) 下面以 命名实体识别 为例,介绍序列模型的命名规则.示例语句为: Harry Potter and Hermione Granger invent…
参考 1. 基础模型(Basic Model) Sequence to sequence模型(Seq2Seq) 从机器翻译到语音识别方面都有着广泛的应用. 举例: 该机器翻译问题,可以使用"编码网络(encoder network)"+"解码网络(decoder network)"两个RNN模型组合的形式来解决. encoder network将输入语句编码为一个特征向量,传递给decoder network,完成翻译.具体模型结构如下图所示: 其中,encoder…
1.mini-batch梯度下降 在前面学习向量化时,知道了可以将训练样本横向堆叠,形成一个输入矩阵和对应的输出矩阵: 当数据量不是太大时,这样做当然会充分利用向量化的优点,一次训练中就可以将所有训练样本涵盖,速度也会较快.但当数据量急剧增大,达到百万甚至更大的数量级时,组成的矩阵将极其庞大,直接对这么大的的数据作梯度下降,可想而知速度是快不起来的.故这里将训练样本分割成较小的训练子集,子集就叫mini-batch.例如:训练样本数量m=500万,设置mini-batch=1000,则可以将训练…
目录 第一周(深度学习的实践层面) 第二周(优化算法) 第三周(超参数调试.Batch正则化和程序框架) 目标: 如何有效运作神经网络,内容涉及超参数调优,如何构建数据,以及如何确保优化算法快速运行,从而使学习算法在合理时间内完成自我学习. 第一周(深度学习的实践层面) 如何选取一个神经网络的训练集.验证集和测试集呢? 如果数据量比较少,例如只有100条,1000条或者1万条数据,按照60%.20%.20%划分是比较合理的,但是在目前大部分数据都是远远大于这个数理级,也可以说是大数据规模的级别.…
1. Mini-batch梯度下降法 介绍 假设我们的数据量非常多,达到了500万以上,那么此时如果按照传统的梯度下降算法,那么训练模型所花费的时间将非常巨大,所以我们对数据做如下处理: 如图所示,我们以1000为单位,将数据进行划分,令\(x^{\{1\}}=\{x^{(1)},x^{(2)}--x^{(1000)}\}\), 一般地用\(x^{\{t\}},y^{\{t\}}\)来表示划分后的mini-batch. 注意区分该系列教学视频的符号标记: 小括号() 表示具体的某一个元素,指一个…
这一周的主题是优化算法. 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 gradient descent 1.1 算法原理 1.2 进一步理解Mini-batch gradient descent 1.3 TensorFlow中的梯度下降 2. Exponentially weighted averages 2.1 伦敦天气温度 2.2 进一步理解Exponentially weighted averages 2.3 偏差修正(bias correction) 3. Gradient descent with momentum(Mo…
这一周的主题是优化算法. 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(…
===========第2周 优化算法================ ===2.1 Mini-batch 梯度下降=== epoch: 完整地遍历了一遍整个训练集 ===2.2 理解Mini-batch 梯度下降=== Mini-batch=N,Batch GD.训练集小(<=2000),选Bath: Mini-batch=1,Stochastic GD.不会收敛,而是一直在最小值附近“波动”.噪声可以通过减小学习率在一定程度上得到减缓,但每次只处理一个样本,失去了向量化带来的好处 考虑到计算…
Gradient descent Batch Gradient Decent, Mini-batch gradient descent, Stochastic gradient descent 还有很多比gradient decent 更优化的算法,在了解这些算法前,需要先理解  Exponentially weighted averages 这个概念 Exponentially weighted average 是一种计算平均值的方法,非常省storage 和 memory, 但是不是很精确.…
李宏毅老师的机器学习课程和吴恩达老师的机器学习课程都是都是ML和DL非常好的入门资料,在YouTube.网易云课堂.B站都能观看到相应的课程视频,接下来这一系列的博客我都将记录老师上课的笔记以及自己对这些知识内容的理解与补充.(本笔记配合李宏毅老师的视频一起使用效果更佳!) Lecture 6: Brief Introduction of Deep Learning 本节课主要围绕Deep Learing三步骤: (1)function set (2)goodness of function (…
声明:所有内容来自coursera,作为个人学习笔记记录在这里. Gradient Checking Welcome to the final assignment for this week! In this assignment you will learn to implement and use gradient checking. You are part of a team working to make mobile payments available globally, and…
声明:所有内容来自coursera,作为个人学习笔记记录在这里. Regularization Welcome to the second assignment of this week. Deep Learning models have so much flexibility and capacity that overfitting can be a serious problem, if the training dataset is not big enough. Sure it do…