前向神经网络的分析介绍

Source

目录

1 感知器

2 BP算法


前向神经网络包括输入层、隐层和输出层,如下图所示。

图1. 3层神经网络 

 在前向神经网络中,只有前后相邻两层之间的神经元之间相互连接,各神经元之间并没有反馈。每个神经元可以从前一层接收多个输入,并且只有一个输出给下一层的神经元。

1 感知器

感知器是一种早期的神经网络,由美国人F.Rosenblatt提出。感知器中第一次引入了学习的概念,使人脑所具备的学习功能在基于符号处理的数学模型中得到了一定程度的模拟,所以引起了广泛的关注。感知器是最简单的前向神经网络。主要用于模式分类,其模型如下图2所示。

图2. 单层感知器

 感知器处理单元对n个输入进行加权和操作,并输出为

图3.两个输入的判别边界实例

2 BP算法

相比感知器而言,多层网络的学习能力强得多。若想要寻来你多层网络,则需要强大的学习算法。误差逆传播算法(BP算法)就是其中最为接触的代表,它是迄今为止最为成功的神经网络算法明显是任务中使用神经网络时大多是在使用BP算法进行训练。

1986年,和领导的科学家小组《并行分布式处理》一书中,对神经网络赛诺菲进行了详尽的分析,实现了关于多层网络的设想。算法的基础思想是学习过程由信号的正向传播与误养的反向传播两个过程组成。正向传播时,输人样本从输入层传入,经过各隐层处理后传向输出层,若输出层的实际输出与期望的输出不相等,并转到误差的反向传播。误差反向传播是将输出误差以某种形式通过隐层逐层反传,并将五擦汗反弹到各层的所有神经元从而获得各层神经元的误差信号,此误差信号即作为修正各神经元权值的依据。这种信号正向传播与误并反向件播的各层权值调整过程周而复始的。权值在不断调整的过程中也就是网络的学习训练过程,此过程一直进行到网络输出的误差减少到可接受的程度,或者余弦设定学习时间、学习次数。

隐层与输出层的神经元的操作特性表示为:

 激活函数f(.)设计为非线性的输入-输出关系,一般选用下面形式的Sigmoid函数(通常称为函数,如图4所示)

图4 S函数

式中系数决定着S函数压缩的程度。而S函数有如下特点:

①它是有上、下界的

②它是单调增长的

③它是连续光滑的,即是连续可微的

④它可使同一网络既能处理小信号,也能处理大信号,因为该函数中区的高增益部分解决了小信号需要高放大倍数的问题;而两侧的低增益区正好适用于处理大的净输入信号。

Rumelhart等为BP设计了依据反向传播的误差来调整神经元连接权的学习算法,有效地解决了多层神经网络的学习问题。该算法的基本思路是:当给网络提供一个输入模式时,该模式由输入层传送到隐层,经隐层神经元作用函数处理后传送到输出层再经由输出层神经元作用函数处理后产生一个输出模式。如果输出模式与期望的输出模型有误差,就从输出层反向将误差逐层传送到输出层,把误差“分摊”给各神经元并修改连接权,使网络实现从输入模型到输出模式的正确映射。对于一组训练模式,可以逐个用训练模型作为输入,反复进行误差检测和反向传播过程直到不出现误差为止。(此时BP网络完成学习阶段,具备了所需的映射能力)

 BP网络的学习算法采用的是Delta学习规则,即基于使输出方差最小的思想而建立的规则。设共有P个模式对(一组输入和一组目标输出组成一个模式对),当P个模式作用时,输出出层的误差函数定义为:

 

权的修正是采用批处理的方式进行的,也就是在所有样本输入后,计算其总的误差,然后根据误差来修正权值。采用批处理可以保证其方向减少,在样本数较多时,它比分别处理的收敛速度快。

在BP网络中,信号正向传播与误差逆向传播的各层权矩阵的修改过程是周而复始进行的。权值不断修改的过程,也就是网络的学习(或称训练)过程。此过程一直进行到网络输出的误差逐渐减少到可接受的程度或达到设定的学习次数为止。学习完成后,网络可进入工作阶段。当待测样本输入到已学习好神经网络输入端时,根据类似输入产生类似输出的原则,神经网络按内插或外延的方式在输出端产生相应的映射。

如图5所示为一个三层神经网络

图5. 三层神经网络结构图