一、基本概念
神经网络中最基本的成分是神经元模型。
从计算机科学的角度,神经网络就是一个包含 许多参数的数学模型,这个模型是若干个函数相互(嵌套)代入而得。
二、神经网络结构
一般的神经网络的模型如下图所示:
每一层神经元与下一层神经元全互连,神经元之间不存在同层连接,也不存在跨层连接,这样的神经网络称为“多层前馈神经网络”。
其中输入层神经元接收外界输入,隐层与输出层神经元对信号进行加工,最终结果由输出层神经元输出,即输入层神经元仅是接受输入,不进行函数处理,隐层与输出层包含功能神经元。
三、基础神经网络模型
1.感知机
感知机(Perceptron)是由两层神经元组成。
输入层接收外界输入信号后传递给输出层,输出层是M-P神经元,亦称“阈值逻辑单元”。
由上图可得,单层感知机能够容易的实现逻辑与、或、非运算
输入层和输出层之间的神经元,称为隐层或者隐含层,隐含层和输出层神经元都拥有激活函数的功能神经元。
2.BP网络
“BP网络”:是利用BP算法训练的多层前馈神经网络。
(1)BP算法
接下来讲解BP算法
误差逆传播(error BackPropagation,简称BP)算法,BP算法不仅可用于多层前馈神经网络,还可以用于其他类型的神经网络,例如训练递归神经网络,但通常说的“BP网络”时,一般是指用BP算法训练的多层前馈神经网络。
BP算法基于梯度下降(gradient descent)策略,即针对误差项保留一阶梯度,以目标的负梯度方向对参数进行调整,就可以找到一个最优的结果.
(2)累积BP算法
上面介绍的“标准BP算法”,它每次仅针对一个训练样本更新连接权值和阈值,存在一定的缺点:
针对以上的缺点,提出了累计误差逆传播(accumulated error backpropagation)算法:它在读取整个训练集一遍后才对参数进行更新,其参数更新的频率低得多。
(3)BP网络存在过拟合
BP网络存在过拟合问题,即训练误差持续降低,但是测试误差却可能上升。
解决方案:
第一种策略:早停
将数据分为训练集和验证集,训练集用来计算梯度、更新连接权重和阈值,验证集用来估计误差,若训练集误差降低但是验证集误差升高,则停止训练,同时返回具有最小验证集误差的连续权重和阈值。
第二种策略:正则化
在误差目标函数中增加一个用于描述网络复杂度的部分。
3.RBF网络
RBF(Radial Basis Function,径向基函数)网络,是一种单隐层前馈神经网络,它使用径向基函数作为隐层神经元的激活函数,而输出层则是对隐层神经元输出的线性组合。
4.竞争型学习网络
(1)竞争型学习概念
竞争型学习是神经网络中一种常用的无监督学习策略。
在使用该策略时,网络的输出神经元相互竞争,每一时刻仅有一个竞争获胜的神经元被激活,其他神经元的状态被抑制,这种抑制亦称为“胜者通吃”原则。
(2)代表网络
ART网络
SOM网络
5.深度学习模型网络
典型的深度学习模型就是很深层的神经网络,即增加隐层的数目,则相应的权重、阈值以及激活函数均会增加。针对这种多隐层的神经网络难以直接使用经典算法(例如B算法)来实现,因为误差在多隐层中逆传播时,会发散难以达到收敛稳定的状态。
解决方案:
方案一:“预训练+微调”
方案二:“权共享”