当前位置:文档之家› 人工神经网络

人工神经网络

人工神经网络(ANN)模型一.概念:人工神经网络是一个并行、分布处理结构,它由处理单元及其称为联接的无向讯号通道互连而成。

这些处理单元(PE)具有局部内存,并可以完成局部操作。

每个处理单元有一个单一的输出联接,这个输出可以根据需要被分枝成希望个数的许多并行联接,且这些并行联接都输出相同的信号,即相应处理单元的信号,信号的大小不因分支的多少而变化。

在数模中主要用于数据分类,函数拟合,数据预测,插值等方面。

二.基本构成:f 是激励函数或者传递函数,将输入激励转换为输出响应的数学表达式.ip :输入量。

ijw :权重,外面神经元与该神经元的连接强度,是变量。

初始权重可以由一定算法确定,也可以随意确定。

11Rj j j n W p b==+∑)(n f a =三.几种常用激励函数1.阀值函数只有两种函数值:0或者1。

可以应用于分类判定的神经网络模型中。

2.对数函数通常应用于向后传播的神经网络模型1 ()1x f xeα-=+3.正切函数1 ()1xxe f xe---=+四.分类单层向前网络(单层感知器)多层神经网络(多层感知器)神经网络BP神经网络(重点)反馈网络(含有一个反馈回路)竞争神经网络五.人工神经网络的工作过程1.学习期。

通过学习来修改权值2.工作期。

此时连接权固定,计算神经元输出。

编制神经网络程序,主要是确定:(1)激励函数(即确定阈值的方程) (2)学习规则(3)网络结构(即处理单元数,层数及相互连接状况)六.人工神经网络的学习方式神经网络的学习也称为训练,指的是通过神经网络所在环境的刺激作用调整神经网络的自由参数,使神经网络以一新的方式对外部环境作出反应的一个过程。

学习方式可分为有导师学习和无导师学习两种。

有导师的学习输入应有响应 + 实际响应-误差信号前提是要有输入数据及一定条件下的输出数据,网络根据输入输出数据来调节本身的权重,所以学习的目的在于减小网络应有输出与实际输出之间的误差,当误差达到允许的范围,权重就不再变动了,就认为网络的输出符合实际输出。

有导师学习的训练算法的主要步骤包括: 1) 从样本集合中取一个样本(Ai ,Bi ); 2) 计算出网络的实际输出O ;3) 求D=Bi-O ;环境 教师 学习系统4) 根据D 调整权矩阵W ;5) 对每个样本重复上述过程,直到对整个样本集来说,误差不超过规定范围。

无导师的学习:只提供输入数据,而无相应输出数据。

六.神经网络的学习规则(修正权值的算法)(1)相关规则:仅仅根据连接间的激活水平改变权值。

典型的为Hebb 算法。

调整ijw的原则是:若第i 个与第j 个神经元同时处于兴奋状态,则它们的连接应当加强,(0)iji j wv v αα∆=>其中ijvv 分别为第i 个与第j 个神经元的状态。

(2)纠错规则:依赖关于输出节点的外部反馈改变权值。

如δ学习规则。

i j ijv wηδ∆=这里η是全局系数,而i i i T V δ=-,即期望值与实际值之差。

(3)无教师学习(竞争学习)规则 例如:在感知机模型中输出i o 1 nij w i I输入si输入i s 神经元i 的输入为i ij j jI w s =∑神经元i 的输出为()i i o f I = f(x)为作用函数,感知机采用【0,1】阶梯函数。

设神经元i 的期望输出为i D ,它与计算输出i o 之差为i δ=i D --i o 通过样本学习,修正权值ij w 使i δ尽可能小。

采用δ学习规则:(1)()ij i jij ij ijw s w t w t w αδ∆=+=+∆α为学习系数,α∈【0,1】。

更新权值ij w ,对样本重复以上计算,经过多次反复修正,使i δ满足给定精度。

δ学习规则只适用于线性可分函数,无法用于多层网络。

七.神经网络建模的一般步骤·了解问题的实际背景,判断是否需要使用神经网络; ·提取数据样本并标准化;·决定网络输入层、隐含层和输出层的神经元个数; ·确定激活函数; ·训练网络; ·检验网络; ·得出结论。

八.BP 算法BP 网络的学习算法是δ学习算法的推广,是有导师的学习。

该学习由正向传播和反向传播组成,在正向传播过程中,输入信息从输入层经隐单元层逐层处理并传向输出层,每一层神经元的状态只影响下一层神经元的状态。

如果在输出层不能得到期望的输出,则转入反向传播,将误差信号沿原来的链接通路返回,通过修改各层神经元的权值,使得误差信号最小。

BP 网络采用最小二乘学习算法和梯度搜索技术,以期望网络的实际输出值与期望输出值的误差均方值为最小。

BP 反向传播模型的网络结构BP 算法步骤·变量和参量包括:输入向量,权值矩阵,输出变量期望输出,学习效率,迭代次数。

·初始化赋予权值矩阵各一个较小的非零值。

·局部梯度用于指出权值实际输出最快收敛方向。

注意事项:1)权值的初始值很重要。

过大过小,都会影响学习速度,因此应选为均匀分布的小数经验值,大为 ,其中F 为所连单元的输入端个数。

为了每一步权值的调整方向是同向的,应将初始值设( 2.4/, 2.4/)F F为随机数。

(2)神经元的激励函数是Sigmoid函数,网络的期望输入应为小数。

一般情况下BP网络结构均是在隐含层采用S型激活函数,而输出层采用线性激活函数。

(3)BP网络的两种训练方式:顺序方式和批处理方式。

(4)学习步长(效率)的选取要适当。

期望学习速率决定每一次循环训练中所产生的权值变化量,过大,收敛虽然快,但容易造成网络振荡;过小,正好相反。

选取范围在0.01~0.8之间。

九.一个例子:BP网络用于函数逼近设计一个两层网络,其网络隐层各神经元的激活函数为双曲正切函数,输出层各神经元的激活函数为线性函数,隐层有5个神经元,并且有如下21组单输入矢量和相对应的目标矢量:p=[-1:0.1:1];t=[-0.96 -0.577 -0.0729 0.377 0.641 0.66 0.461 0.1336 -0.201 -0.434 -0.5 -0.393 -0.1647 0.0988 0.3072 0.396 0.3449 0.1816 -0.0312 -0.2183,-0.3201];程序说明:>> p=[-1:0.1:1];>> t=[-0.96 -0.577 -0.0729 0.377 0.641 0.66 0.461 0.1336 -0.201 -0.434 -0.5 -0.393 -0.1647 0.0988 0.3072 0.396 0.3449 0.1816 -0.0312 -0.2183 -0.3201];>>[r,q]=size(p); .>>[s2,q]=size(t);>> s1=5;>>[w1,b1]=rands(s1,r);>>[w2,b2]=rands(s2,s1);>> a2=purelin(w2*tansig(w1*p,b1),b2)>> disp_fqre=10; max_epoch=18000;err_goal=0.01; lr=0.01;>> tp=[disp_fqre max_epoch err_goal lr];>>[w1,b1,w2,b2,epochs,errors]=trainbp(w1,b1,'tansig',w2,b2,'purelin',p,t,tp)十.网络的层数理论上已经证明:具有偏差和至少一个S型隐含层加上一个线性输出层的网络,能够逼近任何有理函数增加层数主要可以进一步的降低误差,提高精度,但同时也使网络复杂化,从而增加了网络权值的训练时间。

一般情况下应优先考虑增加隐含层中神经元数,仅用具有非线性激活函数的单层网络来解决问题没有必要或效果不好。

隐含层神经元数网络训练精度的提高,可以通过采用一个隐含层,而增加其神经元数的方法来获得。

这在结构实现上,要比增加更多的隐含层简单得多在具体设计时,比较实际的做法是通过对不同神经元数进行训练对比,然后适当地加上一点余量。

初始权值的选取·一般取初始权值在(-1,1)之间的随机数·在MATLAB 工具箱中可采用函数nwlog.m 或nwtan.m 来初始化隐含层权值W1和B1。

其方法仅使用在第一隐含层的初始值的选取上,后面层的初始值仍然采用随机取数十一.反馈式神经网络(以Hopfield 网络为例)Hopfield 网络表示的是一个动态过程,需要用差分方程或微分方恒来描述。

Hopfield 神经网络模型可用来实现A/D 转换和解决组合优化计算等问题。

它分为离散型Hopfield 网络(DHNN )和连续型Hopfield 网络(CHNN).1.离散型Hopfield 网络(DHNN)·任意神经元i 与j 间的突触权值为 ,神经元之间连接是对称的,神经元自身无连接.·每个神经元都同其他的神经元相连,其输出信号经过其他神经元又有可能反馈给自己设Hopfield 网络中有n 个神经元,其中任意神经元的输入用ui 表示,输出 用表示,它们都是时间的函数,其中 也称为神经元在时刻t 的状态。

激励函数ij w i u i v )(t v i n1()()i ij j ij j iv t w u t b =≠=+∑(1)f(())i i v t v t +=n1n11()0(1)1()0,ijjij j i i ijjij j iw v t b v t w v t b =≠=≠⎧+≥⎪⎪⎪+=⎨⎪-+<⎪⎪⎩∑∑离散Hopfield网络的运行规则(1)串行(异步)工作方式在任—时刻,只有某—神经元(随机的或确定的选择)依上式变化,而其他神经元的状态不变。

(2)并行(同步)工作方式在任一时刻,部分神经元或全部神经元的状态同时改变。

串行(异步)工作方式运行步骤第一步对网络进行初始化;第二步从网络中随机选取一个神经元;第三步求出该神经元i的输出;第四步求出该神经元经激活函数处理后的输出,此时网络中的其他神经元的输出保持不变;第五步判断网络是否达到稳定状态,若达到稳定状态或满足给定条件则结束;否则转到第二步继续运行。

稳定状态若网络从某一时刻以后,状态不再发生变化,则称网络处于稳定状态网络为对称连接,即;神经元自身无连接能量函数在网络运行中不断降低,最后达到稳定。

Hopfield网络状态向着能量函数减小的方向演化。

由于能量函数有界,所以系统必然会趋于稳定状态。

连续Hopfield 网络模型的主要特性1)连续Hopfield 网络的神经元作为I/O 转换,其传输特性具有Sigmoid 特性;2)具有时空整合作用;3)在神经元之间存在着大量的兴奋性和抑制性连接,这种联接主要是通过反馈来实现。

相关主题