BP神经网络算法及应用.docx
- 文档编号:24164307
- 上传时间:2023-05-24
- 格式:DOCX
- 页数:13
- 大小:228.85KB
BP神经网络算法及应用.docx
《BP神经网络算法及应用.docx》由会员分享,可在线阅读,更多相关《BP神经网络算法及应用.docx(13页珍藏版)》请在冰豆网上搜索。
BP神经网络算法及应用
《非线性系统预测分析方法》
课程作业
——BP神经网络算法及应用
学院:
班级:
姓名:
学号:
指导老师:
昆明理工大学国土资源工程学院资开系
摘要
本文分析了神经网络算法的基本原理,给出了BP神经网络算法的具体实现方法,总结了它的特点,并给出了基本流程。
结合2000-2009年间的全国煤矿统计数据,建立了预测模型,以计算机软件Matlab为平台,结合BP神经网络学习算法对10年间的煤炭产量、死亡人数和百万吨死亡率进行了预测分析。
结果表明,检测样本的期望输出与模拟输出线性回归分析时的线性相关系数均在0.91以上,说明了BP神经网络较好的拟合效果。
关键词:
神经网络;预测分析;百万吨死亡率
Abstract
ThispaperanalyzesthebasicprincipleoftheneuralnetworkalgorithmandgivesthespecificmethodofBPneuralnetworkalgorithm.Thecharacteristicsoftheneuralnetworkissummarizedandbasicprocessoftheneuralnetworkalgorithmisgiven.OnthebasisofthestatisticdataofcoalminesinChinafrom2000to2009,afore-castmodelisestablished.WithcomputersoftwareMATLABastheoperatingplatformandBPneuralnetworklearningalgorithm,theauthorspresentinthispaperaforecastofcoalproduction,deathtollandmortalityratepermilliontonsofcoalproducedduringthisten-yearperiod.Theresultsshowthatlinearcorrelationcoefficientsoftheexpectedoutputofthesamplestestedandthesimulationoutputlinearregressionanalysisareallabove0.91.ThisindicatesthatBPneuralnetworkalgorithmhaveagoodapplicationprospectoversafetyforecastincoalmines.
Keywords:
NeuralNetwork;ForecastandAnalysis;Thefatalityratepermillion
tonnesofcoalproduced
引言
近年来全球性的神经网络研究热潮的再度兴起,不仅仅是因为神经科学本身取得了巨大的进展。
更主要的原因在于发展新型计算机和人工智能新途径的迫切需要。
迄今为止在需要人工智能解决的许多问题中,人脑远比计算机聪明的多,要开创具有智能的新一代计算机,就必须了解人脑,研究人脑神经网络系统信息处理的机制。
另一方面,基于神经科学研究成果基础上发展出来的人工神经网络模型,反映了人脑功能的若干基本特性,开拓了神经网络用于计算机的新途径。
它对传统的计算机结构和人工智能是一个有力的挑战,引起了各方面专家的极大关注。
目前,已发展了几十种神经网络,例如Hopficld模型,Feldmann等的连接型网络模型,Hinton等的玻尔茨曼机模型,以及Rumelhart等的多层感知机模型和Kohonen的自组织网络模型等等。
在这众多神经网络模型中,应用最广泛的是多层感知机神经网络。
多层感知机神经网络的研究始于50年代,但一直进展不大。
直到1985年,Rumelhart等人提出了误差反向传递学习算法(即BP算),实现了Minsky的多层网络设想。
1.BP神经网络及其原理
BP神经网络是误差反向传播神经网络的简称,它由一个输入层,一个或多个隐含层和一个输出层构成,每一次由一定数量的的神经元构成。
这些神经元如同人的神经细胞一样是互相关联的。
其结构如图1所示:
BP神经网络的信息处理方式具有如下特点:
①信息分布存储;②信息并行处理;③具有容错性;④具有自学习、自组织、自适应的能力。
目前,在人工神经网络的实际应用中,绝大部分的神经网络模型都采用BP神经网络及其变化形式。
它也是前向网络的核心部分,体现了人工神经网络的精华。
BP神经网络最主要的优点是具有极强的非线性映射能力。
其次,BP神经网络具有对外界刺激和输入信息进行联想记忆的能力。
再次,BP神经网络对外界输入样本有很强的识别与分类能力。
由于它具有强大的非线性处理能力,因此可以较好地进行非线性分类,解决了神经网络发展史上的非线性分类难题。
另外,BP神经网络具有优化计算能力。
BP神经网络本质上是一个非线性优化问题,它可以在已知的约束条件下,寻找一组参数组合,使该组合确定的目标函数达到最小。
不过,其优化计算存在局部极小问题,必须通过改进完善。
由于BP网络训练中稳定性要求学习效率很小,所以梯度下降法使得训练很慢。
动量法因为学习率的提高通常比单纯的梯度下降法要快一些,但在实际应用中还是速度不够,这两种方法通常只应用于递增训练。
多层神经网络可以应用于线性系统和非线性系统中,对于任意函数模拟逼近。
当然,感知器和线性神经网络能够解决这类网络问题。
但是,虽然理论上是可行的,但实际上BP网络并不一定总能有解。
对于非线性系统,选择合适的学习率是一个重要的问题。
在线性网络中,学习率过大会导致训练过程不稳定。
相反,学习率过小又会造成训练时间过长。
和线性网络不同,对于非线性多层网络很难选择很好的学习率。
对那些快速训练算法,缺省参数值基本上都是最有效的设置。
非线性网络的误差面比线性网络的误差面复杂得多,问题在于多层网络中非线性传递函数有多个局部最优解。
寻优的过程与初始点的选择关系很大,初始点如果更靠近局部最优点,而不是全局最优点,就不会得到正确的结果,这也是多层网络无法得到最优解的一个原因。
为了解决这个问题,在实际训练过程中,应重复选取多个初始点进行训练,以保证训练结果的全局最优性。
网络隐层神经元的数目也对网络有一定的影响。
神经元数目太少会造成网络的不适性,而神经元数目太多又会引起网络的过适性。
2.BP网络的标准学习算法
学习的过程:
神经网络在外界输入样本的刺激下不断改变网络的连接权值,以使网络的输出不断地接近期望的输出。
学习的本质:
对各连接权值的动态调整。
学习规则:
权值调整规则,即在学习过程中网络中各神经元的连接权变化所依据的一定的调整规则。
学习的类型:
有导师学习。
核心思想:
将输出误差以某种形式通过隐层向输入层逐层反传。
学习的过程:
由信号的正向传播到误差的反向传播。
正向传播:
输入样本———输入层———各隐层———输出层。
判断是否转入反向传播阶段:
若输出层的实际输出与期望的输出(教师信号)不符。
误差反传误差以某种形式在各层表示———修正各层单元的权值。
网络结构:
输入层有n个神经元,隐含层有p个神经元,输出层有q个神经元。
变量定义:
输入向量:
x=(x1,x2,…,xn)
隐含层输入向量:
hi=(hi1,hi2,…,hip)
隐含层输出向量:
ho=(ho1,ho2,…,hop)
输出层输入向量:
yi=(yi1,yi2,…,yiq)
输出层输出向量:
yo=(yo1,yo2,…,yoq)
期望输出向量:
do=(d1,d2,…,dq)
输入层与中间层的连接权值:
wih
隐含层与输出层的连接权值:
who
隐含层各神经元的阈值:
bh
输出层各神经元的阈值:
bo
样本数据个数:
k=1,2,…,m
激活函数:
f(·)
误差函数:
第一步,网络初始化:
给各连接权值分别赋一个区间(-1,1)内的随机数,设定误差函数e,给定计算精度值ε和最大学习次数M。
第二步,随机选取第k个输入样本及对应期望输出:
x(k)=(x1(k),x2(k),…,xn(k))
do(k)=(d1(k),d2(k),…,dq(k))
第三步,计算隐含层各神经元的输入和输出:
第四步,利用网络期望输出和实际输出,计算误差函数对输出层的各神经元的偏导数δo(k):
第五步,利用隐含层到输出层的连接权值、输出层的δo(k)和隐含层的输出计算误差函数对隐含层各神经元的偏导数δh(k):
第六步,利用输出层各神经元的δo(k)和隐含层各神经元的输出来修正连接权值who(k):
第七步,利用隐含层各神经元的δh(k)和输入层各神经元的输入修正连接权:
第八步,计算全局误差:
第九步,判断网络误差是否满足要求。
当误差达到预设精度或学习次数大于设定的最大次数,则结束算法。
否则,选取下一个学习样本及对应的期望输出,返回到第三步,进入下一轮学习。
3.实例分析
以2000-2009年间全国煤矿的产量,煤矿工人死亡人数和百万吨死亡率作为预测指标的样本数据为例。
2000-2009年全国煤矿产量、煤矿工人死亡人数和百万吨死亡率见表1。
表1全国煤矿工人死亡人数及百万吨死亡率统计表
年度
死亡人数/人
百万吨死亡率/人·Mt-1
2000
5798
6.096
2001
5670
5.070
2002
6149
4.636
2003
6434
4.170
2004
6027
3.081
2005
5986
2.830
2006
4746
2.041
2007
3786
1.485
2008
3210
1.182
2009
2700
0.892
3.1样本数据的归一化处理
众所周知,BP网络中非线性活性函数的值域一般都在[0,1]或[-1,1]之间,这样将要求输入变量及输出变量都要位于这个区域之间。
当神经网络的输入向量确定后,检查变量的分布情况,必要时还要对这些数据进行变换处理,以利于网络的学习。
对连续型变量,比较常用的归一化处理方法用公式
(1)处理:
(1)
——归一后的值;
——真值中的最大值;
——真值中的最小值。
但考虑到在BP算法中,函数的函数值在接近0和1的时候曲线比较平缓,变化速度非常缓慢,为了减少训练时间,本文将采用公式
(2)处理样本数据。
(2)
归一化处理后的数据如表2所示。
表2归一化处理后的数据
年度
死亡人数/人
百万吨死亡率/人·(100万t)-1
2000
0.698
0.800
2001
0.677
0.682
2002
0.754
0.632
2003
0.800
0.578
2004
0.7346
0.452
2005
0.728
0.423
2006
0.529
0.332
2007
0.375
0.268
2008
0.282
0.233
2009
0.200
0.200
3.2网络训练与比较
借助计算机软件MATLAB为操作平台,构造3层BP神经网络,即1个输入层,1个隐含层和1个输出层,分别对煤矿产量、死亡人数和百万吨死亡率进行预测分析。
输入层选取3个神经元数,并根据海希特·尼尔森(Hecht·Nielsen)的研究成果,单隐含层的隐层节点数目为2N+1,N为输入层的神经元数,所以隐层的节点数为7,输出层节点数为1。
隐含层采用的激活函数为正切Sigmod型传递函数tansig,输出层激活函数为logsig,网络训练函数为traingd。
网络训练的主要代码如下:
Net=newff(minmax(P),[7,1],{‘tansig’,‘logsig’},‘traingd’)%建立一个前向BP神经网络
net.trainParam.epochs=15000;%训练的最大步数
net.trainParam.goal=0.01;%训练的目标误差
LP.lr=0.003;%训练学习速率
net=train(net,P,T);%开始训练
y=sim(net,P)%模拟仿真
其中,P是归一化处理后,转置输入矩阵,T是目标矩阵。
分别经过10008步和9035步训练后,预测的死亡人数和预测的煤矿百万吨死亡率达到了训练要求。
用sim命令进行仿真模拟,并用postreg命令将检测的样本期望输出与模拟输出进行线性回归分析,其线性相关系数分别为0.98261,0.95763,体现了BP神经网络良好的泛化能力。
根据BP人工神经网络的模拟预测,2010年全国煤矿的死亡人数会降至2658人,煤矿的百万吨死亡率会降低至0.797;2011年全国煤矿死亡人数降低至2450人,煤矿百万吨死亡率降低至0.75。
当然,我们希望实际值比预测值低,甚至希望死亡人数降为0。
BP人工神经网络预测的死亡人数和百万吨死亡率的线性回归图分别如图2、图3所示。
图2死亡人数线性回归图
图3百万吨死亡率线性回归图
小结
(1)本文以计算机软件Matlab为操作平台,结合BP神经网络学习算法,对全国煤矿的煤炭产量、死亡人数和百万吨死亡率进行了预测,并与现实值进行了拟合,其线性相关系数都在0.91以上,说明了BP神经网络算法完好的拟合效果。
(2)神经网络是在研究生物神经系统的启示下发展起来的一种信息处理方法。
它不需要设计任何数学模型,只需要根据过去的经验来学习,可处理模糊的、非线性的、含有噪声的数据,可用于预测、分类、模式识别、非线性回归、过程控制等各种数据处理场合,在大多数情况下,其效果优于传统的统计分析方法,比较适合在影响因素颇多、难以建立准确数学模型的场合使用。
(3)通过此种探讨研究,说明神经网络在煤矿信息的预测性是可行的。
可将神经网络应用于矿井瓦斯的涌出量预测、矿井的涌水量预测等方面。
参考文献
[1]樊振宇.BP神经网络模型与学习算法[J].软件导刊,2011,10(7):
66-68.
[2]国家统计局.中国统计年鉴[M].北京:
中国统计出版社,2000-2009.
[3]刘业娇,田志超,刘进才.BP神经网络在矿井本质安全程度评价中的应用[J].
中国安全生产科学技术,2009(10).
[4]黄辉宇,李从东.基于人工神经网络的煤矿安全评估模型研究[J].工业工
程,2007
(1).
[5]马科伟,袁梅,李波波等.基于人工神经网络的煤矿安全事故预测研究[J].
中国煤炭,2010,36(9):
109-112.
[6]郑君里,杨行峻.人工神经网络[M].北京:
北京高等教育出版社,1992.
[7]巨军让,卓戎.BP神经网络在Matlab中的方便实现[J].新疆石油学院学报,
2008
(1).
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- BP 神经网络 算法 应用