BP神经网络的不足及改进后的应用主要内容BP神经网络简介BP学习算法的不足两种BP学习算法的改进方法基于改进BP神经网络的应用1BP神经网络简介神经网络在实际应用中分为训练阶段和使用阶段训练阶段,是使用适当的学习算法调整某种结构的网络的参数,使得被训练的网络能够对样本有很好的拟合作用。BP神经网络也包括了训练和使用这两个阶段。它是前馈型神经网络,采用的是BP学习算法(后向传播学习算法)。1BP神经网络简介BP神经网络(BackPropagationFeed-forwardNeuralNetwork),即后向传播学习的前馈型神经网络前馈型网络结构:在处理样本的时候,前一层的输出即为下一层的输入反向传播:通过比较输出层的实际输出和预期的结果得到误差,然后通过相关的误差方程式调整最后一个隐含层到输出层之间的网络权重,之后是隐含层之间权重的调整,直到输入层与第一隐含层之间的网络权重调整为止1BP神经网络简介BP神经网络的训练过程(误差后向传播学习算法)开始初始化:对网络权值和阈值进行随机赋值。选取第一个输入样本迭代次数t=1前向求出各个隐含层和输出的输出求出输出层与预期输出的偏差E反向传播误差:求出所有隐含层的误差调整权值和阈值本样本训练结束?迭代次数t=t+1所有样本训练完毕?选择下一个输入样本结束否否是是2BP学习算法的不足理论上BP网络能够逼近任意非线性函数,但由于神经网络训练学习中许多参数的选择没有理论依据,使得实际中神经网络的应用具有局限性2BP学习算法的不足BP算法存在局限性与缺点的主要原因是其本身存在很多不足之处,主要有:学习过程收敛速度慢所得到的网络容错能力差误差和函数可能有局部极小值学习率不稳定(BP算法学习速度慢、容错能力差、算法不完备)2BP学习算法的不足学习过程收敛速度慢BP算法是采用对样本集进行逐一学习的方法。设样本集K={r1=(x1,y1),r2=(x2,y2)……rm=(xm,ym)},BP算法是先对r1进行学习,利用误差反向传播对网络的权值和阈值进行调整,知道调整后的网络对应关系(f(x)=y)满足:f(x1)=y1为止。利用新得的权值和阈值以及下一个样本继续调整网络的权值和阈值。但由于所得新的权值和阈值并不能保证前一个f(xi)=yi成立。为了克服着个缺点,BP算法采用不断反复循环学习,希望求得正确的解。由于反复循环学习过程需要较长时间,这样就导致了算法学习收敛速度慢。2BP学习算法的不足误差和函数可能有局部极小值BP算法本质上是以误差平方和为目标函数,用梯度法求其最小值的算法。因此只有误差平法和函数是正定的函数时,才能找到最小值,其他情况必然产生局部极小值3两种BP学习算法的改进方法针对BP学习算法的不足,研究者提出了多种改进的算法,其中典型的方法有:引入动量项:在权值调节公式中加入一个动量项。加入的动量项相当与阻尼项,它减小了学习过程中的震荡趋势,改善了收敛性能p为输入元素,k为训练次数,mc为动量因子3两种BP学习算法的改进方法变步长法:在BP学习算法中,学习率参数不易选择,选择太小,收敛太慢;选择太大,容易引起震荡甚至发散。为解决这个问题,可采用变步长方法,也可以称为自适应学习速率。当一个较大的学习速率容能够使网络稳定学习,使误差持续下降,则增加学习速率,使其以更大的学习速率进行学习。一旦学习速率调得过大,而不能保证误差继续下降,则减少学习速率直到使其学习过程稳定为止。4基于改进BP神经网络的应用神经网络在车牌字符识别中的应用一种基于改进BP神经网络的字符识别系统,克服传统BP算法最终进化至最优解较慢和神经网络易陷入局部极小值的权限通过采用改进的BP算法,大大提高了识别的速度和精确度4基于改进BP神经网络的应用此应用中采用的BP神经网络结构和设计车牌字符的特点:汉字(1),字母(2),字母或数字(3,4),数字(5-7)。根据此特点,构造4个含一个隐含层的三层BP神经网络,分别用来识别车牌的四部分汉字:13个输入节点,6个输出节点字母:13个输入节点,10个输出(实际收集的样本较少)字母或数字:13个输入节点,20个输出节点(10个字母,10个数字)数字:13个输入节点,10个输入节点4基于改进BP神经网络的应用采用13特征提取法来提取样本的特征向量作为BP网络的输入,提取步骤:把字符平均分成8分,统计每一份中黑色像素点的个数作为8个特征统计水平方向中间两列和竖直方向两列的黑色像素点的个数作为4个特征统计所有黑的像素点的个数作为第13个特征4基于改进BP神经网络的应用样本的选择与处理采集多个车牌图片,选择一部分作为训练样本,剩余部分作为测试样本将所有图片进行定位、预处理、分割以及归一化等操作,使得各原始图片变成大小都为16×16的字符图像利用13特征法进行特征提取,将其作为网络的输入4基于改进BP神经网络的应用识别数字的BP神经网络网络为三层:只包含一层隐含层隐含层的神经元数目:三层BP神经网络隐含层节点数s的经验参考公式:n,m分别为输入输出神经元个数;a为1~10之间的数字4基于改进BP神经网络的应用初始权值、传递函数以及参数的设定网络的初始权值和阈值采用随机选取的方式传递函数依次采用:transig、purelin采用附加动量项法和变长步法(自适应学习效率调整法)改进BP算法动量因子采用:mc=0.954基于改进BP神经网络的应用网络输出网络的设计是为了使其输出矢量在正确的位置上输出为1,而在其他位置上输出为0。然而噪声输入矢量可能导致网络的1或0输出不正确,或出现其他输出值。0~9对应的输出表如下所示:参考文献BP神经网络局限性及其改进的研究神经网络在车牌字符识别中的应用计算智能清华大学出版社