18神经网络分析方法

18.神经网络分析方法
近年来全球性的神经网络研究热潮的再度兴起,不仅仅是因为神经科学本身取得了巨大的进展.更主要的原因在于发展新型计算机和人工智能新途径的迫切需要.迄今为止在需要人工智能解决的许多问题中,人脑远比计算机聪明的多,要开创具有智能的新一代计算机,就必须了解人脑,研究人脑神经网络系统信息处理的机制.另一方面,基于神经科学研究成果基础上发展出来的人工神经网络模型,反映了人脑功能的若干基本特性,开拓了神经网络用于计算机的新途径.它对传统的计算机结构和人工智能是一个有力的挑战,引起了各方面专家的极大关注.
目前,已发展了几十种神经网络,例如Hopficld 模型,Feldmann 等的连接型网络模型,Hinton 等的玻尔茨曼机模型,以及Rumelhart 等的多层感知机模型和Kohonen 的自组织网络模型等等。在这众多神经网络模型中,应用最广泛的是多层感知机神经网络。多层感知机神经网络的研究始于50年代,但一直进展不大。直到1985年,Rumelhart 等人提出了误差反向传递学习算法(即BP 算法),实现了Minsky 的多层网络设想,如图所示。
BP 算法不仅有输入层节点输出层节点,还可有1个或多个隐含层节点。对于输入信号,要先向前传播到隐含层节点,经作用函数后,再把隐节点的输出信号传播到输出节点,最后给出输出结果。节点的作用的激励函数通常选取S 型函数,如
Q
x e x f /11)(-+=
式中Q 为调整激励函数形式的Sigmoid 参数。该算法的学习过程由正向传播和反向传播组成。在正向传播过程中,输入信息从输入层经隐含层逐层处理,并传向输出层。每一层神经元的状态只影响下一
南京农业大学学报层神经元的状态。如果输出层得不到期望的输出,则转入反向传播,将误差信号沿原来的连接通道返回,通过修改各层神经元的权值,使得误差信号最小。
社含有n 个节点的任意网络,各节点之特性为Sigmoid 型。为简便起见,指定网络只有一个输出y ,任一节点i 的输出为O i ,并设有N 个样本(x k ,y k )(k =1,2,3,…,N ),对某一输入x k ,网络输出为y k 节点i 的输出为O ik ,节点j 的输入为
I jk =
∑i
ik
ij O
巨无霸人体艺术
W
并将误差函数定义为
其中
为网络实际输出,定义E k =(y k -ŷk )2
,
,且O jk =f (I jk ),于是
=δjk O ik
当j 为输出节点时,O jk =ŷk
若j 不是输出节点,则有
因此
如果有M 层,而第M 层仅含输出节点,第一层为输入节点,则BP 算法为: 第一步,选取初始权值W 。
第二步,重复下述过程直至收敛:
a.  对于k =1到N
a ). 计算O ik , I jk 和ŷk 的值(正向过程);
b ). 对各层从M 到2反向计算(反向过程); b.  对同一节点j ∈M ,计算δjk ;
∑ = - = N  k  k  k  y  y  E  1工业反哺农业
2
) ( 2 1  ^
k
y  ^
) I  ( ) ( I  jk  k  k  jk
k  k
k  jk  f  y  y  y  y  E  ' - - = ∂ ∂ ∂ ∂ = ^  ^  ^  δ ∑ ∑ ∑ ∑ ∑ ∑ = ∂ ∂ = ∂ ∂ ∂ ∂ = ∂ ∂ ∂ ∂ = ∂ ∂ ' ∂ ∂ = ∂ ∂ ∂ ∂ = ∂ ∂ = m  i
亚硝酸盐氮m  mj  mk  mj  mk  k  m  i  ik  mi  jk  mk
k  m
滚子链联轴器jk  mk
mk  k
jk  k  jk  jk  k  jk  jk  jk  k  jk  k  jk  W  W  E
O
W  O  E  O  E  O  E  f  O
E  O  O  E  E  δ δ I  I  I  I  )
I ( I  I  ⎪ ⎩ ⎪ ⎨ ⎧ = ∂ ∂ ' = ∑ ik  mk  ij
k  m  mj
mk  jk  jk  O  W  E  W  f  δ
δ δ ) I  (
jk
k  jk
E  I  ∂ ∂ =
δ ik  jk
k  ij  jk  jk  k  ij  k  O  E  W  E  W  E  I  I  I  ∂ ∂ = ∂ ∂ ∂ ∂ = ∂ ∂
第三步,修正权值,W ij =W ij -μij W E ∂∂, μ>0, 其中∑∂∂=∂∂N
k ij k
ij
W E W E
。 从上述BP 算法可以看出,BP 模型把一组样本的I/O 问题变为一个非线性优化问题,
它使用的是优化中最普通的梯度下降法。如果把神经网络的看成输入到输出的映射,则这个映射是一个高度非线性映射。
设计一个神经网络专家系统重点在于模型的构成和学习算法的选择。一般来说,结构是根据所研究领域及要解决的问题确定的。通过对所研究问题的大量历史资料数据的分析及目前的神经网络理论发展水平,建立合适的模型,并针对所选的模型采用相应的学习算法,在网络学习过程中,不断地调整网络参数,直到输出结果满足要求。
网络参数确定原则:
①、网络节点  网络输入层神经元节点数就是系统的特征因子(自变量)个数,输出层神经元节点数就是系统目标个数。隐层节点选按经验选取,一般设为输入层节点数的75%。如果输入层有7个节点,输出层1个节点,那么隐含层可暂设为5个节点,即构成一个7-5-1 BP 神经网络模型。在系统训练时,实际还要对不同的隐层节点数4、5、6个分别进行比较,最后确定出最合理的网络结构。
②、初始权值的确定  初始权值是不应完全相等的一组值。已经证明,即便确定存在一组互不相等的使系统误差更小的权值,如果所设W ji 的的初始值彼此相等,它们将在学习过程中始终保持相等。故而,产生一组一0.5~+0.5的随机数,作为网络的初始权值。
③、最小训练速率  在经典的BP 算法中,训练速率是由经验确定,训练速率越大,权重变化越大,收敛越快;但训练速率过大,会引起系统的振荡,因此,训练速率在不导致振荡前提下,越大越好。用户可规定一个最小训练速率。该值一般取0.9。
④、动态参数  动态系数的选择也是经验性的,一般取0.6 ~0.8。
⑤、允许误差  一般取0.001~0.00001,当2次迭代结果的误差小于该值时,系统结束迭代计算,给出结果。
⑥、迭代次数  一般取1000次。由于神经网络计算并不能保证在各种参数配置下迭代结果收敛,当迭代结果不收敛时,允许最大的迭代次数。
⑦、Sigmoid 参数 该参数调整神经元激励函数形式,一般取0.9~1.0之间。
⑧、数据转换。允许对输入层各个节点的数据进行转换,提供转换的方法有取对数、平方根转换和数据标准化转换。
BP算法
由于一个三层BP网络可以实现任意精确近似任何连续的非线性函数 ,因此BP网络的应用非常广泛。设有m层神经网络 ,其第k层第i个神经元输入总和为netki,输出Omi ,由第k -1层的第j个神经元到第k层的第i个神经元的结合权值为Wij,取第 p (p =1 ,2 ,…… ,n)组输入样本 ,则神经元的输出为:    Oim =f(netik)
neti k=∑j Wij Vik-1
f (·)为神经元激活函数 ,取Sigmoid函数f(x) =1/(1 +e-x)  定义误差函数E为期望输出tj 与实际第m层输出Oi m之差的平方和  E =0.5∑j(Ojm -tj) 2
BP算法实际上是有指导的学习 ,学习的实质是求误差函数的极小值 ,利用非线性规划中的最快下降法 ,  即 △Wij=-ε*?E/?Wij (6 ),ε为学习步长 ,△Wij为权值
改变量。不难导出-ε*?E/?Wij =ε·djk·Ojk-1 ,k=1 ,2 ,…… ,m (7)
其中djm =Ojm(1 -Ojm) (tj-Ojm)
djk=Ojk(1 -Ojk)∑lWijdjk-1 (8)
塔塔尔得到权值修改的迭代过程 ,即
Wmj(t+1 ) =Wmj(t) +εdjmOjm
Wij(t+1 ) =Wij(t) +εdikOik (9)
其中Wmj(t) ,Wji(t)为t时刻权值 ,Wmj(t+1 ) ,Wji(t+1 )为t+1时刻权值。
改进的算法
因为BP算法存在着收敛的速度慢 ,易陷入局部极小等缺点 ,为使算法具有更大的实用性 ,必须改进BP算法。采用一种快速的BP算法 ,它对经典BP算法做如下改进,变量说明同上。
(1 )误差函数与激活函数对收敛的影响 ,主要反映在等效误差分量djm 与djk 的大小和正负变化上。根据BP网络误差逆向传播算法 ,djm 的影响更重要 ,用下式代替误差函数E
E=-∑j[tj·logOjm +(1 -tj)·djm·log(1 -Ojm)
因为logl=0 ,当期望输出值为 0或 1时 :
djm =tj-Ojm
(2 )为了抑制迭代过程的振荡 ,在公式 (9)右边增加一动量项 ,即
Wmj(t+1 ) =Wmj(t) +εdjm Ojm +α△Wmj(t)
Wji(t+1 ) =Wji(t) +εdikOik+α△Wji(t)
α为动量项常数。
(3 )采取变学习速率法 ,即
若En+1 -En< 0时 ,ε=ε  1 ,α =α1
否则ε=ε  2 ,α=0
实验中取ε  1 =1 0 ,ε  2 =0.5,α1 =0.9
输入特征值提取
神经网络系统本身具有自组织、自学习、自适应的特点。在一定意义上 ,网络本身的学习就是实现模式变换与特征提取。我们可以用神经网络通过自适应聚类学习到不同模式的特征信息进行识别。网络结构如下:
对应的输入输出关系为
z=∑j=1nqjXj
其中z是输出 ,qj是网络连接权值 ,xj是输入 ,其初始值本文实验都取 0 3。学习规则:△qj=β(xjz-qjz2 ) , j=1 ,2 ,…… ,n (1 4)
其中xjz为学习项 ,在输入xj 与输出z相关时,会加强输入端与输出端连接,第二项qj z2 为阻尼
项 ,用来保证qj2 约束接近 1 ,β取 0.5,当∑j=1n△qj<α时停止学习 ,α取一足够小值 ,实验中取 1 0 -5。

本文发布于:2024-09-23 06:32:01,感谢您对本站的认可!

本文链接:https://www.17tex.com/xueshu/35470.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:节点   输出   学习   神经网络   网络   误差
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议