深度学习入门
Lucky_Go
这个作者很懒,什么都没留下…
展开
-
[深度学习-1.1] 单神经元和Logistic回归解决二分类问题
开始短短续续看吴恩达老师的深度学习课程一段时间了,学习完了第一部分,不管是看视频还是做课后练习都让我有疯狂吹一下这个课程的冲动,是真的讲的很好啊!!看完也想着自己慢慢总结一下加深理解,嗯,希望我不是下一个从入门到放弃的案例单神经元(感知机)感知机听着高大上一点,但是单神经元还是通俗易懂,就是字面意思一个神经元,这个概念来源于生物学,当一个神经元受到刺激信号(输入),自身的电位就会发生变化,如...原创 2019-04-11 21:16:11 · 960 阅读 · 2 评论 -
[深度学习-1.2] 神经网络中常用的激活函数
激活函数的作用 对于一个神经网络中的神经元(节点),需要根据输入计算这个神经元的输出(节点激活值)。以下图表示的这个神经元为例,计算它的输出包括两步对输入值的线性加权,z=∑i=13wixi+bz=\sum_{i=1}^{3} w_{i} x_{i}+bz=∑i=13wixi+b;对加权和 zzz 进行非线性变换,y=f(z)y=f(z)y=f(z)这里 fff 是激活函数,一...原创 2019-04-14 16:13:48 · 1271 阅读 · 0 评论 -
[深度学习-1.3] 建立一个单隐层的神经网络
前面总结了利用单神经元和Logistic回归解决简单的二分类问题,接下来就是建立一个简单的BP神经网络模型了,也就是简单的输入层-隐藏层-输出层网络模型,相比起之前的模型仅仅多了一个隐藏层。 先给出直观的网络示意图(注:图来源于吴恩达老师深度学习课程JupterNotebok):模型解释 输入层 x⃗=[x1,x2,...,xn]T\vec{x}=[x_1, x_2,...,x_n]^T...原创 2019-05-01 19:43:10 · 1574 阅读 · 0 评论 -
[深度学习-1.4] 构建深层神经网络并实现MNIST手写数字识别
许多情况下浅层的神经网络(包括之前的逻辑回归和单隐层神经网络)效果可能并不理想,这就是为什么要用深层神经网络的原因,我个人觉得深层网络之所以表现好的原因可能随着隐藏层的增多,样本不同"Level"的特征能够被充分发掘和利用? 本文开始构建一个深层神经网络模型并实现MINIST手写数字的识别。MINIST数据集 MISIST数据集是一个手写数字图片数据集,可以在 http://yann.l...原创 2019-05-14 15:29:51 · 715 阅读 · 0 评论 -
[深度学习-2.1] 训练集、验证集和测试集
为什么要设置训练集、验证集和测试集 在训练一个神经网路的时候,通常我们最初并不知道怎么样的超参数配置才能让我得到一个高性能的网络,这些超参数包括神经网络的层数,每一层的神经元数量,每层的激活函数选择以及学习率等。所以一般的做法都是先构建一个具有特定结构的神经网络,然后编程实现,接下来根据程序的输出结果来更新自己方案以找到更好的神经网络。 也就是重复下面这样一个过程 因此更高效的循环能...原创 2019-05-17 15:41:51 · 1879 阅读 · 0 评论 -
[深度学习-2.2] 方差和偏差的理解
高偏差对应欠拟合的情况,(模型对训练集都不能很好的拟合)高方差对应过拟合的情况(训练集误差很小,验证集误差较大)训练集误差较大,验证集误差更大,这时候是高方差和高偏差...原创 2019-05-22 20:26:57 · 1000 阅读 · 0 评论 -
[深度学习-2.4] Dropout正则化
除了L2正则化之外,还有一个很常用的正则化技巧就是Dropout(随机失活)。它的主要思想就是随机丢弃网络每一层的一些神经元。原理和实现 首先从原理上来理解一下什么是Dropout正则化。如下图所示(图片来源于吴恩达老师深度学习课程课件),左图为一个正常的网络,进行Dropout正则化就是对于每一层的单元,根据一定的概率来“删除”掉他们,如下面右图所示,以0.5的保留概率(keep-prob...原创 2019-07-09 20:49:12 · 552 阅读 · 0 评论 -
[深度学习-2.5] 梯度检验
实现神经网络的时候,如果不能确定反向传播计算梯度的时候有没有错误,这时候就可以进行梯度检验。简单来说梯度检验的目的就是检查程序反向传播部分有没有Bug。 首先来看导数的数学定义:(1)f′θ)=limε→0f(θ+ε)−f(θ−ε)2εf^{\prime} \theta )=\lim_{\varepsilon \to 0}\frac{f(\theta+\varepsilon)-f(\th...原创 2019-07-23 11:12:00 · 336 阅读 · 0 评论