===========第2周 优化算法================ ===2.1 Mini-batch 梯度下降=== epoch: 完整地遍历了一遍整个训练集 ===2.2 理解Mini-batch 梯度下降=== Mini-batch=N,Batch GD.训练集小(<=2000),选Bath: Mini-batch=1,Stochastic GD.不会收敛,而是一直在最小值附近“波动”.噪声可以通过减小学习率在一定程度上得到减缓,但每次只处理一个样本,失去了向量化带来的好处 考虑到计算…
 =================第1周 循环序列模型=============== ===1.1 欢迎来到深度学习工程师微专业=== 我希望可以培养成千上万的人使用人工智能,去解决真实世界的实际问题,创造一个人工智能驱动的社会. ===1.2 什么是神经网络=== 实际上隐藏节点可能并没有左图那样明确的定义,你让神经网络自己决定这个节点是什么,我们只给你四个输入特征 随便你怎么计算.注意,当我们计算层数的时候,不计算输出层. ===1.3 用神经网络进行监督学习=== And then, f…
 =================第2周 神经网络基础=============== ===4.1  深层神经网络=== Although for any given problem it might be hard to predict in advance exactly how deep a neural network you would want,so it would be reasonable to try logistic regression,try one and then…
 =================第3周 浅层神经网络=============== ===3..1  神经网络概览=== ===3.2  神经网络表示=== ===3.3  计算神经网络的输出=== 方括号代表层数.   ===3.4  多个例子中的向量化=== ===3.5  向量化实现的解释===  方括号值的是层数,括号代表样本编号.ppt中显示的,不同row代表某一层的hidden unit,不同列代表各个样本,挺形象的呀,有趣.   ===3.6  激活函数=== tanh几乎各方…
 =================第2周 神经网络基础=============== ===2.1  二分分类=== ===2.2  logistic 回归=== It turns out, when you implement you implement your neural network, it will be easier to just keep b and w as separate parameters. 本课程中将分开考虑它们. ===2.3  logistic 回归损失函数…
深度学习概论 1.什么是神经网络? 2.用神经网络来监督学习 3.为什么神经网络会火起来? 1.什么是神经网络? 深度学习指的是训练神经网络.通俗的话,就是通过对数据的分析与计算发现自变量与因变量的映射关系(神经网络模型),这个映射关系可以是单层(一个神经元),也可以是网络(多个神经元),此过程可称为训练过程:其后根据此神经网络模型来对事物进行预测或分类. 通过一个例子来说明何为神经网络.房价的预测,影响房价的因素有很多,现在仅考虑房间大小,即只有一维特征.下图的红叉代表已知价格的房子大小,通过…
浅层神经网络 1.激活函数 在神经网络中,激活函数有很多种,常用的有sigmoid()函数,tanh()函数,ReLu函数(修正单元函数),泄露ReLu(泄露修正单元函数).它们的图形如下: sigmoid()激活函数,范围是y属于{0, 1},所以0<= y <=1.但是sigmoid函数平均收敛是1,最后的效果可能不太好. 在这个基础上有了tanh激活函数.图形如下: 主要是把sigmoid函数平移得到的.但是这样会有了优化,最终的平均收敛值为0,训练效果更好.所以在实际中,一般是选用ta…
笔记: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):用来…
神经网络基础 1.图计算 计算时有两种方法:正向传播和反向传播.正向传播是从底层到顶层的计算过程,逐步推出所求公式.反向传播是从顶层到底层,从已知的式子求出因变量的影响关系. 在这里用到的反向传播算法就是为了通过似然函数(成本函数)来确定要计算的参数. 在这里,logistic回归应用了反向传播,主要是为了方便梯度下降算法的计算,来逐次逼近w和b.通过图片看到,反向传播其实就是微积分里的“链式法则”.这块可能要补补微积分才能更深入学习.这里先跳过,反正是明白了logistic回归中的梯度下降应用…
深层神经网络 深层神经网络的组成如图,这里主要是深层神经网络符号的定义. 为什么要用深层神经网络,有什么好处?这里主要是分层的思想.在软件工程中,如果问题遇到困难,一般是通过“加多”一层的方法来解决,通过分层的思想,把每一层的功能解耦.方便整个网络的搭建,方便开发和方便对问题的人脑模拟. 再看这图.分层的好处是每一层有特定的功能,然后组成更复杂的网络,这样可以实现解决更复杂的问题(比如异或) 矩阵的维数要如何确定?先通过W X来确定偏置b的维数,矩阵的维数影响整个网络的计算. 如图是搭建神经网络…
浅层神经网络 初步了解了神经网络是如何构成的,输入+隐藏层+输出层.一般从输入层计算为层0,在真正计算神经网络的层数时不算输入层.隐藏层实际就是一些算法封装成的黑盒子.在对神经网络训练的时候,就是对神经网络的神经元求出最合适的参数. 从这图也也看出,每层神经网络的单个神经元就是一些算法计算. 并且是针对一层的每个神经元的计算逻辑都是一样的,只不过是样本不一样.因此,在这里引出向量化来简化计算. 右图看到如何把神经网络向量化 这里是m维特征输入的向量化过程. 小结 这里的笔记是第三周浅层神经网络的…
Andrew Ng机器学习课程笔记(四)之神经网络 版权声明:本文为博主原创文章,转载请指明转载地址 http://www.cnblogs.com/fydeblog/p/7365730.html 前言 学习了Andrew Ng课程,开始写了一些笔记,现在写完第5章了,先把这5章的内容放在博客中,后面的内容会陆续更新! 这篇博客主要记录Andrew Ng课程第四章和第五章的神经网络,主要介绍前向传播算法,反向传播算法,神经网络的多类分类,梯度校验,参数随机初始化,参数的更新等等 1.神经网络概述…
深度学习 Introducing convolutional networks:卷积神经网络介绍 卷积神经网络中有三个基本的概念:局部感受野(local receptive fields), 共享权重( shared weights), 池化( pooling). 与前面的神经网络不同,在这里我们用下图中的矩阵来表示输入神经元. 在cnn中,输入层的一个区域(例如,5 * 5)对应下一层隐含层中的一个神经元,这个区域就是一个局部感受野.如下图所示: 通过在输入矩阵中滑动局部感受野来对应隐含层中的…
版权声明:本文为博主原创文章,欢迎转载,并请注明出处.联系方式:460356155@qq.com 在前两篇文章MINIST深度学习识别:python全连接神经网络和pytorch LeNet CNN网络训练实现及比较(一).MINIST深度学习识别:python全连接神经网络和pytorch LeNet CNN网络训练实现及比较(二)中,采用全连接神经网络(784-300-10),分别用非深度学习框架和基于pytorch实现,训练结果相当. 这里采用卷积神经网络(CNN)中著名的LeNet-5网…
目录 第一周(深度学习的实践层面) 第二周(优化算法) 第三周(超参数调试.Batch正则化和程序框架) 目标: 如何有效运作神经网络,内容涉及超参数调优,如何构建数据,以及如何确保优化算法快速运行,从而使学习算法在合理时间内完成自我学习. 第一周(深度学习的实践层面) 如何选取一个神经网络的训练集.验证集和测试集呢? 如果数据量比较少,例如只有100条,1000条或者1万条数据,按照60%.20%.20%划分是比较合理的,但是在目前大部分数据都是远远大于这个数理级,也可以说是大数据规模的级别.…
3.1调试处理 (1)不同超参数调试的优先级是不一样的,如下图中的一些超参数,首先最重要的应该是学习率α(红色圈出),然后是Momentum算法的β.隐藏层单元数.mini-batch size(黄色圈出).再之后是Layer.learning rate decay(紫色圈出).最后是Adam算法中的β1.β2.ε. (2)用随机取值代替网格点取值.下图左边是网格点取值,如果二维参数中,一个参数调试的影响特别小,那么虽然取了25个点,其实只相当于取了5个不同的点:而右图中随机取值取了多少个点就代…
UFLDL深度学习笔记 (六)卷积神经网络 1. 主要思路 "UFLDL 卷积神经网络"主要讲解了对大尺寸图像应用前面所讨论神经网络学习的方法,其中的变化有两条,第一,对大尺寸图像的每个小的patch矩阵应用相同的权值来计算隐藏层特征,称为卷积特征提取:第二,对计算出来的特征矩阵做"减法",把特征矩阵纵横等分为多个区域,取每个区域的平均值(或最大值)作为输出特征,称为池化.这样做的原因主要是为了降低数据规模,对于8X8的图像输入层有64个单元,而100X100的图像…
深度学习 (DeepLearning) 基础 [4]---欠拟合.过拟合与正则化 Introduce 在上一篇"深度学习 (DeepLearning) 基础 [3]---梯度下降法"中我们介绍了梯度下降的主要思想以及优化算法.本文将继续学习深度学习的基础知识,主要涉及: 欠拟合和过拟合 正则化 以下均为个人学习笔记,若有错误望指出. 欠拟合和过拟合 要理解欠拟合和过拟合,我们需要先清楚一对概念,即偏差和方差. 偏差和方差是深度学习中非常有用的一对概念,尤其是可以帮助我们理解模型的欠拟合…
1.mini-batch梯度下降 在前面学习向量化时,知道了可以将训练样本横向堆叠,形成一个输入矩阵和对应的输出矩阵: 当数据量不是太大时,这样做当然会充分利用向量化的优点,一次训练中就可以将所有训练样本涵盖,速度也会较快.但当数据量急剧增大,达到百万甚至更大的数量级时,组成的矩阵将极其庞大,直接对这么大的的数据作梯度下降,可想而知速度是快不起来的.故这里将训练样本分割成较小的训练子集,子集就叫mini-batch.例如:训练样本数量m=500万,设置mini-batch=1000,则可以将训练…
目录 一. 改善过拟合问题 Bias/Variance 正则化Regularization 1. L2 regularization 2. Dropout正则化 其他方法 1. 数据变形 2. Early stopping 二. 特征缩放 1. 归一化 2. 标准化 三. 初始化参数 梯度消失.梯度爆炸 四. 梯度检验 在神经网络实施梯度检验的实用技巧和注意事项 五. 优化算法 1. mini-Batch梯度下降法 2. 动量梯度下降法 指数加权平均 指数平均加权的偏差修正 动量梯度下降法公式…
1.超参数调试: (1)超参数寻找策略: 对于所有超参数遍历求最优参数不可取,因为超参数的个数可能很多,可选的数据过于庞大. 由于最优参数周围的参数也可能比较好,所以可取的方法是:在一定的尺度范围内随机取值,先寻找一个较好的参数,再在该参数所在的区域更精细的寻找最优参数. (2)选择合适的超参数范围: 假设 n[l] 可选取值 50~100:在整个范围内随机均匀取值 选取神经网络层数 #layers,L的可选取值为 2~4:在整个范围内随机均匀取值 学习速率 α 的可选取值 0.0001~1:在…
目录 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. 应用机器学习是高度依赖迭代尝试的,不要指望一蹴而就,必须不断调参数看结果,根据结果再继续调参数. 2. 数据集分成训练集(training set).验证集(validation/development set).测试集(test set). 对于传统的机器学习算法,数据量(比如100.1000.10000),常用的分法是70%训练集/30%测试集.60%训练集/20%验证集/20%测试集. 对于大数据(比如100万),可能分法是98%训练集/1%验证集/1%测试集.99.5%训练集/0.…
1. 应用机器学习是高度依赖迭代尝试的,不要指望一蹴而就,必须不断调参数看结果,根据结果再继续调参数. 2. 数据集分成训练集(training set).验证集(validation/development set).测试集(test set). 对于传统的机器学习算法,数据量(比如100.1000.10000),常用的分法是70%训练集/30%测试集.60%训练集/20%验证集/20%测试集. 对于大数据(比如100万),可能分法是98%训练集/1%验证集/1%测试集.99.5%训练集/0.…
觉得有用的话,欢迎一起讨论相互学习~Follow Me 1.10 梯度消失和梯度爆炸 当训练神经网络,尤其是深度神经网络时,经常会出现的问题是梯度消失或者梯度爆炸,也就是说当你训练深度网络时,导数或坡度有时会变得非常大,或非常小,甚至以指数方式变小.这加大了训练的难度. 假设你正在训练一个很深的神经网络,并且将其权重命名为"W[1],W[2],W[3],W[4]......W[L]" 为了简化说明,我们选择激活函数为g(z)=z(线性激活函数),b[l]=0(即忽略偏置对神经网络的影响…
觉得有用的话,欢迎一起讨论相互学习~Follow Me 1.4 正则化(regularization) 如果你的神经网络出现了过拟合(训练集与验证集得到的结果方差较大),最先想到的方法就是正则化(regularization).另一个解决高方差的方法就是准备更多的数据,这也是非常可靠的方法. 正则化的原理 正则化公式简析 L1范数:向量各个元素绝对值之和 L2范数:向量各个元素的平方求和然后求平方根 Lp范数:向量各个元素绝对值的p次方求和然后求1/p次方 L∞范数:向量各个元素求绝对值,最大那…
觉得有用的话,欢迎一起讨论相互学习~Follow Me 1.1 训练/开发/测试集 对于一个数据集而言,可以将一个数据集分为三个部分,一部分作为训练集,一部分作为简单交叉验证集(dev)有时候也成为验证集,最后一部分作为测试集(test).接下来我们开始对训练集执行训练算法,通过验证集或简单交叉验证集选择最好的模型.经过验证我们选择最终的模型,然后就可以在测试集上进行评估了.在机器学习的小数据量时代常见的做法是将所有数据三七分,就是人们常说的70%训练集集,30%测试集,如果设置有验证集,我们可…
不多说,直接上干货! 卷积神经网络(ConvolutionalNeural Networks,简称CNN)提出于20世纪60年代,由Hubel和Wiesel在研究猫脑皮层中用于局部敏感和方向选择的神经元时发现. CNN是目前深度学习最大的一个流派,其应用优点在于避免了对图像的复杂前期预处理,可以直接处理原始图像.CNN核心在于“卷积”,传统机器学习中LBP.HOG等特征都可以看作是卷积的一种特殊形式,“卷积”以不同的参数来描述不同的抽象程度特征,更接近于原始图像的“特征抽象”. 如上图所示,利用…
工作环境 系统:Ubuntu LTS 显卡:GPU NVIDIA驱动:410.93 CUDA:10.0 Python:.x CUDA以及NVIDIA驱动安装,详见https://www.cnblogs.com/orzs/p/10951473.html 需要部署的软件 conda环境 nccl2环境 openmpi环境 horovod环境 1. 创建conda环境 官网下载地址:https://www.anaconda.com/distribution/#download-section 下载合适…
博主 撸的  该节 代码 地址 :https://github.com/LemonTree1994/machine-learning/blob/master/%E5%90%B4%E6%81%A9%E8%BE%BE%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/Untitled%20Folder%202/Untitled%20Folder%203/tf_tutorial.ipynb 博主参考的大牛(CSDN  何宽)的实践 :https://blog.csdn.net/u…