1、BP 神经网络模型基本原理简介近年来全球性的神经网络研究热潮的再度兴起,不仅仅是因为神经科学本身取得了巨大的进展更主要的原因在于发展新型计算机和人工智能新途径的迫切需要迄今为止在需要人工智能解决的许多问题中,人脑远比计算机聪明的多,要开创具有智能的新一代计算机,就必须了解人脑,研究人脑神经网络系统信息处理的机制另一方面,基于神经科学研究成果基础上发展出来的人工神经网络模型,反映了人脑功能的若干基本特性,开拓了神经网络用于计算机的新途径它对传统的计算机结构和人工智能是一个有力的挑战,引起了各方面专家的极大关注模型背景:样本是从 2002 年到 2011 年,各地到四川的旅游人数模型的建立:第一步
2、:利用 MATLAB 软件对 BP 神经网络模型的权值进行随机初始化,得到初始化权值 1。给各连接权值Wij、Vjk及阈值 Rj、Tk赋予(-1, +1)间的随机值。第二步,重复下述过程直至收敛:a. 对于 k=1 到 Na). 计算 Oik, netjk 和 k 的值(正向过程);b). 对各层从 M 到 2 反向计算(反向过程) ;b. 对同一节点 jM,由式(34.1)和(34.2)计算 jk;本模型是含有 4 个节点的网络,各节点之特性为 Sigmoid 型,且指定网络只有一个输出 y,任一节点 i 的输出为 Oi,并有 10 个样本(x k,yk)(k=1,2,3,10),对某一输入
3、 xk,网络输出为 yk节点 i 的输出为 Oik,节点 j 的输入为 netjk=iijOW误差函数定义为 NkkyE12)(2其中 ky为网络实际输出,定义 Ek=(yk-k)2, jkjEnet,且 Ojk=f(netjk),于是ikjijkjkij OWEnettne=jkOik当 j 为输出节点时,O jk=k )t()(et jkjkkj fyy(34.1)若 j 不是输出节点,则有mimjkjkiijkmjkmjk jkjkjkjjkjk WEOOfEEnetnet )net(t因此ikmijk jjjOWf)(34.2)第三步,修正权值,W ij=Wij- ijE, 0, 其中
4、NkijijWE。1.开始。2.连接权值及阈值的初始化。给各连接权值Wij、Vjk及阈值Rj、Tk赋予(-1,+1)间的随机值。3.将学习数据对提供给网络随机选取一组输入值 Zi=(z1,z2,.,zI)和输出值Dk=(d1,d2,.,dK)提供给网络进行学习。 4.计算中间层各单元的输入、输出。 Yj = f (netj),netj=WijZi -Rj,j = 1.J5.计算输出层各单元的输入、输出。Ok= f(netk),netk=VjkYj-Tk,k = 1.K6.计算输出层各单元的一般化误差。Eok=(dk-Ok)Ok(1-Ok) 7.计算中间层各单元的一般化误差。Eyj=(EokVj
5、k)Yj(1-Yj)8.调整中间层至输出层之间的连接权值,及输出层各单元的阈值。Vjk(n+1)=Vjk(n)+ EokYj Tk(n+1)=Tk(n)- Eok9.调整输入层至中间层之间的连接权值,及中间层各单元的阈值。Wij(n+1)= Wij(n)+ EyjZiRj( n+1)= Rj(n)- Eyj10.随机选取下一组学习数据对提供给网络,返回到第 3 布,直到全部数据训练完。基于 BP 神经网络的旅游人口增长时间预测模型四川未来的旅游人数与之前数年的旅游人数有着必然的联系,旅游的人会因为之前到四川旅游的人的影响而决定是否到四川旅游,所以四川未来的旅游人数必然受到之前旅游人数的影响,这
6、样我们就可以利用之前到四川旅游的人数时间数据列来预测未来到四川旅游的人数。模型背景:本模型是含有 4 个节点的网络,各节点之特性为 Sigmoid 型,且指定网络只有一个输出 y,任一节点 i 的输出为 Oi,并有 10 个样本( xk,yk)(k=1,2,3,10),对某一输入 xk,网络输出为 yk 节点 i 的输出为 Oik,节点 j 的输入为 netjk=iijOW具体算法:1.输入时间序列 P= ,X= (P2002 年至 2011 年的年份,X 指 2002 年至 2011 年到四川旅游的人数)2.对样本进行数值处理,使之变换成 BP 神经网络的输入模式对。这里我们采用数据移动平滑
7、处理,公式为: 1)()1(0X32)(205.41)(30)()( X5.732)(40)0(01 3.初始化 BP 神经网络各层的权值和阈值,让各层的权值和阈值取个随机数作为初值,wij=random(),vjt=random()。这里 利用 MATLAB 软件对 BP 神经网络模型的权值进行随机初始化,得到随机初始化权值。4.对每个模式进行如下循环:其中 ky为网络实际输出,定义 Ek=(yk-k)2, jkjEnet,且 Ojk=f(netjk),于是ikjijkjkijk OWEnettne=jkOik当 j 为输出节点时,O jk=k )t()(et jkjkkj fyy若 j 不
8、是输出节点,则有 mimjkjkiijkmjkmjk jkjkjkjjkjk WEOOfEEnetnet )net(t因此 ikmijk jkjjOWf)(5.计算 bj 和 ci6.计算各层误差,误差函数定义为NkkyE12)(27.判断是否循环至样本集总数,否则返回步骤 4 8.计算总误差 E,E 为各样本误差总和并判断 E 是否满足精度要求,若 Ee 则学习停止9.修改权值和阈值,并转到步骤 410. 贮存 , 以备预测值的计算ijwjtv11. 计算未来旅游人口预测值在网络训练之后,预测的行程时间可由下式求得: 11/expnXjtjtTvy12.对 Tt 值进行数据处理即得四川未来的
9、旅游人口的预测结果。预测模型的优缺点分析神经网络预测模型的缺点:由于 BP 算法是一种梯度收索算法,因此对于高度非线性的问题,常常会使收索陷入局部极小,而不是全局最小,加之在预测模型中未考虑四川旅游点发生的地质灾害等对旅游人数的影响,所以难免会带来一定误差。为了减少误差,可能要对网络进行工作量极大的训练才能实现。神经网络模型的优点:可以不断的对其进行实时修正。在矿山运输系统中,许多客观条件如路面质量会随时间的推移而变化,因为神经网络具有自学习的功能,所以不断用新数据来训练网络,可以不断更具环境变化来修正预测模型。另外,当训练好网络后,网络的计算则是相当容易而快捷的这对于解决实时调度问题具有极大的好处。结语应用人工智能神经网络原理进行人口增长时间模型,能很好地实现实时动态预测。因此,选择最佳网络结构成为网络设计的关键。神经网络模型是实际问题的一种非线性映射。通过大量的样本学习和训练,使这种映射是对该研究对象的旅游人数随增长的最佳逼近。