BP神经网络模型 第1节 基本原理简介
近年来全球性的神经网络研究热潮的再度兴起,不仅仅是因为神经科学本身取得了巨大的进展.更主要的原因在于发展新型计算机和人工智能新途径的迫切需要.迄今为止在需要人工智能解决的许多问题中,人脑远比计算机聪明的多,要开创具有智能的新一代计算机,就必须了解人脑,研究人脑神经网络系统信息处理的机制.另一方面,基于神经科学研究成果基础上发展出来的人工神经网络模型,反映了人脑功能的若干基本特性,开拓了神经网络用于计算机的新途径.它对传统的计算机结构和人工智能是一个有力的挑战,引起了各方面专家的极大关注.
目前,已发展了几十种神经网络,例如Hopficld模型,Feldmann等的连接型网络模型,Hinton等的玻尔茨曼机模型,以及Rumelhart等的多层感知机模型和Kohonen的自组织网络模型等等。在这众多神经网络模型中,应用最广泛的是多层感知机神经网络。多层感知机神经网络的研究始于50年代,但一直进展不大。直到1985年,Rumelhart等人提出了误差反向传递学习算法(即BP算),实现了Minsky的多层网络
设想,如图34-1所示。
输入层 中间层 输出层
图34-1 BP神经网络模型 BP算法不仅有输入层节点、输出层节点,还可有1个或多个隐含层节点。对于输入信号,要先向前传播到隐含层节点,经作用函数后,再把隐节点的输出信号传播到输出节点,最后给出输出结果。节点的作用的激励函数通常选取S型函数,如
式中Q为调整激励函数形式的Sigmoid参数。该算法的学习过程由正向传播和反向传播组成。在正向传播过程中,输入信息从输入层经隐含层逐层处理,并传向输出层。每一层神经元的状态只影响下一层神经
f(x)?11?e?x/Q元的状态。如果输出层得不到期望的输出,则转入反向传播,将误差信号沿原来的连接通道返回,通过修改各层神经元的权值,使得误差信号最小。 社含有n个节点的任意网络,各节点之特性为Sigmoid型。为简便起见,指定网络只有一个输出y,任一节点i的输出为Oi,并设有N个样本(xk,yk)(k=1,2,3,…,N),对某一输入xk,网络输出为yk节点i的输出为Oik,节点j的输入为netjk=
1N?E??(yk?yk)2并将误差函数定义为2k?1?WOijiik
?jk??Ek?netjk?y其中k为网络实际输出,定义
Ek=(yk-?k)2, ,且
Ojk=f(netjk),于是
?Ek?Ek?netjk?Ek??Oik?Wij?netjk?Wij?netjk=δ
jkOik
当j为输出节点时,Ojk=?k
?jk??Ek?yk?????(yk?yk)f?(netjk)?yk?netjk
(34.1)
若j不是输出节点,则有
?Ek?Ek?Ojk?Ek??f?(netjk)?netjk?Ojk?netjk?Ojk?Ek?Ek?netmk???Ojkm?netmk?Ojk?Ek???WmiOik?m?netmk?Ojki?Ek??Wmj???mkWmj??netmmmki
?jk? 因此
BP神经网络模型应用实例
![](/skin/haowen/images/icon_star.png)
![](/skin/haowen/images/icon_star.png)
![](/skin/haowen/images/icon_star.png)
![](/skin/haowen/images/icon_star.png)