神经网络模型及仿真

上传人:woxinch****an2018 文档编号:57410950 上传时间:2018-10-21 格式:PPT 页数:75 大小:1.72MB
返回 下载 相关 举报
神经网络模型及仿真_第1页
第1页 / 共75页
神经网络模型及仿真_第2页
第2页 / 共75页
神经网络模型及仿真_第3页
第3页 / 共75页
神经网络模型及仿真_第4页
第4页 / 共75页
神经网络模型及仿真_第5页
第5页 / 共75页
点击查看更多>>
资源描述

《神经网络模型及仿真》由会员分享,可在线阅读,更多相关《神经网络模型及仿真(75页珍藏版)》请在金锄头文库上搜索。

1、管理建模与仿真,哈尔滨工程大学经济管理学院胡玉真 ,第4章 神经网络模型及仿真,第4章 神经网络模型及仿真,4.1 人工神经网络基本理论 4.1.1 生物神经元及生物神经网络神经元是大脑处理信息的基本单元,以细胞体为主体,由许多向周围延伸的不规则树枝状纤维构成的神经细胞,其形状很像一棵枯树的枝干。它主要由细胞体、树突、轴突和突触(Synapse,又称神经键)组成。人脑大约由1000多亿个神经元组成,神经元互相连接成神经网络。,图1 生物神经元示意图,从神经元各组成部分的功能来看,信息的处理与传递主要发生在突触附近。当神经元细胞体通过轴突传到突触前膜的脉冲幅度达到一定强度,即超过其阈值电位后,突

2、触前膜将向突触间隙释放神经传递的化学物质。突触有两种:兴奋性突触和抑制性突触。前者产生正突触后电位,后者产生负突触后电位。,图1 生物神经元示意图,4.1.2 人工神经元模型 1. 人工神经元模型的三要素, 连接权: 求和单元: 激励函数(传递函数) :,2. 人工神经元模型的数学表达一,模型中 为输入信号, 为输出信号, 为神经元的阈值。该模型的数学表达式为:,4. 激励函数的形式, 阈值函数: 分段线性函数: sigmoid函数:,4.1.3 人工神经网络结构及工作方式 1、人工神经网络模型拓扑结构人工神经网络(Artificial Neural Networks,ANN)是对人类大脑系统

3、的一种仿真,简单地讲,它是一个数学模型,可以用电子线路来实现,也可以用计算机程序来模拟,是人工智能研究的一种方法。实际上它是由大量的、功能比较简单的形式神经元互相连接而构成的复杂网络系统,用它可以模拟大脑的许多基本功能和简单的思维方式。,神经网络的优点是多输入多输出实现了数据的并行处理以及自学习能力。前向反馈(back propagation,BP)网络和径向基(radical basis function,RBF)网络是目前技术最成熟、应用范围最广泛的的两种网络。 神经网络的拓扑结构包括: 网络层数 各层神经元数量 各神经元之间相互连接方式, 前馈型网络: 反馈型网络:,2、神经网络结构,

4、学习期(训练期): 各计算单元状态不变,各连接线上权值通过学习来修改 工作期:连接权固定,计算单元状态变化,以达到某种稳定状态,3、神经网络工作方式, 有教师学习: 外界存在一个教师,对给定的一组输入,提供应有的输出(标准答案),学习系统可根据实际输出与标准答案之间的差值来调整系统参数,4.1.4 神经网络的学习方法,1. 学习方式, 无教师学习:学习系统按照环境提供数据的某些统计规律来调节自身参数, 强化学习:环境对系统输出结果只给出评价信息(奖或惩),系统通过强化受奖动作来改善自身性能, 考察神经元 k 在 n 时刻的输入和输出 输入: 实际输出: 应有输出: 由误差信号构造能量函数:其中

5、E(.)为求期望算子 求解最优化问题: 得出系统参数:w,2. 学习规则,通常情况下用时刻 n 的瞬时值 代替J,即求解最优化问题由数值迭代算法(如最速下降法、模拟退火算法等),可得其中 为学习步长,神经学家Hebb提出的学习规则:当某一连接两端的神经元同步激活(或同为抑制)时,该连接的强度应增强,反之应减弱,数学描述如下:其中 分别为 wij 两端神经元的状态 最常用的一种情况是:,3. Hebb学习规则,4.1.5 BP算法(向后传播算法),BP(Back Propagation)网络是1986年由Rumelhart和McCelland为首的科学家小组提出,是一种按误差逆传播算法训练的多层

6、前馈网络,是目前应用最广泛的神经网络模型之一。BP网络能学习和存贮大量的输入-输出模式映射关系,而无需事前揭示描述这种映射关系的数学方程。它的学习规则是使用最速下降法,通过反向传播来不断调整网络的权值和阈值,使网络的误差平方和最小。BP神经网络模型拓扑结构包括输入层、隐含层(中间层)和输出层。,BP算法由数据流的前向计算(正向传播)和误差信号的反向传播两个过程构成。正向传播时,传播方向为输入层隐含层输出层,每层神经元的状态只影响下一层神经元。若在输出层得不到期望的输出,则转向误差信号的反向传播流程。通过这两个过程的交替进行,在权向量空间执行误差函数梯度下降策略,动态迭代搜索一组权向量,使网络误

7、差函数达到最小值,从而完成信息提取和记忆过程。,1、正向传播设 BP网络的输入层有n个节点,隐含层有q个节点,输出层有m个节点,输入层与隐含层之间的权值为 ,隐含层与输出层之间的权值为 ,如图所示。隐含层的传递函数为f1(),输出层的传递函数为f2() ,则隐含层节点的输出为(将阈值写入求和项中):,k=1,2,q,输出层节点的输出为:,j=1,2,m,Sj,Sk,Ep是wjk、vki的函数,2、反向传播 (1)定义误差函数输入 P个学习样本,用 来表示。第 P个样本输入到网络后得到输出 (j=1,2,m)。采用平方型误差函数,于是得到第P个样本的误差Ep:,其中: 为期望输出,对于P个样本,

8、全局误差为:,(2)输出层权值的变化采用累计误差BP算法调整 ,使全局误差E变小,即:式中: 为学习率 定义误差信号为:其中第一项:,第二项:是输出层传递函数的偏微分。 于是:由链定理得:于是输出层各神经元的权值调整公式为:,(3)隐含层权值的变化定义误差信号为:其中第一项:依链定理有:,第二项: 是隐含层传递函数的偏微分。 于是:由链定理得:从而得到隐含层各神经元的权值调整公式为:,4.2 BP神经网络MATLAB工具箱,MATLAB神经网络工具箱包含许多用于BP网络分析与设计的函数,这里主要介绍以下几类函数: 前向网络创建函数:newcf、newff和newfftd 激励函数:logsig

9、、tansig、purelin 学习函数:learngd、learngdm 性能函数:mse、msereg,4.2.1 BP网络创建函数BP网络创建函数中用得到的变量及含义: PR:由每组输入元素的最大值和最小值组成的R2的矩阵; Si:第i层网络的神经元个数,共计N层; TFi:第i层的激励函数,默认为“tansig”; BTF:网络的训练函数,默认为“trainlm”; BLF:权值与阈值的学习算法,默认为“learngdm”; PF:网络的性能函数,默认为“mse”。,1、函数newcf 该函数用于创建级联前向BP网络,其使用格式为: net=newcf(PR,S1 S2 SN,TF1

10、TF2TFN,BTF,BLF,PF) 2、函数newff 该函数用于创建一个BP网络,其使用格式为: net=newff(PR,S1 S2 SN,TF1 TF2TFN,BTF,BLF,PF) 3、函数newfftd 该函数用于创建一个存在输入延迟的前向网络,其使用格式为: net=newfftd(PR,S1 S2 SN,TF1 TF2TFN,BTF,BLF,PF),4.2.2 神经元激励函数 BP网络经常采用S行的对数或者正切函数和线性函数 1、函数logsigS型对数函数使用格式: A=logsig(N) info=logsig(code) 其中,N为Q个S维的输入列向量;A为函数返回值,位

11、于区间(0,1)中;info=logsig(code)根据code值不同返回不同的信息,2、函数tansig双曲正切S型激励函数其使用格式为: A=tansig(N) info=tansig(code) 其中,N为Q个S维的输入列向量;A为函数返回值,位于区间(-1,1)中;info=tansig(code)根据code值不同返回不同的信息(同函数logsig)。,3、函数purelin线性激励函数其使用格式为: A=purelin(N) info=purelin(code) 其中,N为Q个S维的输入列向量;A为函数返回值,A=N;info=tansig(code)根据code值不同返回不同的

12、信息(同函数logsig),4.2.3 BP网络学习函数(训练函数),常见学习函数,1、函数learngd函数learngd是梯度下降法学习函数,视同输入和误差,以及权值和阈值的学习速率计算权值或阈值的变化率。其使用格式为: dW,LS=learngd(W,P,Z,N,A,T,E,gW,gA,D,LP,LS) db,LS=learngd(b,ones(1,Q),Z,N,A,T,E,gW,gA,D,LP,LS) 其中,W为SR为的权值矩阵;b为S维的阈值向量;P为Q组R维的输入向量;ones(1,Q)为产生一个Q维的输入向量;Z为Q组S维的加权输入向量;N、A分别为Q组S维的输入、输出向量;T、

13、E分别为Q组S维的层目标向量、层误差向量;gW、gA分别为与性能相关的SR的维梯度、维输出梯度;D为SS维的神经元距离矩阵;LP为学习参数,通过其设置学习速率,设置格式为LP.lr=0.001;LS为学习状态,初始状态下为空;dW为SR维的权值或阈值变化率矩阵;db为S维的阈值变化率向量;ls为新的学习状态,2、函数learngdm函数learngdm为梯度下降动量学习函数,其使用格式为: dW,LS=learngdm(W,P,Z,N,A,T,E,gW,gA,D,LP,LS) db,LS=learngdm(b,ones(1,Q),Z,N,A,T,E,gW,gA,D,LP,LS)其中各参数的含义

14、与函数learngd相同。动量常熟mc是通过学习参数LP设置的,格式为LP.mc=0.8。,4.2.4 BP网络训练函数,1、函数trainbfg函数trainbfg为BFGS准牛顿BP算法函数,除BP网络外,该函数也可以训练任意形式的神经网络,其使用格式为: net,TR,Ac,E1=trainbfg(NET,Pd,T1,Ai,Q,TS,VV,TV) 其中,NET为待训练的神经网络;Pd为有延迟的输入向量;T1为层次目标向量;Ai为初始的延迟条件;Q为批量;TS为时间步长;VV用于确认向量结构或者为空;TV用于检验向量结构或者为空;net为训练后的神经网络;TR为每步训练的有信息记录,包括:

15、TR.epoch时刻点,TR.perf训练性能,TR.vperf确认性能,TR.tperf检验性能;Ac为上一步训练中聚合层的输出;E1为上一步训练中的层次误差。,BP网络默认训练参数,2、函数traingd 函数traingd是梯度下降BP算法训练函数,其使用格式: net,TR,Ac,E1=traingd(NET,Pd,T1,Ai,Q,TS,VV,TV) 3、函数traingdm 函数traingdm是梯度下降动量BP算法训练函数,其使用格式: net,TR,Ac,E1=traingdm(NET,Pd,T1,Ai,Q,TS,VV,TV),4.2.5 性能函数,1、函数mse 函数mse为均方差性能函数,其使用格式为: perf=mse(e,x,pp) perf=mse(e,net,pp) 其中,e为误差向量矩阵;x为所有的权值和阈值向量,可忽略;pp为性能参数,可忽略;net为待评定的神经网络;perf为函数的返回值,为平均绝对误差。,应用实例:,clc; clear; %清屏,清除内存 %构建网络结构 net=newff(-10 10,4 1,logsig,purelin); p = -10 -5 0 5 10; t = 0 0 1 1 1; y = sim(net,p); e = t-y perf = mse(e),

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 其它相关文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号