BP神经网络理论与实验结果

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

神经网络简介:
神经网络是大脑的一个组成部分。

James 在1890年的《心理学》一书中这样描述神经网络的基本原理:大脑皮层每一点的活力是由其它点势能释放的综合效能产生的,这些势能与如下因素有关:(1)相关点的兴奋次数;(2)兴奋的强度;(3)与其不相连的其它点所接受的能量。

他的这一原理一直沿用至今。

到目前为止,神经网络的研究主要分为两个派别:一派主要包括生物学家、物理学家和心理学家等,他们研究的主要目的是给出大脑活动的描述和精细模型;另一派主要包括工程技术人员等,他们关心的是怎样利用神经网络的基本原理,来构造解决实际问题的算法,使得这些算法具有有效的计算能力,我们称之为神经网络的工程应用研究,或称为人工神经网络(artificial neural network, ANN ),简称为神经网络。

人工神经网络可以分为前向型和反馈型两类:前向型神经网络的特点是信息传递由后层神经元向前层神经元传递,同一层内的神经元之间没有信息交流;反馈型神经网络中的神经元之间不但相互作用,而且自身也有信息内耗。

BP 神经网络是一种多层前向神经网络,名字源于网络权值的调整规则采用的是后向传播学习算法(也称为反推学习规则),即BP 学习算法(back-propagation, BP )。

BP 学习算法是Rumelhart 等在1986年提出的。

至此以后,BP 神经网络得到了广泛的实际应用,据统计,80%~90%的神经网络模型都采用了BP 网络或者它的变形。

BP 神经网络理论
BP 神经网络是一种单向传播的多层前向型网络,其结构如图所示。

由图可见,BP 网络是一种具有三层或三层以上的神经网络,包括输入层、中间层(隐层)和输出层。

上下层之间实现全连接,而每层神经元之间无连接。

当一对学习样本提供给网络后,神经元的激活值从输入层经各中间层向输出层传播,在输出层的各神经元获得网络的输入响应。

接下来,按照减少目标输出与误差的方向,从输出层经过各中间层逐步修正各连接权值,最后回到输入层,这种算法称为“误差逆传播算法”,即BP 算法,随着这种误差逆的传播修正不断进行,网络对输入模式响应的正确率也不断上升。

BP 网络的传递函数要求必须是可微的,常用的有Sigmoid 型的对数、正切函数或线性函数,即
x
e
x sig -+=
11)(log
x
x
x x e
e
e e x sig --+-=
)(tan
x x purelin =)(
BP 网络学习规则
下面以一个三层BP 网络为例,介绍BP 网络的学习过程及步骤。

首先对符号的形式及意义说明如下: 网络输入向量),...,,(21n k a a a P =; 网络目标向量),...,,(21q k y y y T =;
中间层单元输入向量),..,(2,1p k s s s S =,输出向量),..,,(21p k b b b B =; 输出层单元输入向量),...,,(21lq l l L k =;输出向量),...,,(21cq c c C k =; 输入层至中间层的连接权ij w ,n i ,...2,1=,p j ,..2,1=; 中间层至输出层的连接权jt
v p
j ,..2,1=,q t ,...,2,1=;
中间层各单元的输出阈值j θ,p j ,..2,1=; 输出层各单元的输出阈值t γ,q t ,...,2,1=; 参数m k ,...,2,1=,为训练样本序号。

BP 网络学习过程及步骤如下:
(1)初始化。

给每个连接权值ij w 、jt v 、阈值j θ、t γ赋予区间)1,1(-内的随机值。

x 2x
(2)随机选取一组输入和目标样本),...,,(2
1
k k k k n
a a a P =、),...,,(21
k k k k q
y y y T =
提供给网络。

(3)用输入样本),...,,(2
1
k k k k n
a a a P =、连接权ij w 和阈值j θ计算中间层各单元
的输入j s ,然后用j s 通过传递函数计算中间层各单元的输出j b 。


=-=
n
i j
k
i ij j a w s 1
θ
,p j ,..2,1=
)(j j s f b =,p
j ,..2,1=
(4)利用中间层的输出j b 、连接权jt v 和阈值t γ计算输出层各单元的输出t L ,然后通过传递函数计算输出层各单元的响应t C 。

t p
j j jt t b v L γ-=
∑=1

q
t ,...,2,1=
)(t t L f C =,q
t ,...,2,1=
(5)利用网络目标向量),...,,(2
1
k k k k q
y y y T =,网络实际输出t C ,计算输出层
的各单元一般化误差k t d 。

)1()(t t t k
t k
t C C C y d -⋅⋅-=,q t ,...,2,1=
(6)利用连接权jt v 、输出层的一般化误差k t d 和中间层的输出j b 计算中间层各单元的一般化误差k j e 。

)1(][
1
j j q
t jt
k
t
k j
b b v
d e -⋅=∑=
(7)利用输出层各单元的一般化误差k t d 与中间层各单元的输出j b 来修正连接权jt v 和阈值t γ。

j k
t jt
jt
b d N v
N v
⋅⋅+=+α)()1(
k
t
t t d N N ⋅+=+αγγ)()1(
q
t ,...,2,1=,p j ,..2,1=,10<<α
(8)利用中间层各单元的一般化误差k j e ,输入层各单元的输入
),...,,(2
1
k
k k k n
a a a P =来修正连接权ij
w 和阈值j θ。

k
i
k j ij ij a e N w N w ⋅⋅+=+β)()1(
k j j j e N N ⋅+=+βθθ)()1(
n i ,...2,1=,p j ,..2,1=,10<<β
(9)随机选取下一个学习样本向量提供给网络,返回到步骤(3),直到m 个训练样本训练完毕。

(10)重新从m 各学习样本中随机选取一组输入和目标样本,返回步骤(3),直到网络全局误差E 小于预先设定的一个极小值,即网络收敛。

如果学习次数大于预先设定的值,网络就无法收敛。

(11)学习结束
可以看出,在以上的学习步骤中,(7)~(8)步为网络误差的“逆传播过程”,(9)~(10)步则用于完成训练和收敛过程。

用BP 神经网络预测本实验中的过滤效应与透气量。

对于BP 网络,有一个非常重要的定理,即对于任何在闭区间内连续的函数都可以用单隐层BP 网络逼近,因而一个三层BP 网络就可以完成任意的n 维到m 维的映射,因此,本实验使用三层BP 网络进行预测,学习函数:输入层到隐层使用tansig 函数,隐层到输出层使用logsig 函数。

在原数据表中选取同一条件下的每一组数据中的第一个数据作为测试数据,剩余数据为训练数据样本。

训练数据如下表。

表3-4 聚乳酸熔喷非织造布在不同工艺下的过滤效率
表3-5 聚乳酸熔喷非织造布在不同工艺条件下的透气量
测试数据如下表
过滤效率预测误差如图
三层BP 网络的设计
本实验中输入向量是3维向量,因此输入层为3个单元,输出向量是2维向量,因此输出层维2个单元,隐层单元数按经验公式a
m n n ++=
1,1n 为
隐层单元数,n 为输入单元数,m 为输出单元数,]10,1[∈a 为常数。

实验结果如下表:
因此,隐层数取7个单元较为合适,网络训练如图
预测结果如下表
由以上结果
透气量平均值的预测结果如下表。

相关文档
最新文档