哈尔滨学院本科毕业论文(设计)
第四章 BP神经网络存在的问题
4.1 BP神经网络存在的问题
BP网络是神经网络领域中应用广泛的一种简单的多层前馈网络,该类型神经网络具有良好的自学习、自适应、大规模并行处理、极强的非线性映射和容错能力等特征。BP网络避免了复杂的数学推导,在样本缺省与参数漂移的情况下能保证稳定的输出。
尽管BP网络有很多显著的优点,但也存在着一定的局限性。其主要问题如下: ⑴ 随着训练样本维数的增大,使收敛速度变缓慢,从而降低学习效率。
⑵ 从数学角度上看BP算法是一种梯度最速下降法,这就可能出现局部极小值的问题,而得不到全局最优。
⑶ 网络中隐节点个数的选取缺乏理论指导,尚无明确的定义。由于BP神经网络存在局部性,因此利用BP网络进行模式识别时,所得网络模型的参数容易陷入局部极小,因此需要针对BP神经网络容易陷入局部极小的缺陷进行改进。
4.2 BP算法的改进
针对BP算法这些缺点,出现了许多改进算法。BP算法的改进主要有两种途径:一种采用启发式学习算法,另一种则是采用更有效的优化算法。
所谓启发式算法就是对于表现函数梯度加以分析,从而改进算法,其中包括:有动量的梯度下降法(traingdm)、有自适应lr的下降法(traingda)、有动量和自适应lr的梯度下降法(traingdx)和弹性梯度下降法(trainrp)等。
另一种优化算法则是基于数值最优化理论的训练算法,有共轭梯度法(traincgb\\traincgf\\traingcgp\\trainscg)、高斯-牛顿法(trainbfg\\trainoss)和Levenberg-Marquardt算法(trainlm)。
基于BP算法的神经网络的误差曲面有以下特点:存在一些平坦区域,在此区域内误差改变很小,这些平坦区域多数发生在神经元的输出接近于0或1的情况,对不同的映射,其平坦区的位置、范围各不相同,在有的情况下,误差曲面会出现一些梯形形状;存在不少局部极小点,在某些初值的条件下,算法的结果会陷入某个局部极小点。对此,首先不能把初始参数设置为0,其次,不能把参数设置得过大。因为在远离优化点的位置,误差变化曲面十分平坦。
在模式识别的网络系统中,BP神经网络是应用最为广泛的神经网络算法之一,同时在模式识别中,也有许多其他算法网络与之对应,因其各自得优缺点,同样有着广泛的应用。详见附录二。
22
哈尔滨学院本科毕业论文(设计)
结 论
BP神经网络,是能实现映射变换的前馈网络中最常用的一类网络,它是一种典型的误差修正方法,具有理论上能逼近任意非线性连续函数的能力,且结构简单,易于编程,在众多的领域得到了广泛的应用。基于其在指纹识别、数字识别、医学检测、语音识别等领域的应用,本文应用matlab建立BP神经网络,对手写体字母识别问题进行了探讨和研究,取得了理想的结果。
本文结合神经网络技术,对手写体字母识别问题进行的探讨和研究,主要研究成果如下:
1.针对手写体字母数据,首先进行了灰度化、二值化、平滑去噪、归一化、细化等常规预处理。然后对处理完的数字图像进行特征提取,提取了能体现字符特点的特征向量。
2.针对手写体字母识别问题,研究了BP神经网络分类器的建立和识别过程。通过模拟样本训练和测试表明:BP神经网络具有自学习、抗噪声和并行计算,及强大的非线性映射能力,在解决手写体字母的识别问题上具有较大的优势。
23
哈尔滨学院本科毕业论文(设计)
参考文献
[1] 楼顺天,施阳.《基于MATLAB的系统分析与设计-神经网络》[M].西安:西安电子科技大学出版社,1998.
[2] 王旭,王宏,王文辉.《人工神经元网络原理与应用》[M].沈阳:东北大学出版社,2000. [3] 薛定宇,陈阳泉.《基于MATLAB/Simulink的系统仿真技术与应用》[M].北京:清华大学出版社,2002.
[4] 高隽编.《人工神经网络原理及仿真实例》[M].北京:机械工业出版社,2003. [5] 闻新,周露,李翔等.《Matlab神经网络仿真与应用》[M].北京:科学出版社,2003. [6] 飞思科技产品研发中心.《MATLAB6.5辅助神经网络分析与设计》[M].北京:电子工业出版社,2004.
[7] 董长虹.《Matlab神经网络与应用》[M].北京:国防工业出版社,2005.
[8] 周开利,康耀红.《神经网络模型及其MATLAB仿真程序设计》[M].北京:清华大学出版社,2005. [9] 肖健华.《智能模式识别方法》[M]. 广州:华南理工大学出版社,2006.
[10] 葛哲学,孙志强.《神经网络理论与MATLABR2007实现》[M].北京.电子工业出版社.2007. [11] 杨淑莹.《模式识别与智能计算-Matlab技术实现》[M].北京:清华大学出版社,2008. [12] 杨建刚.《人工神经网络实用教程》[M].杭州:浙江大学出版社,2000.
[13] 黄琳,魏保立.《BP网络的泛化能力改进方法及应用》[J].石家庄铁道学院学报.2005,18(3):95-96.
[14] 杨大力,刘泽民.《多层一前向神经网络中BP算法的误调分析及其改进算法》[J].电子学报.1995. [15] 石俊.《基于自适应噪声的鲁棒BP算法及前馈网的鲁棒性分析闭》[J].系统工程与电子技术,1998. [16] 飞思科技产品研发中心.《神经网络理论与MATLAB7实现》[M].北京:电子工业出版社,2005. [17] Martin T Hagan.Howard B.Demuth, Mark H.Beale.戴葵,李伯民译.《神经网络设计》[M].北京:机械工业出版社,2002:234.
[18] 《Neural Network Toolbox User’s Guide》.The MathWorks,Inc.2003.
[19] Roy S,ShynkJ J.《AnalysiS of the momentum uls algorithum factor》[J].IEEEISCAS.1992 [20] J.Holland.《Adaptation in natural and artificial system》[J].Annl,Arbor:The University of MiehiganPress.1975.
24
哈尔滨学院本科毕业论文(设计)
后 记
本论文的研究是在徐鹏导师的悉心指导下完成的。徐老师渊博的学识,严谨、认真、务实的治学态度,勤奋的工作作风,科学的研究方法和创新精神,以及崇高的人格,给我留下了深刻的印象,使我在学习和撰写论文的过程中获益匪浅,并受益终生。在此,谨向尊敬的导师表示我最衷心的感谢。
同时,我还要向我的同学和朋友致以深深的感谢,感谢他们在此期间对我精神上的鼓励和作出的无私奉献。
最后,对参加论文评审的各位老师、专家表示由衷的谢意。
25
哈尔滨学院本科毕业论文(设计)
附 录
附录一 基于MATLAB的神经网络部分训练函数的调整参数
BP神经网络常用调整参数方式 调整参数方式 梯度下降法 有动量的梯度下降法 有自适应lr的梯度下降法 有动量加自适应lr的梯度下降法 弹性梯度下降法 共轭梯度法 拟牛顿法/LM训练法 标识符 traingd traingdm traingda traingdx trainrp traincgf/traincgp/traincgb/trainscg trainbfg/trainoss/trainlm 1.梯度下降法训练函数traingd有关参数 参 数 net.trainParam.epochs net.trainParam.goal net.trainParam.lr net.trainParam.max_fail net.trainParam.min_grad net.trainParam.show net.trainParam.time 内容描述 最大训练次数(default为100) 训练要求精度(default为0) 学习速率(default为0.01) 最大失败次数(default为5) 最小梯度要求(default为1e-010) 显示训练迭代过程(NaN表示不显示,default为25) 最大训练时间(default为inf) 2.有动量的梯度下降法训练函数traingdm有关参数 参 数 net.trainParam.epochs net.trainParam.goal net.trainParam.lr net.trainParam.max_fail net.trainParam.mc net.trainParam.min_grad 内容描述 最大训练次数(default为100) 训练要求精度(default为0) 学习速率(default为0.01) 最大失败次数(default为5) 动量因子(default为0.9) 最小梯度要求(default为1e-010) 26