神经网络分享

神经网络笔记(针对西瓜书的分享)

此次分享出处是西瓜书中的神经网络章节,2018年10月22日,我在实验室进行分享,当时作为刚入学的萌新,师兄针对整本西瓜,让我们每个新生分享一章内容,主要是为了鞭策我们机器学习入门,还有尽快适应实验室组会。因为之前一直忙着也没有整理自己的博客,现下已签了工作,导师也没有入手新的项目,就整理一下之前在组会上做的分享,就当是自己的复习课了。如果有不对的地方欢迎大家批评指正。—— DUTIR实验室生物信息组组会。

感知机

M-P神经元模型
神经网络中最基本的成分是神经元模型,1943年就提出如图所示的M-P神经元模型,在这个模型中神经元接受来自n个其他神经元传递过来的信号,这些输入信号通过带权重的连接进行传递,神经元接收到的总输入值将与神经元的阈值进行比较,然后通过激活函数处理以产生神经元的输出。

M-P神经元模型
下图是多层感知机的基本结构—多层前馈神经网络
感知机是由两层神经元组成(输入和输出两层),通过设置权重能容易的实现逻辑与或非运算(线性可分问题)。但是无法解决异或问题,所以就有了多层感知机。下图是比较简单的单隐层前馈网络,输入层仅是接受输入,隐层和输出层包含功能神经元,神经元的学习过程,就是根据训练数据来调整神经元之间的连接权以及每个功能神经元的阈值。
多层感知机

BP算法

BP算法基于梯度下降策略,以目标的负梯度方向对参数进行调整训练多层网络算法,BP是一个迭代学习算法,在迭代的每一轮中采用广义的感知机学习规则对参数进行更新估计。
BP
具体公式如下:
输入训练集和学习率;在(0,1)范围内初始化网络中的所有连接权和阈值;根据当前参数,计算当前样本输出。根据公式计算输出层神经元的梯度项g,隐层神经元梯度项e,在更新连接权和阈值。循环上述过程直到达到相应的停止条件。
BP算法公式
BP算法可以分类两类:一类是标准的BP算法,它的每次更新只针对单个样例,它的特点是更新频繁,达到同样的累积误差极小点需要进行更多次的迭代;另一类是累积BP算法:针对累积误差最小化,读取整个训练集一遍后对参数进行更新,它的特点是累积误差下降到一定程度后进一步下降会很慢。在大训练集上标准BP算法能获得最优解。为了缓解BP网络过拟合有如下策略:
1.早停:将数据集分成训练集和验证集,验证集用来估计误差,若训练集误差降低但验证集误差升高,停止训练,返回具有最小验证集误差的连接权和阈值。
2.正则化:是在误差目标函数中增加一个用于描述网络复杂度的部分,其中入用于对经验误差与网络复杂度这两项进行折中,常通过交叉验证法来估计。

激活函数

激活函数sigmoid
激活函数主要作用是为隐含层引入非线性,加入非线性后多层神经网络的预测能力就得到显著提高,如果都是线性函数,隐含层没有用了,因为线性函数的函数还是线性函数。书上介绍了两个激活函数,一个是阶跃函数,它将输入值映射为输出值0和1,但它是理想中的激活函数,不连续不光滑,所以实际中常用sigmoid函数作为激活函数,它把可能较大范围内变化的输入值挤压到(0,1)输出值范围内。梯度消亡是指梯度(误差的信号)随着隐藏层数的增加成指数减小。这是因为在向后传播算法中,对梯度的计算使用链式法则,因此在第n层时需要将前面各层的梯度都相乘,但是由于值域在01之间,因此多个很小的数相乘以后第n层的梯度就会接近于0;sigmoid向下传导的梯度包含了一个f’(x) 因子(sigmoid关于输入的导数),一旦输入落入饱和区,f’(x) 就会变得接近于0,导致了向底层传递的梯度也变得非常小。一般来说, sigmoid 网络在 5 层之内就会产生梯度消失现象。
激活函数

激活函数tanh
1.tanh网络的收敛速度要比sigmoid快
2.tanh 的输出均值比 sigmoid 更接近 0
3.降低所需的迭代次数
4.但未解决梯度消失问题
吴恩达老师教学视频中提到过tanh在绝大多数情况下都比sigmoid有更好的性能

tanh
激活函数relu
由图可见,ReLU 在x<0 时硬饱和。由于 x>0时导数为 1,所以,ReLU 能够在x>0时保持梯度不衰减,从而缓解梯度消失问题。但随着训练的推进,部分输入会落入硬饱和区,导致对应权重无法更新。这种现象被称为“神经元死亡”
relu

激活函数总结
  • Sigmoid:对于只有0,1取值的双值因变量(二分类)
  • Softmax:对于多个取值的离散因变量(多分类)
  • tanh:对于有有限值域的连续因变量
  • relu:因变量取值为正,但是没有上限
  • 线性函数:因变量没有有限值域,或者虽然有有限值域但是边界未知

常见神经网络

RBP(radial basis function,径向基函数)网络

单隐层前馈神经网络
优势:足够多隐层神经元的RBF网络能以任意精度逼近任意连续函数

ART(adaptive resonance theory,自适应谐振理论)网络

-竞争型学习网络的代表
-组成:比较层、识别层、识别阈值和重置模块
-竞争方式:计算输入量与识别层神经元代表向量之间的距离,距离最小者胜

SOM(self-organizing map,自组织映射)网络
  • 竞争学习型的无监督网络
  • 将高维输入数据映射到低维空间(通常二维)
级联相关(cascade-correlation)网络
  • 将网络结构也当作学习的目标之一
  • 两个主要成分:级联和相关
  • 优势:无需设置网络层数、隐层神经元数目,训练快
Elman网络
  • 一种递归神经网络
  • 隐层神经元用sigmoid函数激活
  • 训练用BP算法
Boltzmann机

1985,玻尔兹曼机是一种基于能量的模型,神经网络的变化过程实质上是一个能量不断减少的过程,最终达到能量的极小值,即稳态。神经元分为两层:显层和隐层,显层用于表示数据的输入与输出,隐层则被理解为数据的内在表达;标准玻尔兹曼机是一个全连接图,复杂度高,不便于训练,实际中常采用受限玻尔兹曼机(Restricted Boltzmann Machine RBM),RBM可以用于降维,学习特征,深度信念网络等;深度信念网络每层都是一个受限的Boltzmann机,即整个网络可视为若干个RBM堆叠而得。就是把原始数据输入到最下面的RBM可视层中,然后训练RBM1,训练完成之后把RBM1的隐含层作为RBM2的可视层,继续训练RBM2,直到训练完成为止。深度信念网络就是指能够通过概率大小学习的神经网络。

  • 一种基于能量的模型,神经元都是布尔型的
  • 将每个训练样本视为一个状态向量,使其出现的概率尽可能大
  • 应用:降维、学习特征、深度信念网络

深度学习

无监督逐层训练是多隐层训练的有效手段,基本思想是每次训练一层隐结点(语言模型预训练和词向量训练都是基于这种思想的),预训练全部完成后,在对整个网络进行微调。用预训练+微调的做法可视为将大量参数分组,对每组先找到局部看起来比较好的设置,然后在基于这些局部较优的结果联合起来进行全局寻优。每个卷积层都包含多个特征映射,每个特征映射是一个由多个神经元构成的平面,通过一种卷积滤波器提取输入的一种特征,每个平面都是相同的连接权,从而减少了需要训练的参数数目。

[1]: 周志华. 机器学习 : = Machine learning[M]. 清华大学出版社, 2016.
[2]: https://blog.csdn.net/hornkeen/article/details/76696559
[3]: https://blog.csdn.net/zb1165048017/article/details/49385359
[4]: https://wenku.baidu.com/view/daf6ddcb1a37f111f0855b08.html
[5]: https://blog.csdn.net/weixin_39561100/article/details/79559121
[6]: https://blog.csdn.net/changdejie/article/details/78102894

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值