第7章 7.2 典型神经网络--BP;反向传播网络
Back—Propagation Network,由于其权值的调整采用反向传播(Backpropagation)的学习算法,因此被称为BP网络。;BP网络
是一种单向传播的多层前向网络
其神经元的变换函数是S型函数,因此输出量为0到1之间的连续量
它可以对非线性可微分函数进行权值训练,从而实现输入到输出的任意的非线性映射。
; 网络中心思想是梯度下降法
通过梯度搜索技术,使网络实际输出值与期望输出值的误差均方值最小。;网络的学习过程是一种误差边向后传播边修正权系数的过程;7.2.2 BP网络结构 ;BP网络是一种多层前向神经网络;1)输入层单元无转换函数,直接接收信号传给下一层,所以有些书不认为输入层是一个网络层。
2)在一般情况下,均是在隐含层采用 S 型激活函数,而输出层采用线性激活函数。;BP网络特点;感知机网络利用输出误差只能修改最后一层的权值;BP学习规则 ;其主要思想为:
对于q个输入学习样本:
P1,P2,……Pq,
已知与其对应的输出样本为:
T1,T2,……Tq。
学习的目的:
是用网络的实际输出A1,A2,……Aq与目标矢量T1,T2,……Tq之间的误差来修改其权值
使Al (l=l,2…,q)与期望的Tl尽可能地接近;
即:
使网络输出层的误差平方和达到最小。
;BP算法的学习过程由
正向传播和反向传播组成; BP算法是由两部分组成:信息的正向传递与误差的反向传播。
在正向传播过程中,输入信息从输入经隐含层逐层计算传向输出层,每一层神经元的状态只影响下一层神经元的状态。
;如果在输出层没有得到期望的输出,则计算输出层的误差变化值,然后转向反向传播,通过网络将误差信号沿原来的连接通路反传回来修改各层神经元的权值直至达到期望目标。;BP网络用途
1)函数逼近:用输入矢量和相应的输出矢量训练一个网络逼近—个函数;
2)模式识别:用一个特定的输出矢量将它与输入矢量联系起来;
3)分类:把输入矢量以所定义的合适方式进行分类;
4)数据压缩:减少输出矢量维数以便于传输或存储。 ;BP网络的逼近;用于???近的BP网络;前向传播:计算网络输出
;;;;;BP网络逼近仿真;设计的网络结构为2-6-1;
权值w1,w2的初值取[-1,+1]之间的随机值,
取;;;;;;;;;; 初始化 ;BP网络模式识别;BP网络的训练过程 ; 为了能够较好地掌握BP网络的训练过程,我们再用两层网络为例来叙述BP网络的训练步骤。
1)用小的随机数对每一层的权值W初始化,以保证网络不被大的加权输入饱和;
2)计算网络各层输出矢量A1和A2以及网络误差E;
3)计算各层反传的误差变化并计算各层权值的修正值以及新权值
4)再次计算权值修正后误差平方和:
5)检查误差是否小于给定误差,若是,训练结束;否则继续。
;以上所有的学习规则与训练的全过程,仍然可以用函数trainbp.m来完成。它的使用同样只需要定义有关参数:显示间隔次数,最大循环次数,目标误差,以及学习速率,而调用后返回训练后权值,循环总数和最终误差:
TP=[disp_freq max_epoch err_goal 1r];
[W,B,epochs,errors]=trainbp(W,B,’F’,P,T,TP); ;基于BP算法的多层前馈网络用图像压缩编码;用多层前馈网实现图像数据压缩时,只需一个隐层,如图;输入层和输出层均含有n*n个神经元,每个神经元对应于n*n图像分块中的一个像素。隐层神经元的数量由图像压缩比决定,如n=16时,取隐层神经元数为m=8,则可将 256像素的图像块压缩为8像素。;黑白图像的边缘检测:;分析BP网络结构特点:
1. BP网络具有一层或多层隐含层,与其他网络模型除了结构不同外,主要差别表现在激活函数上。
;
2. BP网络的激活函数必须是处处可微的,所以它就不能采用二值型的阀值函数{0,1}或符号函数{—1,1},BP网络经常使用的是S型的对数或正切激活函数和线性函数。;3. 只有当希望对网络的输出进行限制,如限制在0和1之间,那么在输出层应当包含S型激活函数,在一般情况下,均是在隐含层采用S型激活函数,而输出层采用线性激活函数。 ;
4、输入和输出是并行的模拟量;
5、网络的输入输出关系是各层连接的权因子决定,没有固定的算法;;6、权因子是通过
原创力文档

文档评论(0)