浅层神经网络

1.神经网络概述

如何实现神经网络,看一个两层神经网络的例子。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.神经网络的表示

在这里插入图片描述
输入特征x1,x2,x3为输入层,中间的四个节点我们称之为隐藏层,最后的那个节点,被称为输出层,负责产生预测值。
在这里插入图片描述
这里的激活值a亦可作下一层的输入。
一个完整的两层神经网络的结构如下图所示:
在这里插入图片描述

3.计算一个神经网络的输出

神经网络的计算:首先计算出z,然后用sigmoid函数作为激活函数计算出a,一个典型的神经单元计算如下图:
在这里插入图片描述
向量化计算:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4.多样本向量化

没有向量化的计算方法:
在这里插入图片描述
向量化之后:
在这里插入图片描述
水平方向是样本m的索引,垂直方向是激活单元的索引。

5.向量化实现的解释

为什么可以实现向量化,从下图中直观的可以看出来:
在这里插入图片描述

6.激活函数

构建一个神经网络时,需要决定哪种激活函数用在隐藏层,哪种用在输出节点上。
Q1:为什么隐藏层上使用tanh效果总是优于sigmoid函数?
A:因为tanh函数值域在-1和+1之间,其均值接近零均值,这会使得下一层学习简单一点。
Q2:tanh和sigmoid的缺点是什么?
A:当z特别大或者特别小的时候,导数梯度或者函数斜率会变得特别小,接近0,降低了梯度下降的速度。
Q3:选择激活函数的经验法则?
A:二分类问题,输出层选择sigmoid函数,其他单元选择Relu函数。
sigmoid、tanh、Relu、Leaky Relu函数图像:
在这里插入图片描述
优缺点对比:

  1. Relu激活函数比sigmoid和tanh学习的更快
  2. sigmoid和tanh的导数在正负饱和区都接近0,会造成梯度弥散,Relu和Leaky Relu大于0部分为常数,不会产生梯度弥散现象。(Relu进入负半区,梯度为0,神经元停止训练,产生稀疏性,Leaky Relu不会产生这种问题)

7.为什么需要非线性激活函数

证明:如果另g(z)=z。(恒等激活函数)那么这个模型的输出y仅仅只是输入特征x的线性组合。
这个模型的复杂度和没有隐藏层的Logistic回归是一样的。
这个可以用在回归问题上,因为回归问题输出是一个实数。

8.激活函数的导数

这一块没有啥好说的,直接上结果:
1)sigmoid激活函数
在这里插入图片描述
2)tanh激活函数
在这里插入图片描述
3)ReLU
在这里插入图片描述
z=0的情况下极少。

4)Leaky ReLU
在这里插入图片描述
z=0的情况下极少。

9.神经网络的梯度下降

在这里插入图片描述
正向传播:
在这里插入图片描述
在这里插入图片描述

10.直观理解反向传播

就只有一个链式法则,能整对维度就好了。

11.随机初始化

对称问题:
在这里插入图片描述
Q:权重矩阵通常初始化一个较小的随机数?
A:使用tanh或者sigmoid激活函数,如果z过大,a就会很小,影响学习速度。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值