BP神经网络原理及应用(最新知识点)
BP神经网络原理及应用
1 人工神经网络简介
1。1生物神经元模型
神经系统的基本构造是神经元(神经细胞),它是
处理人体内各部分之间相
互信息传递的基本单元。据神经生物学家研究的结
果表明,人的大脑一般有1011
个神经元。每个神经
1010
元都由一个细胞体,一个连接其他神经元的轴突和一些向外伸出的其它较短分支--树突组成。轴突的功能是将本神经元的输出信号(兴奋)传递给别的神经元。其末端的许多神经末梢使得兴奋可以同时送给多个神经元。树突的功能是接受来自其它神经元的兴奋.神经元细胞体将接受到的所有信号进行简单地处理后由轴突输出.神经元的树突与另外的神经元的神经末梢相连的部分称为突触....感谢聆听...
1.2人工神经元模型
神经网络是由许多相互连接的处理单元组成。这些处理单元通常线性排列成
组,称为层。每一个处理单元有许多输入量,而对每一个输入量都相应有一个相关
联的权重。处理单元将输入量经过加权求和,并通过传递函数的作用得到输出量,
再传给下一层的神经元。目前人们提出的神经元模型已有很多,其中提出最早且影
响最大的是1943年心理学家McCulloch和数学家Pitts在分析总结神经元基本特性的基础上首先提出的M—P模型,它是大多数神经网络模型的基础。
)()(1∑=-=n
i j i ji j x w f t Y θ
(1。1)
式(1。1)中,j为神经元单元的偏置(阈值),ji
w
为连接权系数(对于激发状态,ji
w 取正值,对于抑制状态,ji
w 取负值),n 为输入信号数目,j
Y 为神经元
输出,t 为时间,f ()为输出变换函数,有时叫做激发或激励函数,往往采用0和1二值函数或S形函数.
1.3人工神经网络的基本特性
人工神经网络由神经元模型构成;这种由许多神经元组成的信息处理网络具有并行分布结构.每个神经元具有单一输出,并且能够与其它神经元连接;存在许多(多重)输出连接方法,每种连接方法对应一个连接权系数。严格地说,人工神经网络是一种具有下列特性的有向图:...感谢聆听...
(1)对于每个节点存在一个状态变量xi ;
(2)从节点i 至节点j ,存在一个连接权系数wji; (3)对于每个节点,存在一个阈值
j;
(4)对于每个节点,定义一个变换函数(,,),j
i
ji
j f x w
i j
θ≠,
对于最一般的情况,此函数取()j
ji i
j i
f w
x θ-∑形式。
1.4 人工神经网络的主要学习算法
神经网络主要通过两种学习算法进行训练,即指导式(有师)学习算法和非指导式(无师)学习算法。此外,还存在第三种学习算法,即强化学习算法;可把它看做有师学习的一种特例。
(1)有师学习 有师学习算法能够根据期望的和实际的网络输出(对应于给定输入)间的差来调整神经元间连接的强度或权。因此,有师学习需要有个老师或导师来提供期望或目标输出信号。有师学习算法的例子包括
规则、广义
规则或反向
传播算法以及LVQ 算法等。...感谢聆听...
(2)无师学习 无师学习算法不需要知道期望输出。在训练过程中,只要向神经网络提供输入模式,神经网络就能够自动地适应连接权,以便按相似特征把输入模式分组聚集。无师学习算法的例子包括Kohonen 算法和Carp ente r-Gross berg 自适应共振理论(A RT )等。...感谢聆听...
(3)强化学习 如前所述,强化学习是有师学习的特例。它不需要老师给出目标输出。强化学习算
法采用一个“评论员”来评价与给定输入相对应的神。
2 BP 神经网络原理
2.1 基本BP 算法公式推导
基本BP 算法包括两个方面:信号的前向传播和误差的反向传播.即计算实际输出时按从输入到输出的方向进行,而权值和阈值的修正从输出到输入的方向进行.
图2—1 BP 网络结构
Fi g。2—1 Stru ctur e of BP ne twork 图中:j
x 表示输入层第j 个节点的输入,j =1,…,M;
ij
w 表示隐含层第i 个节点到输入层第j 个节点之间
的权值;
i
θ表示隐含层第i 个节点的阈值;
1a
1θ
ki w
ij w
L a
k a
q θ
i θ
…
…
…
…
…
…
1x
j x
M x
1o
k o
L o
输出
变量
输入变量
输入层
隐含层
输出层
φ
φ
φ
ψ
ψ
ψ
()
x φ表示隐含层的激励函数;
ki
w 表示输出层第k 个节点到隐含层第i 个节点之间
的权值,i =1,…,q ;
k
a 表示输出层第k 个节点的阈值,k=1,…,L ; ()
x ψ表示输出层的激励函数; k
o 表示输出层第k 个节点的输出.
(1)信号的前向传播过程
隐含层第i 个节点的输入net i :
1M
i ij j i
j net w x θ==+∑
(3—1)
隐含层第i 个节点的输出y i :
1()()
M
i i ij j i j y net w x φφθ===+∑
(3-2)
输出层第k 个节点的输入net k :
1
1
1
()q
q
M
k ki i k ki ij j i k
i i j net w y a w w x a φθ====+=++∑∑∑
(3—3)
输出层第k个节点的输出o k :
111()()()q
q M k k ki i k ki ij j i k i i j o net w y a w w x a ψψψφθ===??
==+=++ ?
??∑∑∑
(3-
4)
(2)误差的反向传播过程
误差的反向传播,即首先由输出层开始逐层计算各层神经元的输出误差,然后根据误差梯度下降法来调节各层的权值和阈值,使修改后的网络的最终输出能接近期望值。
对于每一个样本p 的二次型误差准则函数为E p :
2
1
1()2L
p k k k E T o ==-∑
(3—5)
系统对P 个训练样本的总误差准则函数为:
2
11
1()2P L
p p k k p k E T o ===-∑∑ (3
-6)
根据误差梯度下降法依次修正输出层权值的修正量Δw ki ,输出层阈值的修正量Δak ,隐含层权值的修正量Δw ij,隐含层阈值的修正量i
θ?.
ki
ki w E w ??-=?η
;
k k
E a a η
??=-?;
ij ij
E w w η
??=-?;
i i
E θη
θ??=-? (3
-7)
输出层权值调整公式:
ki
k
k k k ki k k ki ki w net net o o E w net net E w E w ??????-=????-=??-=?ηηη
(3
-8)
输出层阈值调整公式:
k k k
k k k k k k k
net o net E E E a a net a o net a η
ηη???????=-=-=-?????? (3—9)
隐含层权值调整公式:
i i i
ij ij i ij i i ij
net y net E E E w w net w y net w η
ηη???????=-=-=-?????? (3—10)
隐含层阈值调整公式:
i i i i i i i i i i
net y net E E E net y net θη
ηηθθθ???????=-=-=-?????? (3-11)
又因为:
11
()P L p p k k p k k E
T o o ==?=--?∑∑ (3-12)
i
ki
k y w net =??,1k k net a ?=?,i j ij net x w ?=?,1i
i net θ?=?
(3-13)
11
()'()P L
p p k k k ki p k i E
T o net w y ψ==?=--???∑∑ (3-14)
)(i i
i
net net y φ'=?? (3—15)
'()k
k k
o net net ψ?=?
(3-16)
所以最后得到以下公式:
()11
()'P
L
p p ki k k k i
p k w T o net y ηψ==?=-??∑∑ (3-17)
()
11
()'P
L p p k k k k p k a T o net ηψ==?=-?∑∑ (3—1
8)
()11
()'()P
L
p p ij k k k ki i j
p k w T o net w net x ηψφ=='?=-????∑∑ (3-19)
()11
()'()
P
L p p i k k k ki i p k T o net w net θηψφ=='?=-???∑∑ (3-20)