干货|吴恩达 DeepLearning.ai 课程提炼笔记(1-3)神经网络和深度学习 --- 浅层神经网络

2017 年 10 月 4 日 机器学习研究会

以下为在Coursera上吴恩达老师的DeepLearning.ai课程项目中,第一部分《神经网络和深度学习》第三周课程部分关键点的笔记。

笔记并不包含全部小视频课程的记录,如需学习笔记中舍弃的内容请至Coursera 或者 网易云课堂。同时在阅读以下笔记之前,强烈建议先学习吴恩达老师的视频课程。


1
神经网络表示



简单神经网络示意图:



神经网络基本的结构和符号可以从上面的图中看出,这里不再复述。


主要需要注意的一点,是层与层之间参数矩阵的规格大小:




2
计算神经网络的输出



除输入层之外每层的计算输出可由下图总结出:



其中,每个结点都对应这两个部分的运算,z运算和a运算。 在编程中,我们使用向量化去计算神经网络的输出:



在对应图中的神经网络结构,我们只用Python代码去实现右边的四个公式即可实现神经网络的输出计算。



3
向量化实现




假定在m个训练样本的神经网络中,计算神经网络的输出,用向量化的方法去实现可以避免在程序中使用for循环,提高计算的速度。


下面是实现向量化的解释:




通过向量化,可以更加便捷快速地实现神经网络的计算。



4
激活函数的选择



几种不同的激活函数 g(x) :




激活函数的选择:


sigmoid函数和tanh函数比较:



然而sigmoid和tanh函数在当 |z| 很大的时候,梯度会很小,在依据梯度的算法中,更新在后期会变得很慢。在实际应用中,要使 |z| 尽可能的落在0值附近。


ReLU弥补了前两者的缺陷,当 z>0 时,梯度始终为1,从而提高神经网络基于梯度算法的运算速度。然而当 z<0 时,梯度一直为0,但是实际的运用中,该缺陷的影响不是很大。


Leaky ReLU保证在 z<0 的时候,梯度仍然不为0。


在选择激活函数的时候,如果在不知道该选什么的时候就选择ReLU,当然也没有固定答案,要依据实际问题在交叉验证集合中进行验证分析。



转自:机器学习算法与自然语言处理


完整内容请点击“阅读原文”

登录查看更多
0

相关内容

人工神经网络(Artificial Neural Network,即ANN ),是20世纪80 年代以来人工智能领域兴起的研究热点。它从信息处理角度对人脑神经元网络进行抽象, 建立某种简单模型,按不同的连接方式组成不同的网络。在工程与学术界也常直接简称为神经网络或类神经网络。神经网络是一种运算模型,由大量的节点(或称神经元)之间相互联接构成。每个节点代表一种特定的输出函数,称为激励函数(activation function)。每两个节点间的连接都代表一个对于通过该连接信号的加权值,称之为权重,这相当于人工神经网络的记忆。网络的输出则依网络的连接方式,权重值和激励函数的不同而不同。而网络自身通常都是对自然界某种算法或者函数的逼近,也可能是对一种逻辑策略的表达。 最近十多年来,人工神经网络的研究工作不断深入,已经取得了很大的进展,其在模式识别、智能机器人、自动控制、预测估计、生物、医学、经济等领域已成功地解决了许多现代计算机难以解决的实际问题,表现出了良好的智能特性。
【2020新书】监督机器学习,156页pdf,剑桥大学出版社
专知会员服务
151+阅读 · 2020年6月27日
神经网络的拓扑结构,TOPOLOGY OF DEEP NEURAL NETWORKS
专知会员服务
31+阅读 · 2020年4月15日
【课程】伯克利2019全栈深度学习课程(附下载)
专知会员服务
56+阅读 · 2019年10月29日
深度学习算法与架构回顾
专知会员服务
81+阅读 · 2019年10月20日
吴恩达团队:神经网络如何正确初始化?
AI100
10+阅读 · 2019年5月15日
【吴恩达deeplearning.ai笔记二】通俗讲解神经网络上
机器学习研究会
4+阅读 · 2018年3月10日
干货 | 深度学习之CNN反向传播算法详解
机器学习算法与Python学习
17+阅读 · 2017年11月21日
干货|浅谈神经网络中激活函数的设计
机器学习研究会
5+阅读 · 2017年10月28日
笔记 | 吴恩达Coursera Deep Learning学习笔记
AI100
4+阅读 · 2017年9月27日
干货 | 深度学习之损失函数与激活函数的选择
机器学习算法与Python学习
15+阅读 · 2017年9月18日
Arxiv
102+阅读 · 2020年3月4日
Arxiv
45+阅读 · 2019年12月20日
Efficiently Embedding Dynamic Knowledge Graphs
Arxiv
14+阅读 · 2019年10月15日
SepNE: Bringing Separability to Network Embedding
Arxiv
3+阅读 · 2019年2月26日
dynnode2vec: Scalable Dynamic Network Embedding
Arxiv
14+阅读 · 2018年12月6日
Arxiv
5+阅读 · 2018年5月5日
Arxiv
8+阅读 · 2018年1月19日
VIP会员
相关VIP内容
相关资讯
吴恩达团队:神经网络如何正确初始化?
AI100
10+阅读 · 2019年5月15日
【吴恩达deeplearning.ai笔记二】通俗讲解神经网络上
机器学习研究会
4+阅读 · 2018年3月10日
干货 | 深度学习之CNN反向传播算法详解
机器学习算法与Python学习
17+阅读 · 2017年11月21日
干货|浅谈神经网络中激活函数的设计
机器学习研究会
5+阅读 · 2017年10月28日
笔记 | 吴恩达Coursera Deep Learning学习笔记
AI100
4+阅读 · 2017年9月27日
干货 | 深度学习之损失函数与激活函数的选择
机器学习算法与Python学习
15+阅读 · 2017年9月18日
相关论文
Arxiv
102+阅读 · 2020年3月4日
Arxiv
45+阅读 · 2019年12月20日
Efficiently Embedding Dynamic Knowledge Graphs
Arxiv
14+阅读 · 2019年10月15日
SepNE: Bringing Separability to Network Embedding
Arxiv
3+阅读 · 2019年2月26日
dynnode2vec: Scalable Dynamic Network Embedding
Arxiv
14+阅读 · 2018年12月6日
Arxiv
5+阅读 · 2018年5月5日
Arxiv
8+阅读 · 2018年1月19日
Top
微信扫码咨询专知VIP会员