动力学建模之神经网络.docx
- 文档编号:13158498
- 上传时间:2023-06-11
- 格式:DOCX
- 页数:15
- 大小:111.74KB
动力学建模之神经网络.docx
《动力学建模之神经网络.docx》由会员分享,可在线阅读,更多相关《动力学建模之神经网络.docx(15页珍藏版)》请在冰点文库上搜索。
动力学建模之神经网络
动力学系统建模课程报告
神经网络综述
1神经网络介绍
1.1神经网络概述
人工神经网络简称为神经网络或称作连接模型,它是一种模X动物神经网络行为特征,进展分布式并行信息处理的算法数学模型。
这种网络依靠系统的复杂程度,通过调整内部大量节点之间相互连接的关系,从而达到处理信息的目的。
人工神经网络可以看成以人工神经为节点,用有向加权弧连接起来的有向图,有向弧的权值表示两个人工神经元相互作用的强弱。
人工神经网络模拟人类大脑神经元结构与处理问题的方式,成为为人工智能控制上的一大创新。
人工神经网络主要优点是能够自适应样本数据,不会被噪音等影响;能够处理来自多个资源和决策系统的数据;能够提供简单工具进展特征选取,产生有用的数据表示;可作为专家系统的前端;有十分快的优化功能。
神经网络可以处理非线性适应性信息,克制了传统人工智能方法对于直觉的缺陷,使之在神经专家系统、模式识别、智能控制、组合优化、预测等领域取得成功应用。
人工神经元四个根本要素:
(1)连接权,用于表示各个神经元的连接强度,正值表示加强,负值表示削弱,对应生物神经元的突触。
(2)求和单元,求取对应节点输入信号的加权和,对输入信号求加权和即求解神经节点的输入信号。
数学表达式:
。
(3)激活函数,相当于细胞体的功能,对输入的信号进展非线性映射,使输出幅值限制在一定X围内。
输出表达式:
。
激活函数有阶跃函数、分段线性函数、sigmoid函数与双曲正切对称S型函数。
(4)阀值,其作用可用数学表达式来表示:
。
其工作过程主要分为两个阶段:
(1)学习期,此时每一个计算单元的状态不变,样本数据进展输入,得到实际输出,与期望输出进展比照得出输出误差,根据输出误差修改权值,直至系统参数满足输出误差要求,这样就建立了适合样本的神经网络模型。
(2)工作期,此时各连接权是固定的,输入数据便可得到模型结果,即运用神经网络模型进展实际应用过程。
通过向环境学习来获取系统参数并改良自身性能是神经网络的一个重要特点。
一般情况下,性能的改善是按照预定的期望来修改自身的参数。
学习的方式有以下三种:
(1)有监视学习阶段:
以输入输出为训练样本集,学习系统将实际输出与期望输出进展比拟,根据一定的学习算法修正权系数与阀值,从而使系统实际输出越来越达到期望输出。
(2)无监视学习阶段:
只提供输入,不提供输出,根据输入调整权系数与阀值,主要用于某些聚类操作。
(3)强化学习:
外部环境对系统输出只给出评价〔相当于完成任务时的奖励〕,没有具体的期望输出,学习系统通过强化那些受奖励的来修改自身参数。
下面分别介绍前馈神经网络与反应神经网络算法。
2前馈神经网络算法原理
2.1前馈神经网络与BP神经网络介绍
前馈神经网络中的各个神经元只接收上一级的输入,并输出到下一级,网络中没有反应。
节点分为两类,即输入单元与计算单元,每一个计算单元可以有任意个输入,但只有一个输出。
前馈神经网络除了输入层与输出层之外,中间的层称为隐层。
前馈神经网络为一种非线性映射,通过简单的非线性处理就可以映射非常复杂的非线性关系,可用来处理难以建模的非线性系统。
前馈神经网络为一种非常强大的计算系统,但不具有丰富的动力学行为。
BP神经网络是一种利用误差反向传播训练算法含隐层的前馈神经网络。
对于输入层,输入模式送到输入层节点上,这一层节点的输出即等于其输入。
除了输入层的节点外,隐含层和输出层节点的净输入是前一层节点输出的加权和。
每个节点的激活程度由它的输入信号、激活函数和节点的偏值(或阈值)来决定。
2.2BP神经网络的算法原理
2.2.1BP神经网络算法介绍
BP学习算法的根本原理是梯度最速下降法,它的中心思想是调整权值使网络总误差最小。
也就是采用梯度搜索技术,以期使网络的实际输出值与期望输出值的误差均方值为最小。
网络学习过程是一种误差边向后传播边修正权系数的过程。
将上一层节点的输出传送到下一层时,通过调整连接权系数来达到增强或削弱这些输出的作用。
多层网络运用BP学习算法时,实际上包含了正向和反向传播两个阶段。
在正向传播过程中,输入信息从输入层经隐含层逐层处理,并传向输出层,每一层神经元的状态只影响下一层神经元的状态。
如果在输出层不能得到期望输出,如此转入反向传播,将误差信号沿原来的连接通道返回,通过修改各层神经元的权值,使误差信号最小。
2.2.2正向传播阶段
学习训练阶段,有N个样本,如果输入样
与预期输出
,隐含层第i个节点在样本p作用下的输入可以表示为:
,
(2-1)
其中
为第p个样本中第j个输入,
为隐层第i个节点的阀值,
为输入层第j个节点与隐层第i个节点之间的连接权值,M为输入层的节点数。
隐含层第i个节点的输出为:
,
(2-2)
g(.)为激活函数,sigmoid激活函数形式为
,其中
表示偏值,
为调节形状参数。
其导数可以表示为:
(2-3)
隐含层第i个节点输出
通过权系数向前传播到输出层第k个节点,并作为它的输入之一,输出层的第k个节点的输入为:
,
(2-4)
为输出层第k个节点的阀值,
为输出层第k个节点与隐层第i个节点之间的连接权值,L为输出层的节点数,q为隐层的节点数。
输出层第k个节点的输出为:
,
(2-5)
激活函数的导数:
,
(2-6)
对每一个样本p的输入模式,其误差为:
(2-7)
为第p个样本第k个输出层节点输出期望值。
对N个训练样本的总误差为:
(2-8)
N为模式样本数,L为网络输出节点数。
假如其输出与给定的期望值不一致,如此将误差信号从输出端反向传播回来,并在传播过程中对权系数进展修正,直到输出层输出值为期望输出,完成样本训练过程。
2.2.3反向修改权系数
(1)输出层权系数调整
首先定义:
(2-9)
隐层第i个节点与输出层第k个节点权值总调整量:
(2-10)
调整后的隐层第i个节点与输出层第k个节点的权值:
(2-11)
(2)隐层权系数的调整:
首先定义:
(2-12)
隐层第i个节点与输入层第j个节点权值总调整量:
(2-13)
调整后的隐层第i个节点与输入层第j个节点权值:
(2-14)
采用修正后的权系数,带入输入样本继续训练,计算结果与期望输出进展比拟。
如果达不到要求,继续返回修改权系数,这样一直循环下去,直到得出的输出达到期望的输出。
2.3运用BP神经网络解决黑箱问题
问题描述
一个控制系统,如图1所示。
该系统为两输入两输出系统,输入输出,系统参数未知,通过神经网络方法构造神经网络模型来模拟该控制系统。
图1黑想问题模型
该模型输入为
,期望输出为
,试构造图2所示的神经网络模型模拟该黑箱系统。
图2神经网络模型
2.3.2MTLAB求解神经网络
利用MATLAB中的矩阵运算功能可以方便地求解神经网络问题,相对C语言来说,省去矩阵运算程序的编写,程序结构简单。
黑箱模型的神经网络计算程序如下所示:
Ir=1;err_goal=1e-4;
%Ir为学习速率;err_goal为期望误差最小值
max_epoch=10000;
%max_epoch为训练的最大次数;a为惯性系数
Oi=0;Ok=0;
%置隐含层和输出层各神经元输出初值为零
X=[13;23];T=[0.10.9;0.10.9]
%输入样本输入与期望值
[M,N]=size(X);q=3;[L,N]=size(T);
%求隐层输入层与输出层个数
wij=rand(q,M);wki=rand(L,q);
%初始化wki、wij
forepoch=1:
max_epoch
%计算隐含层各神经元输出
NETi=wij*X;
forj=1:
N
fori=1:
q
Oi(i,j)=1/(1+exp(-NETi(i,j)));
end
end
%计算输出层各神经元输出
NETk=wki*Oi;
fori=1:
N
fork=1:
L
Ok(k,i)=1/(1+exp(-NETk(k,i)));
end
end
%计算误差函数
E=((T-Ok)'*(T-Ok))/2;
if(E %调整输出层加权系数 deltak=Ok.*(1-Ok).*(T-Ok); wki=wki+Ir*deltak*Oi'; %调整隐含层加权系数 deltai=Oi.*(1-Oi).*(deltak'*wki)'; wij=wij+Ir*deltai*X'; end epoch%显示计算次数 %BP网络的第二阶段工作期 X1=X; %计算隐含层各神经元输出 NETi=wij*X1; forj=1: N fori=1: q Oi(i,j)=1/(1+exp(-NETi(i,j))); end end %计算输出层各神经元输出 NETk=wki*Oi; fori=1: N fork=1: L Ok(k,i)=1/(1+exp(-NETk(k,i))); end end Ok 当学习速率取1时,结果如下: epoch=626 可见,运用神经网络模型可以很好逼近系统模型。 在满足误差条件下,可以有效解决黑箱问题。 神经网络方法对于解决非线性问题有很好的适用性。 2.3.3BP算法的改良-修改学习速率 学习速率 的选择非常重要。 在学习初期阶段, 选的大可使学习速度加快,但临近最优点时, 必须相当小;否如此会产生反复震荡而不能收敛。 可采用变学习速率方案,令学习速率随着学习的进展而逐步减小,可收到很好的效果。 引入惯性系数的方法可使收敛速度加快, 的取值可选在0.9左右。 上节中取 需要运算626次,运算次数过多。 如果仅仅将学习效率改为10,运算次数大为减小,结果如下所示: epoch=139 运用前馈BP神经网络可以很好地解决非线性系统建模问题,对黑箱系统有很好的适用性。 前馈BP神经网络输入输出,为有监视学习。 通过输入求解实际输出,与期望值进展比拟,不满足要求返回修改系统参数,直至达到所要求精度。 在控制系统模型求解中,BP神经网络有良好的应用前景。 只要有足够多的隐层与隐节点,就可以逼近任意非线性映射,但其收敛速度慢、有局部极值与难以确定隐含层与隐节点的个数,RBF神经网络等对其进展了改良。 3反应神经网络 3.1反应神经网络与Hopfield神经网络介绍 反应型神经网络又称为递归网络,在反应神经网络中,输入信号决定反应系统的初始状态,然后系统经过一系列状态转移后收敛于平衡状态。 如果能找到网络Lyapunov函数,如此能保证网络从任意初始状态都能收敛于局部最小点,反应神经网络中所有节点都是计算单元,同时也接收输入并向外输出。 Hopfield神经网络网络如图3所示,每一个神经元都将自己的输出通过连接权传送给其他神经元,同时又接收其他神经元传来的信息,即网络中t时刻的输出状态实际上间接与自己的t-1时刻的输出状态有关。 当网络达到稳定状态时,也就是它的能量函数达到最小的时候。 图3Hopfield神经网络 3.2Hopfield神经网络算法原理 Hopfield神经网络有n个神经元,其中任意神经元的输入用 表示,输出用 表示,它们都是时间t的函数, 为神经元i在t时刻的状态。 (3-1) 表示神经元i的偏差与阀值。 相应神经元i的输出为 (3-2) 激励函数 可取符号函数,神经元的输出为1或-1,即 (3-3) Hopfield神经网络运行方式为从初始状态按能量减小的方向进展演化,直至稳定状态。 达到稳定状态即为网络的输出。 Lyapunov能量函数定义为〔对于任一个神经元〕: (3-4) 从t时刻到t+1时刻能量的变化为: (3-5) 可以看出 ,由于网络中任意一个神经元都按同一规如此进展变换,所以网络的能量总变化量应不大于零,即 。 记 (3-6) 如此有 ,有三种可能的情况,如下所示: (1)第i个神经元没有改变状态,即 ,能量改变量为 。 (2)第i个神经元状态从1变为0,即 ,只有 ,满足 。 (3)第i个神经元状态从0变为1,即 ,只有 ,满足 。 计算神经网络时,当所有的神经元都被访问到,并且没有神经元改变状态,就达到全局稳定,也就可以认为网络已经收敛了。 式〔3-7〕用来固定网络的权值,以达到这样一个目的: 预存的状态矢量能够对应能量的极小值,并且网络对应于每一个这样的预存值都有一个稳定的状态。 (3-7) 为第p个训练矢量第i个分量, 为第i个神经元与第j个神经元的权值。 Hopfield神经网络能量函数达到最小的时候,网络达到稳定状态。 Hopfield神经网络的能量函数是朝着梯度减小的方向变化,但其仍然存在一个问题,那就是一旦能量函数陷入局部极小值,它将不能跳出局部极小值点,达到全局最小值,无法求解网络最优解。 4小结 人工神经网络建立了由符号系统表示的认知模型,强调并行分布处理,通过大量神经元的相互作用进展信息处理,每一个神经元的兴奋与抑制信号将传送给其他神经元。 人工神经网络鲁棒性非常好,不会受外界噪声等干扰信号的影响。 人工网络的表达方式建立在简单符号系统结构之上,更加接近人类的自然语言;其基于神经网络机构与运算规如此进展模型输出,更符合人类的思维。 人工神经网络分为前馈神经网络与反应神经网络,前馈神经网络适合非线性映射,反应神经网络可以解决一些动力学问题。 其特别适合一些难以建模的非线性场合,其将来会发挥更加巨大的作用。 参考文献 [1]朱福喜.人工智能根底教程[M].: 清华大学,2011. 注: BP神经网络局部参照“复杂机电系统智能控制技术〞课件提炼完成,里面参加自己的总结,例题为自己完成。 反应神经网络局部参照《人工智能根底教程》完成。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 动力学 建模 神经网络