第五章 神经网络
5.1神经元模型
“神经网络”定义:神经网络是由具有适应性的简单单元组成的广泛并行互联的网络,它的组织能够模拟生物神经系统最真实世界物体所作出的交互反应。
- 神经网络中最基本的成分是神经元模型,即“简单单元”。
- 当每个神经元“兴奋”时,就会向项链的神经元发送化学物质,改变这些神经元内的点位;如果某神经元的点位超过了一个“阈值”,就会被激活,即”兴奋“,就会向其他神经发送化学物质。
“M-P神经元模型”
- 神经元接受到来自n个其他神经元传递过来的输入信号,这些输入信号通过带权重的链接进行传递,神经元接收到的总输入值将与神经元的与之进行比较,然后通过“激活函数”处理以产生神经元的输出。
阶跃函数
将输入值映射为输出值“0”或“1”,显然“1”对应与神经元兴奋,“0”对应于神经元抑制。
- 阶跃函数具有不连续、不光滑等不太好的性质,因此常用Sigmoid函数作为激活函数。
Sigmoid函数
把可能在较大范围内变化的输入值挤压到(0,1)输出值范围内,因此有时也称为“挤压函数”。
- 将许多个这样的神经元按一定的层次结构链接起来,就得到了神经网络。
感知机与多层网络
感知机:由两层神经 元组成,输入层接受外界输入信号后传递给输出层,输出层是M-P神经元,亦称”阈值逻辑单元“。
感知机学习规则
感知机只有输出层神经元进行激活函数处理,即只拥有一层功能神经元,学习能力非常有限。若两类模式是线性可分的,即存在一个线性超平面能将他们分开,则感知机的学习过程一定会收敛而求得适当的权向量,否则感知机学习过程将会发生振荡,不能求得合适解。
- 多层前馈神经网络;常见的神经网络每层神经元与下一层神经元全互连,神经元之间不存在同层连接,也不存在跨层连接。
5.3误差逆传播算法
- BP算法不仅可用于多层前馈神经网络,还可用于其他类型的神经网络。
BP算法的工作流程:
BP算法的目标是最小化训练集D上的累计误差:
- 只需要一个包含足够多神经元的隐层,多层前馈网格就能以任何精度逼近任意复杂度的连续函数。
缓解BP网络的过拟合
1、早停:将数据分成训练集和验证集,训练集用
2、正则化:在误差目标函数中增加一个用于描述网络复杂度的部分。
5.4 全局最小与局部极小
- 两种最优:“局部极小”和“全局最小”。
- 如果误差函数仅有一个局部极小,那么此时找到的局部极小就是全局最小,然而,如果误差函数具有多个局部极小,则不能保证找到的解是全局最小。
- 在显示任务中,人们常采用一下策略试图“跳出”局部极小,从而进一步接近全局最小:
** 5.5其他常见神经网络* *
5.5.1RBF网络
RBF网络是一种单隐层前馈神经网络,它使用径向基函数作为隐层神经元激活函数,而输出层则是对隐层神经元输出的线性组合,假定输入为d维向量x,输出为实值,则RBF网络克表示为:
5.5.2ART网络
- 竞争学习是神经网络中一种常用的无监督学习策略,在使用该策略时,网络的输出神经元相互竞争,每一时刻仅有一个竞争获胜的神经元被激活,其他神经元的状态被抑
制。这种机制亦称“胜者通吃”原则。
5.5.3 SOM网络
- SOM网络是一种竞争学习型的无监督神经瓦哥罗,他能将高维输入数据映射到低维空间,同时保持输入数据在高维空间的拓扑结构,即将高维空间中相似的样本点映射到网络输出层中的邻近神经元。
5.5.4 级联相关网络
级联相关网络是结构自适应网络的重要代表。
- 级联相关网络有两个主要成分:“级联”和“相关”。
1、级联:建立层次连接的层级结构。在开始训练时,网络只有出入层和输出层,处于最小拓扑结构;随着训练的进行,新的隐层神经元逐渐加入,其输入端连接权值是冻结固定的。
2、相关:通过最大化新神经元的输出与网络误差之间的相关性来训练相关参数。 - 与一般的前馈神经网络相比,级联相关网络无需设置网络层数、隐层神经元数目,且训练速度较快,但其在数据较小时易陷入过拟合。
5.5.5 Elman网络
- Elman网络是最常用的递归神经网络之一,结构与多层前馈网络很相似,但隐层神经元的输出被反馈回来,与下以时刻输入层神经元提供的信号一起,作为隐层神经元在下一时刻的输入。
- 隐层神经元通常采用Sigmoid激活函数,而网络的训练则常通过推广的BP算法进行。
5.5.6 Boltzmann机
神经网络中有一类模型是为网络状态定义一个“能量”,能量最小化时网络达到理想状态,而网络的训练就是在最小化这个能量函数。
- Boltzmann机是一种“基于能量的模型”,其神经元分为两层:显层和隐层。
1、显层用于表示数据的输入与输出;
2、隐层为数据的内在表达。 - Boltzmann机中的神经元都是布尔型,只能取0、1两种状态,状态1表示激活,状态0表示抑制。
- 若网络中的神经元以任意不依赖于输入值的顺序进行更新,则网络最终将达Boltzmann分布,此时状态向量s出现的概率将仅由其能量与所有可能状态向量的能量确定;
- Boltzmann机的训练过程就是将每个训练样本视为一个状态向量,使其出现的概率尽可能大。
- 受限机常用“对比散度”(CD算法)来进行训练。
连接权的公式:
5.6 深度学习
典型的深度学习模型就是很深层的神经网络。