数模论坛

 找回密码
 注-册-帐-号
搜索
热搜: 活动 交友 discuz
楼主: b

数字神经网络系统

  [复制链接]
b
 楼主| 发表于 2004-5-28 02:35:35 | 显示全部楼层
<TABLE height=897 cellSpacing=0 cellPadding=0 width=778 border=0><TR><TD width="100%" height=18>< align=center>3.3 模糊神经网络的学习</P></TD></TR><TR><TD width="100%" height=348><>在模糊神经网络中,混合模糊神经网络在目前还是表示一种算法,所以它不存在学习问题。所谓学习,是指对逻辑模糊神经网络和常规模彻神经网络而言的。在这一节中,分别介绍逻辑模糊神经网络的学习,算术模糊神经网络的学习方法。 </P><>3.3.1 逻辑模糊神经网络的学习算法</P><P>考虑图3—1所示的模糊神经元模型。在图中,xi,i=O,1,…,n,是模糊输入信号;W<SUB>j</SUB>,j=0 ,1,…,n,是模糊权系数。</P><P>逻辑模糊神经网络的神经元模型是由式(3—3)来描述的。对于“或”神经元用式(3—4)(3-5)表示,而“与”神经元则用式(3—6)(3—7)表示。</P><P>设Y<SUB>d</SUB>是输出的期望值,Y<SUB>d</SUB>∈[-1,1]。而Y是模糊神经元的实际输出;则有输出误差e:</P><P>e-Y<SUB>d</SUB>-Y∈[-1,1]</P><P>执行学习的目的就是修改神经元中的权系数W'和增益参数g。使到输出的误差e最小。学习结构框图如图3—8所示。</P><P align=center><img src="http://www.jgchina.com/ednns/ednnsbk/6/6.3.ht42.gif"></P><P align=center>图3-8 模糊神经元学习框架</P></TD></TR><TR><TD width="100%" height=574><P>如果输入的信号属于[0,1]<SUP>n+1</SUP>超立方体空间的,则先变换到[-1,1]<SUP>n+1</SUP>超立方体空间。再送入神经元中,神经元的输出Y和给定的期望值Y<SUB>d</SUB>比较。产生误差e。学习机构根据误差的情况分别对权系数W和激发函数的增益g进行修改。使神经元的输出Y趋于期望Y<SUB>d</SUB>。 </P><P>考虑神经元的输入和权系数向量分别如式(3—8),式(3—9)所示。</P><P>X(t)=[X<SUB>0</SUB>(t),X<SUB>1</SUB>(t),...,X<SUB>n</SUB>(t)]<SUP>T</SUP>∈[0,1]<SUP>n+1</SUP></P><P>W(t)=[W<SUB>0</SUB>(t),W<SUB>1</SUB>(t),...,W<SUB>n</SUB>(t)]<SUP>T</SUP>∈[0,1]<SUP>n+1</SUP></P><P>令</P><P>Z<SUB>i</SUB>(t)=2X<SUB>i</SUB>(t)-1</P><P>W<SUB>i</SUB>'(t)=2W<SUB>i</SUB>(t)-1</P><P>则有</P><P>Z(t)=[Z<SUB>0</SUB>(t),Z<SUB>1</SUB>(t),...,Z<SUB>n</SUB>(t)]<SUP>T</SUP>∈[-1,1]<SUP>n+1</SUP></P><P>W'(t)=[W<SUB>0</SUB>'(t),W<SUB>1</SUB>'(t),...,W<SUB>n</SUB>'(t)]<SUP>T</SUP>∈[0,1]<SUP>n+1</SUP></P><P>模糊神经元的学习算法如下</P><P>1.权系数W'的学习算法</P><P>W'(t+1)=W'(t)OR ΔW'(t)=S[W'(t),ΔW'(t)]              (3-87)</P><P>其中</P><P>ΔW'(t)=Z(t) AND e(t)=T|Z(t),e(t)|</P><P>2.S函数的增益g的学习算法</P><P>g(t+1)=g(t) OR Δg(t)=S|g(t),Δg(t)|      (3-88)</P><P>其中</P><P>Δg(t)=u(t) AND e(t)=T[u(t),e(t)]</P><P align=center><img src="http://www.jgchina.com/ednns/ednnsbk/6/6.3.ht43.gif"></P><P align=center>图3-9 模糊神经元的学习结构</P></TD></TR><TR><TD width="100%" height=304><P>在上面式(3—87)中,结出了模糊神经元权系数学习的算法;它也表示了一种模糊神经结构的实际模型。如果认为权系数是外部输人和树突输入之间的模糊关系,那么,模糊神经网络是可以通过经验进行学习的。
在上面式(3—88)中,修改g实际上是修改激发的灵敏度。因为参数g影响S函数的斜率,很明显也就影响神经元受激发的灵敏度。 </P><P>模糊神经元的学习结构如图3—9中所示。</P><P>在图3—9中,很明显有2个学习环节,一个是权系数W'的学习环节,另一个是增益g的学习环节,它们是相互独立的。在这两个环节中,其中的Z-1处理框图是表示延时一个采样周期,故而它的输入为W'(t+1)时,输出为W'(t);输入为g(t+1)时,输出为g(t)。就是说这时Z-1的z是脉冲传递函数的符号;而不是双极信号z(t)中的信号。</P></TD></TR></TABLE>
b
 楼主| 发表于 2004-5-28 02:36:22 | 显示全部楼层
<TABLE height=897 cellSpacing=0 cellPadding=0 width=778 border=0><TR><TD width="100%" height=304><>3.3.2算术模糊神经网络的学习算法</P><>算术模糊神经网络也称常规模糊神经网络,对算术模糊神经网络的学习算法随着这种网络的提出也同时提出了,但在这方面的研究方法有多种,而这些方法各有特点;在不同的场合和条件下有各自的优点。1992年,Buckley和Hayashi提出了模糊反向传播算法;同时.Ishibuchi等人提出了基于。截集的反向传播法。1994年,Buckley和Hayashi提出模糊神经网络的遗传算法。1995年,Ishibuchi等人提出了具有三角模糊权的模糊神经网络的学习算法。还有人提出了一些其它的算法。</P><>在各种学习算法中,较有实际意义的是具有三角模糊权的模糊神经网络的学习算法.和遗传学习算法。</P><P>对于具有三角模物权的模城神经网络的学习算法,首先考虑模数数的模糊乘式(3—20)和模糊加式(3—23)。模糊非线性映射式(3—25),这些运算都是在水平截集的情况中执行的。</P><P>对于α截集,为了方便书写,这里不采用式(3—58)的表示方法,而采用下面表示方法:</P><P>对于模糊数N的α截集,用N[α]表示,并且有:</P><TABLE cellSpacing=0 cellPadding=0 width="80%" align=center border=0><TR><TD width="78%"><img src="http://www.jgchina.com/ednns/ednnsbk/6/6.3.ht44.gif"></TD><TD width="22%">(3-89)</TD></TR><TR><TD width="78%"><FONT size=2>其中:N(n)是隶属函数,R是全体实数集。
由于模糊数的水平截集是一个闭区间,故α截集N[α]可以表示为</FONT></TD><TD width="22%"></TD></TR><TR><TD width="78%"><img src="http://www.jgchina.com/ednns/ednnsbk/6/6.3.ht45.gif"></TD><TD width="22%">(3-90)</TD></TR><TR><TD width="78%"><FONT size=2>其中n<SUB>L</SUB>(α)是N[α]的下限值;
n<SUB>u</SUB>(α)是N[α]的上限值。
根据区问算法,模糊数的运算可以写成α截集的运算</FONT></TD><TD width="22%"></TD></TR><TR><TD width="78%"><img src="http://www.jgchina.com/ednns/ednnsbk/6/6.3.ht46.gif"></TD><TD width="22%">(3-91)</TD></TR></TABLE></TD></TR><TR><TD width="100%" height=11><P><img src="http://www.jgchina.com/ednns/ednnsbk/6/6.3.ht47.gif">
       <P><img src="http://www.jgchina.com/ednns/ednnsbk/6/6.3.ht48.gif"></P></TD></TR><TR><TD width="100%" height=11><TABLE cellSpacing=0 cellPadding=0 width="80%" align=center border=0><TR><TD width="77%"><img src="http://www.jgchina.com/ednns/ednnsbk/6/6.3.ht49.gif"></TD><TD width="23%">(3-93)</TD></TR><TR><TD width="77%"><FONT size=2>在b<SUB>u</SUB>(α)&gt;b<SUB>L</SUB>(α)&gt;0的情况中,则式(3—92)可以简化为</FONT></TD><TD width="23%"></TD></TR><TR><TD width="100%" colSpan=2><img src="http://www.jgchina.com/ednns/ednnsbk/6/6.3.ht50.gif"> <P align=right>(3-94)    </P></TD></TR></TABLE></TD></TR><TR><TD width="100%" height=375><P>一、算术模糊神经网络输出的计算 </P><P>考虑一个三层的前向神经网络,用I表示输入层,H表示隐层,O表示输出层。假设其输入、输出、权系数和阀值都是模糊量;其中输人、输出是任意模糊量,但权系数和阀值是三角模糊量。这种模糊神经网络如图3—10所示。</P><P align=center><img src="http://www.jgchina.com/ednns/ednnsbk/6/6.3.ht51.gif"></P><P align=center>图3-10 模糊神经网络</P></TD></TR><TR><TD width="100%" height=99><P>很明显,对于图3—10所示的网络有如下输入输出关系,输人层的输出为I<SUB>i</SUB>:
I<SUB>i</SUB>=X<SUB>i</SUB> i=1,2,...,nI            (3-95) </P><P>隐层的输出为Hj:</P><P>H<SUB>j</SUB>=f(U<SUB>j</SUB>),j=1,2,...,nH           (3-96)</P><TABLE cellSpacing=0 cellPadding=0 width="80%" align=center border=0><TR><TD width="85%"><img src="http://www.jgchina.com/ednns/ednnsbk/6/6.3.ht52.gif"></TD><TD width="15%">(3-97)</TD></TR><TR><TD width="85%"><FONT size=2>输出层的输出为Ok:
O<SUB>k</SUB>=f(U<SUB>k</SUB>),k=1,2,...,nO </FONT>            </TD><TD width="15%">(3-98)</TD></TR><TR><TD width="85%"><img src="http://www.jgchina.com/ednns/ednnsbk/6/6.3.ht53.gif"></TD><TD width="15%">(3-99)</TD></TR></TABLE></TD></TR><TR><TD width="100%" height=95><P>在上面(3—95)到(3—99)式中,X<SUB>i</SUB>是模糊输入,W<SUB>ji</SUB>,W<SUB>kj</SUB>是模糊权系数,θ<SUB>j</SUB>,θ<SUB>k</SUB>是模糊阀值。 </P><P>为方便计算,在图3—10所示的模糊神经网络中,采用水平截集进行计算。对于α截集,则模糊神经网络输入输出关系可以写为下面式子:</P><P>对于输入层,有</P><P>I<SUB>i</SUB>[α]=X<SUB>i</SUB>[α]         (3-100)</P><P>对于隐层,有</P><P>H<SUB>j</SUB>[α]=f(U<SUB>j</SUB>[α])        (3-101)</P><TABLE cellSpacing=0 cellPadding=0 width="80%" align=center border=0><TR><TD width="72%"><img src="http://www.jgchina.com/ednns/ednnsbk/6/6.3.ht54.gif"></TD><TD width="28%">(3-102)</TD></TR><TR><TD width="72%"><FONT size=2>对于输出层,有 </FONT><P><FONT size=2>O<SUB>k</SUB>[α]=f(U<SUB>k</SUB>[α])           (3-103)</FONT> </P></TD><TD width="28%"></TD></TR><TR><TD width="72%"><img src="http://www.jgchina.com/ednns/ednnsbk/6/6.3.ht55.gif"></TD><TD width="28%">(3-104)</TD></TR></TABLE></TD></TR><TR><TD width="100%" height=181><P>从上面(3—100)到(3—104)式中,可以看出:神经网络的模糊量α截集输出是由输入,隐层和阀值的α截集计算出来的。在输入的模糊量的α截集X<SUB>i</SUB>[α]是非负的,即有 </P><P>X<SUB>i</SUB>[α]=[X<SUB>L</SUB>(α),X<SUB>U</SUB>(α)]          (3-105)</P><P>并且</P><P>0≤X<SUB>L</SUB>(α)≤X<SUB>U</SUB>(α)</P><P>从而,对于输入层,隐层及输出层,可以用下列式子计算:</P><P>1.对于输入层:</P><P>I<SUB>i</SUB>[α]=X<SUB>i</SUB>[α]=[X<SUB>iL</SUB>(α),X<SUB>iU</SUB>(α)]           (3-106)</P><P>2.对于隐层:</P><P>H<SUB>j</SUB>[α]=[h<SUB>jL</SUB>(α),h<SUB>jU</SUB>(α)]
          =[f(U<SUB>jL</SUB>(α)),f(U<SUB>jU</SUB>(α))]      (3-107)</P><P>其中</P><TABLE cellSpacing=0 cellPadding=0 width="80%" align=center border=0><TR><TD width="79%"><img src="http://www.jgchina.com/ednns/ednnsbk/6/6.3.ht56.gif"></TD><TD width="21%">(3-108)</TD></TR><TR><TD width="79%"><img src="http://www.jgchina.com/ednns/ednnsbk/6/6.3.ht57.gif"></TD><TD width="21%">(3-109)</TD></TR></TABLE></TD></TR><TR><TD width="100%" height=67><P>3.对于输出层 </P><P>O<SUB>k</SUB>[α]=[O<SUB>kL</SUB>(α),O<SUB>kU</SUB>(α)]
          =[f(U<SUB>kL</SUB>(α)),f(U<SUB>kU</SUB>(α))]      (3-110)</P><P>其中</P><TABLE cellSpacing=0 cellPadding=0 width="80%" align=center border=0><TR><TD width="79%"><img src="http://www.jgchina.com/ednns/ednnsbk/6/6.3.ht58.gif"></TD><TD width="21%">(3-111)</TD></TR><TR><TD width="79%"><img src="http://www.jgchina.com/ednns/ednnsbk/6/6.3.ht59.gif"></TD><TD width="21%">(3-112)</TD></TR></TABLE></TD></TR><TR><TD width="100%" height=170><P>二、模糊神经网络的学习 </P><P>在模糊神经网络的学习中首先要给出目标函数,然后给出学习算法公式,再给出学习步骤。</P><P align=center><img src="http://www.jgchina.com/ednns/ednnsbk/6/6.3.ht1.gif"></P><P align=center>图3-11 目标函数</P></TD></TR><TR><TD width="100%" height=231><P>1.目标函数 </P><P>考虑对应于模糊输人Xi, i=1,2,…,nI,有目标输出T<SUB>k</SUB>, k=1,2,…,nO;对于网络的第k个输出端O<SUB>k</SUB>的α截集以及相应的目标输出T<SUB>k</SUB>,可以定义目标函数e。</P><P>在图3—11中,取O<SUB>k</SUB>和T<SUB>k</SUB>的α截集的上限值和下限值的误差的平方,并用 α值进行加权作为目标函数e,有</P><P>e<SUB>k</SUB>(α)=e<SUB>kL</SUB>(α)+e<SUB>kU</SUB>(α)       (3-113)</P><P>其中:e<SUB>kL</SUB>( α)是O<SUB>k</SUB>和T<SUB>k</SUB>的 α截集的下限值的误差平方的。加权值:</P><TABLE cellSpacing=0 cellPadding=0 width="80%" align=center border=0><TR><TD width="76%"><img src="http://www.jgchina.com/ednns/ednnsbk/6/6.3.ht2.gif"></TD><TD width="24%">(3-114)</TD></TR><TR><TD width="76%"><FONT size=2>e<SUB>kU</SUB>(α)是O<SUB>k</SUB>和T<SUB>k</SUB>的α截集的上限值的误差平方的 α加权值:</FONT></TD><TD width="24%"></TD></TR><TR><TD width="76%"><img src="http://www.jgchina.com/ednns/ednnsbk/6/6.3.ht3.gif"></TD><TD width="24%">(3-115)</TD></TR><TR><TD width="76%"><FONT size=2>从而O<SUB>k</SUB>和T<SUB>k</SUB>的α截集的目标函数可以定义为e( α)</FONT></TD><TD width="24%"></TD></TR><TR><TD width="76%"><img src="http://www.jgchina.com/ednns/ednnsbk/6/6.3.ht4.gif"></TD><TD width="24%">(3-116)</TD></TR><TR><TD width="76%"><FONT size=2>则输入输出对X<SUB>i</SUB>,T<SUB>k</SUB>的目标函数可以给出如下:</FONT></TD><TD width="24%"></TD></TR><TR><TD width="76%"><img src="http://www.jgchina.com/ednns/ednnsbk/6/6.3.ht5.gif"></TD><TD width="24%">(3-117)</TD></TR></TABLE></TD></TR><TR><TD width="100%" height=96><P>2.学习算法 </P><P>假设三角模糊权系数W<SUB>kj</SUB>,W<SUB>ji</SUB>可以用三个参数表示,即</P><P>W<SUB>kj</SUB>=(W<SUB>kjL</SUB>,W<SUB>kjC</SUB>,W<SUB>kjU</SUB>)           (3-118)</P><P>其中:W<SUB>kjL</SUB>是权系数的最小值,即其零截集的下限值;</P><P>W<SUB>kjC</SUB>是权系数的中值,即其顶角所对应的值;</P><P>W<SUB>kjU</SUB>是权系数的最大值,即其零截集的上限值;</P><P>W<SUB>ji</SUB>=(W<SUB>jiL</SUB>,W<SUB>jiC</SUB>,W<SUB>jiU</SUB>)           (3-119)</P><P>其中参数的意义和W<SUB>kj</SUB>中的类同。</P><P>很明显,有</P><TABLE cellSpacing=0 cellPadding=0 width="80%" align=center border=0><TR><TD width="76%"><img src="http://www.jgchina.com/ednns/ednnsbk/6/6.3.ht6.gif"></TD><TD width="24%">(3-120)</TD></TR><TR><TD width="76%"><img src="http://www.jgchina.com/ednns/ednnsbk/6/6.3.ht7.gif"></TD><TD width="24%">(3-121)</TD></TR></TABLE></TD></TR></TABLE>
b
 楼主| 发表于 2004-5-28 02:36:38 | 显示全部楼层
<TABLE height=897 cellSpacing=0 cellPadding=0 width=778 border=0><TR><TD width="100%" height=2><>由于W<SUB>kj</SUB>是表示隐层和输出层之间的权系数,可以先考虑其学习算法。根据梯度法.可以用目标函数对Wkj进行修正: </P><TABLE cellSpacing=0 cellPadding=0 width="80%" align=center border=0><TR><TD width="76%"><img src="http://www.jgchina.com/ednns/ednnsbk/6/6.3.ht8.gif"></TD><TD width="24%">(3-122)</TD></TR><TR><TD width="76%"><img src="http://www.jgchina.com/ednns/ednnsbk/6/6.3.ht9.gif"></TD><TD width="24%">(3-123)</TD></TR></TABLE></TD></TR><TR><TD width="100%" height=156><>其中: η是学习常数, β是修改常数。 </P><>在上面式(3-122),(3-123)中,说明利用目标函数e修改权系数的零截集下限值WkjL以及上限值WkjU;故而也就修改了权系数Wkj。</P><P>很明显,在式(3—122)(3—123)中,关键在于求取:</P><P><img src="http://www.jgchina.com/ednns/ednnsbk/6/6.3.ht10.gif"></P><P>从e( α)的定义可知:e( α)必定是权系数W<SUB>kj</SUB>的函数,故而也是W<SUB>kj</SUB>的 α截集的上下限值的函数,即有</P><P>e( α)=g(W<SUB>kjL</SUB>( α),W<SUB>kjU</SUB>( α))          (3-124)</P><P>而W<SUB>kjL</SUB>,W<SUB>kjU</SUB>分别是W<SUB>kj</SUB>的零截集的上下限值,则可知:</P><P>W<SUB>kjL</SUB>( α)是W<SUB>kjL</SUB>或W<SUB>kjU</SUB>的函数;W<SUB>kjU</SUB>( α)也是W<SUB>kjL</SUB>或W<SUB>kjU</SUB>的函数。</P><P>从全微分的角度则有:</P><TABLE cellSpacing=0 cellPadding=0 width="80%" align=center border=0><TR><TD width="78%"><img src="http://www.jgchina.com/ednns/ednnsbk/6/6.3.ht11.gif"></TD><TD width="22%">(3-125)</TD></TR><TR><TD width="78%"><img src="http://www.jgchina.com/ednns/ednnsbk/6/6.3.ht12.gif"></TD><TD width="22%">(3-126)</TD></TR></TABLE></TD></TR><TR><TD width="100%" height=221><P>为了求式(3—125)(3—126)的结果,很明显,需要求出W<SUB>kjL</SUB>、W<SUB>kjU</SUB>和W<SUB>kjL</SUB>( α)、W<SUB>kjU</SUB>( α)之间的关系。由于权系数W<SUB>kj</SUB>是一个三角对称模糊数,它的形状如图3—12所示。 </P><P align=center><img src="http://www.jgchina.com/ednns/ednnsbk/6/6.3.ht13.gif"></P><P align=center>图3-12 W<SUB>kjL</SUB>、W<SUB>kjU</SUB>和W<SUB>kjL</SUB>( α)、W<SUB>kjU</SUB>( α)的关系示意</P></TD></TR><TR><TD width="100%" height=452><P>在图3-12中,可以看出有 </P><P><img src="http://www.jgchina.com/ednns/ednnsbk/6/6.3.ht14.gif"></P><P>即有  X=α.Y</P><P>实际上:<img src="http://www.jgchina.com/ednns/ednnsbk/6/6.3.ht15.gif"></P><P>故有</P><P><img src="http://www.jgchina.com/ednns/ednnsbk/6/6.3.ht16.gif"></P><P>即</P><P><img src="http://www.jgchina.com/ednns/ednnsbk/6/6.3.ht17.gif"></P><P>最后有</P><TABLE height=276 cellSpacing=0 cellPadding=0 width="80%" align=center border=0><TR><TD width="76%" height=36><img src="http://www.jgchina.com/ednns/ednnsbk/6/6.3.ht18.gif"></TD><TD width="24%" height=36>(3-127)</TD></TR><TR><TD width="76%" height=37><img src="http://www.jgchina.com/ednns/ednnsbk/6/6.3.ht19.gif"></TD><TD width="24%" height=37>(3-128)</TD></TR><TR><TD width="76%" height=18><FONT size=2>把式(3—127)(3—128)改写为下列形式</FONT></TD><TD width="24%" height=18></TD></TR><TR><TD width="76%" height=35><img src="http://www.jgchina.com/ednns/ednnsbk/6/6.3.ht20.gif"></TD><TD width="24%" height=35>(3-129)</TD></TR><TR><TD width="76%" height=38><img src="http://www.jgchina.com/ednns/ednnsbk/6/6.3.ht21.gif"></TD><TD width="24%" height=38>(3-130)</TD></TR><TR><TD width="76%" height=38><FONT size=2>上两式则明显说明W<SUB>kjL</SUB>、W<SUB>kjU</SUB>和W<SUB>kjL</SUB>( α)、W<SUB>kjU</SUB>( α)的关系。
从而式(3—125)(3—126)则为:</FONT></TD><TD width="24%" height=38></TD></TR><TR><TD width="76%" height=56><img src="http://www.jgchina.com/ednns/ednnsbk/6/6.3.ht22.gif"></TD><TD width="24%" height=56>(3-131)</TD></TR><TR><TD width="76%" height=18><img src="http://www.jgchina.com/ednns/ednnsbk/6/6.3.ht23.gif"></TD><TD width="24%" height=18>(3-132)</TD></TR></TABLE></TD></TR><TR><TD width="100%" height=35><P>很明显,要求取<SUP>a</SUP>e( α)/<SUP>a</SUP>W<SUB>kjL</SUB>,<SUP>a</SUP>e( α)/W<SUB>kjU</SUB>的结果,应首先求出<SUP>a</SUP>e( α)/<SUP>a</SUP>W<SUB>kjL</SUB>( α)和<SUP>a</SUP>e( α)/W<SUB>kjU</SUB>( α)的结果。由于从式(3—110)—(3—115)可知:e( α)、U<SUB>kL</SUB>( α)和W<SUB>kjL</SUB>( α)之间,e( α)、U<SUB>kU</SUB>( α)和W<SUB>kjU</SUB>( α)之间有一定的函数关系。故而有: </P><TABLE cellSpacing=0 cellPadding=0 width="80%" align=center border=0><TR><TD width="76%"><img src="http://www.jgchina.com/ednns/ednnsbk/6/6.3.ht24.gif"></TD><TD width="24%">(3-133)</TD></TR><TR><TD width="76%"><img src="http://www.jgchina.com/ednns/ednnsbk/6/6.3.ht25.gif"></TD><TD width="24%">(3-134)</TD></TR></TABLE></TD></TR><TR><TD width="100%" height=252><P>考虑: </P><P><img src="http://www.jgchina.com/ednns/ednnsbk/6/6.3.ht26.gif"></P><P>由于  O<SUB>kL</SUB>( α)=f(U<SUB>kL</SUB>( α))</P><P>而</P><P><img src="http://www.jgchina.com/ednns/ednnsbk/6/6.3.ht27.gif"></P><P>故而</P><P>f'(X)=f(X).(1-f(X))</P><TABLE cellSpacing=0 cellPadding=0 width="80%" align=center border=0><TR><TD width="77%"><img src="http://www.jgchina.com/ednns/ednnsbk/6/6.3.ht28.gif"></TD><TD width="23%">(3-135)</TD></TR><TR><TD width="77%"><img src="http://www.jgchina.com/ednns/ednnsbk/6/6.3.ht29.gif"></TD><TD width="23%">(3-136)</TD></TR></TABLE></TD></TR><TR><TD width="100%" height=231><P>对于<SUP>a</SUP>U<SUB>kL</SUB>( α)/<SUP>a</SUP>W<SUB>kjL</SUB>( α)和<SUP>a</SUP>U<SUB>kU</SUB>( α)/<SUP>a</SUP>W<SUB>kjU</SUB>( α),应考虑W<SUB>kjL</SUB>( α)和W<SUB>kjU</SUB>( α)的值不同的情况。 </P><P>(1)当0 ≤W<SUB>kjL</SUB>( α) ≤W<SUB>kjU</SUB>( α)时</P><TABLE cellSpacing=0 cellPadding=0 width="80%" align=center border=0><TR><TD width="77%"><img src="http://www.jgchina.com/ednns/ednnsbk/6/6.3.ht30.gif"></TD><TD width="23%">(3-137)</TD></TR><TR><TD width="77%"><img src="http://www.jgchina.com/ednns/ednnsbk/6/6.3.ht31.gif"></TD><TD width="23%">(3-138)</TD></TR><TR><TD width="77%"><FONT size=2>(2)当W<SUB>kjL</SUB>( α) ≤W<SUB>kjU</SUB>( α) ≤0时</FONT></TD><TD width="23%"></TD></TR><TR><TD width="77%"><img src="http://www.jgchina.com/ednns/ednnsbk/6/6.3.ht32.gif"></TD><TD width="23%">(3-139)</TD></TR><TR><TD width="77%"><img src="http://www.jgchina.com/ednns/ednnsbk/6/6.3.ht33.gif"></TD><TD width="23%">(3-140)</TD></TR><TR><TD width="77%"><FONT size=2>(3)当W<SUB>kjL</SUB>( α)&lt;0 ≤W<SUB>kjU</SUB>( α)时</FONT></TD><TD width="23%"></TD></TR><TR><TD width="77%"><img src="http://www.jgchina.com/ednns/ednnsbk/6/6.3.ht34.gif"></TD><TD width="23%">(3-141)</TD></TR><TR><TD width="77%"><img src="http://www.jgchina.com/ednns/ednnsbk/6/6.3.ht35.gif"></TD><TD width="23%">(3-142)</TD></TR></TABLE></TD></TR><TR><TD width="100%" height=97><P>很明显;从式(3—131)—(3—142)则能求出 </P><P><img src="http://www.jgchina.com/ednns/ednnsbk/6/6.3.ht36.gif"></P><P>的值,从而式(3—122)、(3—123)可解。</P><P>最后,对称三角形模糊权系数W<SUB>kj</SUB>可以用下面公式进行学习校正</P><P>W<SUB>kjL</SUB>(t+1)=W<SUB>kjL</SUB>(t)+ ΔW<SUB>kjL</SUB>(t)           (3-143)</P><P>W<SUB>kjU</SUB>(t+1)=W<SUB>kjU</SUB>(t)+ ΔW<SUB>kjU</SUB>(t)           (3-144)</P><TABLE cellSpacing=0 cellPadding=0 width="80%" align=center border=0><TR><TD width="78%"><img src="http://www.jgchina.com/ednns/ednnsbk/6/6.3.ht37.gif"></TD><TD width="22%">(3-145)</TD></TR></TABLE></TD></TR><TR><TD width="100%" height=244><P>在校正之后.有可能出现W<SUB>kjL</SUB>&gt;W<SUB>kjU</SUB>的情况,这时.令 </P><P>W<SUB>kjL</SUB>(t+1)=min{W<SUB>kjL</SUB>(t+1),W<SUB>kjU</SUB>(t+1)}</P><P>W<SUB>kjU</SUB>(t+1)=max{W<SUB>kjL</SUB>(t+1),W<SUB>kjU</SUB>(t+1)}</P><P>对于模糊权系数W<SUB>ji</SUB>和模糊阀值 θ<SUB>j</SUB>, θ<SUB>k</SUB>.也可以采用模糊权系数W<SUB>kj</SUB>的校正方法进行校正。</P><P>3.学习步骤</P><P>假设有m个模糊向量输入输出对(X<SUB>P</SUB>,T<SUB>P</SUB>),P=1,2,…,m;用于神经网络学习的截集有n个,即 α<SUB>1</SUB>, α<SUB>2</SUB>, α<SUB>3</SUB>,..., α<SUB>n</SUB>,在这种条件下,模糊神经网络的学习算法如下步骤:</P><P>(1)对模糊杖系数和模糊阀值取初值。</P><P>(2)对 α= α<SUB>1</SUB>, α<SUB>2</SUB>, α<SUB>3</SUB>,..., α<SUB>n</SUB>,重复执行第(3)步。</P><P>(3)对I=1,2,…’m;重复执行下列过程:</P><P>正向计算:对应于模糊输入向量X<SUB>p</SUB>,求其输出模糊向量O<SUB>p</SUB>,并计算O<SUB>p</SUB>的。截集上下限。</P><P>反向传播:用目标函数e( α),校正神经网络的模糊权系数和模糊阀值。</P><P>(4)如果预定的结束条件未能满足,则返回第(2)步;否则校正结束。</P></TD></TR></TABLE>
b
 楼主| 发表于 2004-5-28 02:36:54 | 显示全部楼层
<TABLE height=1969 cellSpacing=0 cellPadding=0 width=778 border=0><TR><TD width="100%" height=15><>3.3.3 模糊神经网络的遗传学习算法</P></TD></TR><TR><TD width="100%" height=462><>在模糊神经网络中,也可以采用遗传学习算法对参数进行学习。在这一节中,用一个具体的例子说明遗传学习算法在模糊神经网络参数学习中的情况及其结果。 </P><>一、一些基本概念</P><P>在这一节中,假设所考虑的模糊量是实数模糊集。为了简单起见,这些实数模糊集表示为:A、B、……、W、V。模糊量A在x处的隶属度表示为A(x)。</P><P>模糊量A的α截集表示为:</P><P>A[α]={x|A(x)≥α},0&lt;α≤1</P><P>下面给出三角模糊数的定义:</P><P>由3个数字a&lt;b&lt;c所定义的N称为三角模糊数,并且有如下性质:</P><P>1.当x≤a,或x≥c时,N(x)=0;</P><P>当x=b时,N(x)=1。</P><P>2.在[a,b]区间,从(a,0)到(b,1),y=N(x)是一条直线段;</P><P>在[b,c]区间,从(b,1)到(c,0),y=N(x)是一条直线段。</P><P>同理,可以给出三角形模糊数定义:</P><P>由3个数字a&lt;b&lt;c所定义的N称为三角形模糊数,并且有如下性质:</P><P>1.当x≤a,或x≥c时,N(x)=0;</P><P>当x=b时,N(x)=1。</P><P>2.在[a,b]区间,y=N(x)是一条单调增曲线;</P><P>在[b,c]区间,y=N(x)是一条单调减曲线。</P><P>无论是三角模糊数或三角形模糊数,都表示为:N=(a/b/c)。</P><P>如果a≥0,则称N≥0。</P><P>模糊数N的模糊测度表示为f<SUB>uzz</SUB>(N),并且有:</P><P>f<SUB>uzz</SUB>(N)=b—a</P><P>如果有f<SUB>uzz</SUB>(M)≥f<SUB>uzz</SUB>(N),则称M比N更模糊。</P><P>如果有M(x)≥N(x),对所有x,则表示为M≥N。</P><P>二、模糊神经网络结构</P><P>在这一节中,所给出的模糊神经网络是三层前向网络,它的输人,权系数都是模糊数。模糊神经网络的结构如图3—13中所示。</P><P align=center><img src="http://www.jgchina.com/ednns/ednnsbk/6/6.3.3.38.gif"></P><P align=center>图3-13 模糊神经网络</P></TD></TR><TR><TD width="100%" height=65><P>在图3—13中,输入X.权系数w,v是三角模糊数,输出Y和目标T可以是三角形模糊数。 </P><P>除了输入层之外,所有的神经元都有激发函数y=f(x),并且f是连续从R到[-t,t]的非单调减映射,t是正整数,R是实数域。</P><P>在隐层中,第i个神经元的输入为I<SUB>i</SUB>,有:</P><P>I<SUB>i</SUB>=X.W<SUB>i</SUB>, 1≤i≤4              (3.146)</P><P>而第i个神经元的输出为Z<SUB>i</SUB>:</P><P>Z<SUB>i</SUB>=f(I<SUB>i</SUB>), 1&lt;i&lt;4               (3.147)</P><P>在输出层,输出神经元的输入为I<SUB>0</SUB></P><TABLE cellSpacing=0 cellPadding=0 width="80%" align=center border=0><TR><TD width="78%"><img src="http://www.jgchina.com/ednns/ednnsbk/6/6.3.3.39.gif"></TD><TD width="22%">(3.148)</TD></TR></TABLE></TD></TR><TR><TD width="100%" height=489><P>而在输出层产生的输出为Y </P><P>Y=f(I<SUB>0</SUB>)                       (3.149)</P><P>为了对模糊神经网络进行学习,所用的训练数据为</P><P>(X<SUB>1</SUB>,T<SUB>I</SUB>),1≤I≤L</P><P>其中:T<SUB>I</SUB>是在x<SUB>1</SUB>为输入时所需的输出。</P><P>学习中,实际输出为Y<SUB>1</SUB>, 1≤I≤L。</P><P>图3—13中所示的模糊神经网络的学习问题就是在输人为x<SUB>1</SUB>时,找寻最优的权系数W<SUB>i</SUB>,V<SUB>i</SUB>,使实际输出Y<SUB>l</SUB>逼近于T<SUB>1</SUB>,1≤1≤L。</P><P>三、模糊神经网络的遗传学习算法</P><P>遗传算法是一种直接随机搜索方法,它的主要步骤包括编码、选择、交叉、变异等。其原理在3.2节中已说明。在这里只对优化过程的目标函数及一些参数加以介绍。</P></TD></TR></TABLE>
b
 楼主| 发表于 2004-5-28 02:37:35 | 显示全部楼层
<TABLE height=1969 cellSpacing=0 cellPadding=0 width=778 border=0><TR><TD width="100%" height=489><>1.模糊救</P><>因3—13所示的模糊神经网络,优化的目的是找寻最优的权系数W<SUB>i</SUB>、V<SUB>i</SUB>:</P><>W<SUB>i</SUB>=(W<SUB>i1</SUB>/W<SUB>i2</SUB>/W<SUB>i3</SUB>)                  (3.150)</P><P>V<SUB>i</SUB>=(V<SUB>i1</SUB>/V<SUB>i2</SUB>/V<SUB>i3</SUB>)                  (3.151)</P><P>其中:1≤i≤4</P><P>W<SUB>i2</SUB>=(W<SUB>i1</SUB>+W<SUB>i3</SUB>)/2</P><P>V<SUB>i2</SUB>=(V<SUB>i1</SUB>+V<SUB>i3</SUB>)/2</P><P>从上两式可知:只要知道W<SUB>i1</SUB>、W<SUB>i3</SUB>和V<SUB>i1</SUB>、V<SUB>i3</SUB>,就可以确定权系数W<SUB>i</SUB>和V<SUB>i</SUB>。因此,遗传算法只需对模糊权系数W<SUB>i</SUB>、V<SUB>i</SUB>的支持集进行追踪寻优即可。因此,群体的个体编码表示为P:</P><P>P=(W<SUB>11</SUB>,W<SUB>13</SUB>,......,V<SUB>41</SUB>,V<SUB>43</SUB>)             (3.152)</P><P>P的编码采用二进制数。</P><P>2.遗传算法的有关参数</P><P>遗传算法的参数主要有3个,它们分别是群体数s,交叉车c,变异率M。一般是按经验进行选取。在这里,这些参数确定如下:</P><P>S=2000</P><P>C=0.8</P><P>M=0.0009</P><P>3.优化的目标函数</P><P>设Y<SUB>1</SUB>的α截集为Y<SUB>1</SUB>[α],有</P><P>Y<SUB>l</SUB>[α]=[y<SUB>l1</SUB>(α),y<SUB>l2</SUB>(α)]                 (3.153)</P><P>设T<SUB>l</SUB>的α截集为T<SUB>l</SUB>[α],有</P><P>T<SUB>l</SUB>[]=[t<SUB>l1</SUB>(α),t<SUB>l2</SUB>(α)]                   (3.154)</P><P>α∈{0,0.1,0.1,......,0.9,1.0}</P><P>则定义</P><TABLE cellSpacing=0 cellPadding=0 width="80%" align=center border=0><TR><TD width="70%"><img src="http://www.jgchina.com/ednns/ednnsbk/6/6.3.3.40.gif"></TD><TD width="30%">(3.155)</TD></TR><TR><TD width="70%"><img src="http://www.jgchina.com/ednns/ednnsbk/6/6.3.3.41.gif"></TD><TD width="30%">(3.156)</TD></TR></TABLE></TD></TR><TR><TD width="100%" height=45><P>E=E<SUB>1</SUB>+E<SUB>2</SUB> </P><P>遗传算法的目的就是寻找恰当的权系数Wi,Vi的值趋于0。</P><P>4.模糊神经网络的激发函数</P><P>图3—13所示的模糊神经网络中,隐层和输出层的激发函数f的意义如下:</P><TABLE cellSpacing=0 cellPadding=0 width="80%" align=center border=0><TR><TD width="70%"><img src="http://www.jgchina.com/ednns/ednnsbk/6/6.3.3.42.gif"></TD><TD width="30%">(3.157)</TD></TR></TABLE></TD></TR><TR><TD width="100%" height=349><P>其中:t是正整数,一般根据应用情况选择t的值。由于输出的目标模糊数T在[-1,1]区间之内,故在输出层中t的值通常取1。 <P>四、学习情况</P><P>采用遗传算法对图3—13的模糊神经网络进行学习之后,可得出在不同输入输出要求下的学习结果。在这里给出一些具体的学习结果。</P><P>1.基本概念</P><P>(1)相同模糊度</P><P>如果对于输入X<SUB>1</SUB>和目标T<SUB>I</SUB>,存在:</P><P>f<SUB>uzz</SUB>(X<SUB>I</SUB>)=f<SUB>uzz</SUB>(T<SUB>I</SUB>), 1≤I≤L</P><P>则称输入和输出有相同模糊度,亦称等模糊。</P><P>(2)过模糊</P><P>如果对于输入X1和目标T1,存在:</P><P>f<SUB>uzz</SUB>(X<SUB>I</SUB>)&lt;f<SUB>uzz</SUB>(T<SUB>I</SUB>), 1≤I≤L</P><P>则称输出为过模糊。</P><P>(3)欠模糊</P><P>如果对于输人X1和目标TI,存在</P><P>f<SUB>uzz</SUB>(X<SUB>I</SUB>)&gt;f<SUB>uzz</SUB>(T<SUB>I</SUB>),1≤I≤L</P><P>则称输出为欠模糊。</P><P>2.等模糊的学习结果</P><P>训练数据用模糊函数F产生,故而有</P><P>T=F(X)                               (3.158)</P><P>由于是等模糊学习,故而必须选取函数F使</P><P>f<SUB>uzz</SUB>(T)=f<SUB>uzz</SUB>(X)</P><P>故而,选择如下式子</P><P>T=-X+1                               (3.159)</P><P>从而,当X在[-1,1]区间时,则T处于[-2,2]区间。</P><P>给出训练数据如下表3—1所示。</P><P align=center>表3-1 等模糊训练数据</P><TABLE height=51 cellSpacing=1 cellPadding=0 width="90%" align=center bgColor=#666666 border=0><TR bgColor=#ffffff><TD width="33%" height=17><P align=center>编  号</P></TD><TD width="33%" height=17><P align=center>输  入X</P></TD><TD width="34%" height=17><P align=center>输  出T</P></TD></TR><TR bgColor=#ffffff><TD align=middle width="33%" height=19>1</TD><TD align=middle width="33%" height=19>(-1/-0.75/-0.5)</TD><TD align=middle width="34%" height=19>(1.5/1.75/2)</TD></TR><TR bgColor=#ffffff><TD align=middle width="33%" height=1>2</TD><TD align=middle width="33%" height=1>(-0.25/0/0.25)</TD><TD align=middle width="34%" height=1>(0.75/1/1.25)</TD></TR><TR bgColor=#ffffff><TD align=middle width="33%" height=18>3</TD><TD align=middle width="33%" height=18>(0.5/0.75/1)</TD><TD align=middle width="34%" height=18>(0/0.25/0.5)</TD></TR></TABLE></TD></TR><TR><TD width="100%" height=136><P>在表3—1中,模糊数是三角或三角形模糊数,故用(a/b/c)方式表示。从表中看出:它们是对称三角模糊数。 </P><P>在学习时,隐层和输出层的激发函数f都取式(3.157),不过由于输出层的目标T处于[-2,2],故t取值为2。在输出层f还加上一个需学习的偏置项,从而使神经网络可以学习-X+1,而得到T。在这种情况下,遗传学习取得很好的结果。并且,其权系数可以是实数。</P><P>3.过模糊的学习结果</P><P>训练数据采用如下公式产生:</P><P>T=A.X</P><P>其中:X在[-0.5,0.5]区间,</P><P>A=(1/1.5/2)</P><P>故而,目标T处于[-1,1]区间。</P><P>显然有:fuzz(T)&gt;fuzz(X),即过模糊的结果。</P><P>训练数据给出如下表3—2所示。</P><P align=center>表3-2 过模糊训练数据</P><TABLE height=75 cellSpacing=1 cellPadding=0 width="90%" align=center bgColor=#666666 border=0><TR bgColor=#ffffff><TD align=middle width="18%" height=19><FONT size=2>编  号</FONT></TD><TD align=middle width="29%" height=19><FONT size=2>输  入X</FONT></TD><TD align=middle width="11%" height=19><FONT size=2>f<SUB>uzz</SUB>(X)</FONT></TD><TD align=middle width="28%" height=19><FONT size=2>输  出T</FONT></TD><TD align=middle width="14%" height=19><FONT size=2>fuzz(T)</FONT></TD></TR><TR bgColor=#ffffff><TD align=middle width="18%" height=16><FONT size=2>1</FONT></TD><TD align=middle width="29%" height=16><FONT size=2>(-0.5/-0.25/0)</FONT></TD><TD align=middle width="11%" height=16><FONT size=2>0.5</FONT></TD><TD align=middle width="28%" height=16><FONT size=2>(-1/-0.375/0)</FONT></TD><TD align=middle width="14%" height=16><FONT size=2>1</FONT></TD></TR><TR bgColor=#ffffff><TD align=middle width="18%" height=16><FONT size=2>2</FONT></TD><TD align=middle width="29%" height=16><FONT size=2>(-0.25/0/0.25)</FONT></TD><TD align=middle width="11%" height=16><FONT size=2>0.5</FONT></TD><TD align=middle width="28%" height=16><FONT size=2>(-0.5/0/0.5)</FONT></TD><TD align=middle width="14%" height=16><FONT size=2>1</FONT></TD></TR><TR bgColor=#ffffff><TD align=middle width="18%" height=16><FONT size=2>3</FONT></TD><TD align=middle width="29%" height=16><FONT size=2>(0/0.25/0.5)</FONT></TD><TD align=middle width="11%" height=16><FONT size=2>0.5</FONT></TD><TD align=middle width="28%" height=16><FONT size=2>(0/0.375/1)</FONT></TD><TD align=middle width="14%" height=16><FONT size=2>1</FONT></TD></TR></TABLE></TD></TR><TR><TD width="100%" height=204><P>在表3—2中,x是三角模糊数,T是三角形模糊数。 </P><P>在隐层和输出层中,激发函数f中的t取值为1,所有的权系数都是模糊数。遗传算法 对训练数据执行很好的学习,并可使偏差E=0。</P><P>4.欠模糊的学习结果</P><P>训练数据由如下公式产生:</P><P>T=1/X</P><P>其中:X可在(-m,1)或[1,m]区间取值。故而T处于[-1,1]区间中。</P><P>显然有欠模糊结果:fuzz(T)&lt;fuzz(X)。</P><P>为了训练,把X的值在[1,3]区间中选取,T是三角形模糊数。</P><P>训练数据给出如下表3—3所示。</P><P align=center>表3-3 欠模糊训练数据</P><TABLE height=58 cellSpacing=1 cellPadding=0 width="90%" align=center bgColor=#666666 border=0><TR bgColor=#ffffff><TD align=middle width="11%" height=20><FONT size=2>编  号</FONT></TD><TD align=middle width="28%" height=20><FONT size=2>输  入X</FONT></TD><TD align=middle width="14%" height=20><FONT size=2>f<SUB>uzz</SUB>(X)</FONT></TD><TD align=middle width="29%" height=20><FONT size=2>输  出T</FONT></TD><TD align=middle width="18%" height=20><FONT size=2>fuzz(T)</FONT></TD></TR><TR bgColor=#ffffff><TD align=middle width="11%" height=16><FONT size=2>1</FONT></TD><TD align=middle width="28%" height=16><FONT size=2>(1/1.25/1.5)</FONT></TD><TD align=middle width="14%" height=16><FONT size=2>0.5</FONT></TD><TD align=middle width="29%" height=16><FONT size=2><img src="http://www.jgchina.com/ednns/ednnsbk/6/6.3.3.43.gif"></FONT></TD><TD align=middle width="18%" height=16><FONT size=2>1/3</FONT></TD></TR><TR bgColor=#ffffff><TD align=middle width="11%" height=16><FONT size=2>2</FONT></TD><TD align=middle width="28%" height=16><FONT size=2>(1.5/1.75/2)</FONT></TD><TD align=middle width="14%" height=16><FONT size=2>0.5</FONT></TD><TD align=middle width="29%" height=16><FONT size=2><img src="http://www.jgchina.com/ednns/ednnsbk/6/6.3.3.44.gif"></FONT></TD><TD align=middle width="18%" height=16><FONT size=2>1/6</FONT></TD></TR><TR bgColor=#ffffff><TD align=middle width="11%" height=1><FONT size=2>3</FONT></TD><TD align=middle width="28%" height=1><FONT size=2>(2/2.25/2.5)</FONT></TD><TD align=middle width="14%" height=1><FONT size=2>0.5</FONT></TD><TD align=middle width="29%" height=1><FONT size=2><img src="http://www.jgchina.com/ednns/ednnsbk/6/6.3.3.45.gif"></FONT></TD><TD align=middle width="18%" height=1><FONT size=2>1/10</FONT></TD></TR><TR bgColor=#ffffff><TD align=middle width="11%" height=16><FONT size=2>4</FONT></TD><TD align=middle width="28%" height=16><FONT size=2>(2.5/2.75/3)</FONT></TD><TD align=middle width="14%" height=16><FONT size=2>0.5</FONT></TD><TD align=middle width="29%" height=16><FONT size=2><img src="http://www.jgchina.com/ednns/ednnsbk/6/6.3.3.46.gif"></FONT></TD><TD align=middle width="18%" height=16><FONT size=2>1/15</FONT></TD></TR></TABLE></TD></TR><TR><TD width="100%" height=34><P>在隐层中,激发函数f中的t取值为3。 </P><P>模糊神经网络不能对这些训练数据进行学习。其主要原因在于式(3.157)所表示的激发函数是线性压缩函数,它无法满足对T=1/x这种非线性函数的逼近。如果f采用非线性压缩函数,则会较好进行学习。</P></TD></TR></TABLE>
b
 楼主| 发表于 2004-5-28 02:37:59 | 显示全部楼层
<TABLE height=1755 cellSpacing=0 cellPadding=0 width=778 border=0><TR><TD width="100%" height=8>< align=center>第四章 神经模糊控制</P></TD></TR><TR><TD width="100%" height=105><>用神经网络去实现模糊控制则称为神经模糊控制(Neuro-Fuzzy Control)。神经模糊控制是神经网络应用的一个重要方向。这种控制最吸引人的是能够对神经网络进行学习,从而可对模糊控制系统实现优化。 </P><>神经模糊控制有两种不同的实现方法。一种是用常规神经元和模糊神经元组成网络实现模糊控制;另一种是用模糊神经元组成网络实现控制。</P><P>模糊神经网络FNN3是典型的网络,Buckley等人证明了FNN3是一种单调映射,故而FNN3不是通用逼近器,但混合模糊神经网络HFNN则是通用逼近器。</P><P>模糊控制的控制曲面具有单调的特征,所以,模糊神经网络可以用于模糊控制。模糊控制中较多采用Mamdani以及Takagi-Sugeno推理。对于Mamdani推理,控制规则形式为:</P><P>Ri:if x is Ai and y is Bi then Z is Ci每条规则的击发强度为:</P><P>α<SUB>i</SUB>=μ<SUB>Ai</SUB>(X<SUB>0</SUB>)Λμ<SUB>Bi</SUB>(y<SUB>0</SUB>)         (4.1)</P><P>其中:X0,Y0为输入。</P><P>则从控制规则中得到的控制为:</P><P>μ<SUB>c</SUB>(z)=V<SUB>i</SUB>[α<SUB>i</SUB>μ<SUB>ci</SUB>(z)]         (4.2)</P><P>对于Takagi-Sugeno推理,控制规则的形式为:</P><P>Ri:if x is Ai and y is Bi then Z=fi(x,y)每条规则的击发强度为</P><P>α<SUB>i</SUB>=μ<SUB>Ai</SUB>(X<SUB>0</SUB>)Λμ<SUB>Bi</SUB>(y<SUB>0</SUB>)</P><P>则从所有控制规则推得的结果为</P><TABLE cellSpacing=0 cellPadding=0 width="80%" align=center border=0><TR><TD width="82%"><img src="http://www.jgchina.com/ednns/ednnsbk/7/7.htm47.gif"></TD><TD width="18%">(4.3)</TD></TR></TABLE></TD></TR><TR><TD width="100%" height=1033><P>很明显对于Mamdani推理,采用模糊神经元就可以建立模糊控制器;对于Takagi-Sugeno推理,则需要常规神经元和模糊神经元组成的网络来完成。故而.不同的推理方式对应的模糊神经网络有所不同。 </P><P align=center><A>4.1 神经模糊控制器</A></P><P>神经模糊控制器是用神经网络构成的模糊控制器;神经模糊控制器是神经模糊控制的核心。神经模糊控制器最关留的是结构和学习问题。</P><P>神经模糊控制器的结构应该是一种这样的拓扑结构,它可以处理模糊信息,并能完成模糊推理。</P><P>神经模糊控制器的学习则是一种能完成模糊推理的神经网络的学习。</P><P>在这一节中,介绍神经模糊控制器的结构及学习算法。</P><P>4.1.1 逻辑神经元组成的神经模糊控制器</P><P>逻辑神经元是模糊神经元的一种类型,用逻辑神经元可以构成执行Mamdani推理的模糊控制器。在这种模糊控制器中,每条控制规则可以用一个模糊神经网络实现。</P><P>一、模糊控制系统的参数</P><P>考虑一个模糊控制的过程,并且具有如下约定的参数:</P><P>在时间t时的输人为u(t),输出为y(t);设给定为s,则S也是输出的目标值。</P><P>设采样周期为T,并在离散时间t=T,2T……时对输出进行检测。则偏差及偏差变化率求取如下:</P><P>e(t)=y(t)-s                  (4.4)</P><P>Δe(t)=[e(t)-e(t-T)]/T         (4.5)</P><P>对于模物控制器,其输入为e(t),Δe(t),模糊值输出为O(t),反模糊化后的输出为U(t)。</P><P>模糊控制器的控制规则集为:</P><P>R<SUB>r</SUB>:if e=A<SUB>i</SUB> and Δe=B<SUB>i</SUB> then O=C<SUB>p</SUB></P><P>1≤r≤g</P><P>在神经模糊控制器中,关键的是如何根据输入e、Δe而得到0,也即是实现模糊控制规则。</P><P>设A<SUB>i</SUB>∈[a<SUB>1</SUB>,b<SUB>1</SUB>],B<SUB>j</SUB>∈[a<SUB>2</SUB>,b<SUB>2</SUB>],C<SUB>p</SUB>∈[a<SUB>3</SUB>,b<SUB>3</SUB>],则在e、Δe和O的论域中,选取如下离散的点:</P><P>1.在[a1,b1]中取的离散点为X<SUB>i</SUB>,并且有:</P><P>X<SUB>o</SUB>=a<SUB>1</SUB>                    (4.6)</P><P>X<SUB>i</SUB>=a<SUB>1</SUB>+i(b<SUB>1</SUB>-a<SUB>1</SUB>)/N<SUB>1</SUB>        (4.7)</P><P>其中:1≤i≤N<SUB>1</SUB>,N<SUB>1</SUB>为正整数。</P><P>2.在[a<SUB>2</SUB>,b<SUB>2</SUB>]中取的离散点为y<SUB>i</SUB>,并且有</P><P>y<SUB>o</SUB>=a<SUB>2</SUB>                  (4.8)</P><P>y<SUB>i</SUB>=a<SUB>2</SUB>+i(b<SUB>2</SUB>-a<SUB>2</SUB>)/N<SUB>2</SUB>          (4.9)</P><P>其中:1≤i≤N<SUB>2</SUB>,N<SUB>2</SUB>为正整数。</P><P>3.在[a<SUB>3</SUB>,b<SUB>3</SUB>]中取的离散点为Z<SUB>i</SUB>,并且有</P><P>Z<SUB>o</SUB>=a<SUB>3</SUB>                     (4.10)</P><P>Z<SUB>i</SUB>=a<SUB>3</SUB>+i(b<SUB>3</SUB>-a<SUB>3</SUB>)/N<SUB>3 </SUB>         (4.11)</P><P>其中:1&lt;i&lt;N<SUB>3</SUB>,N<SUB>3</SUB>为正整数。</P><P>对于给出的模糊控制规则中的模糊量A<SUB>i</SUB>,B<SUB>j</SUB>,C<SUB>p</SUB>则有离散的隶属度:</P><P>A<SUB>i</SUB>(x<SUB>j</SUB>),0≤j≤N<SUB>1</SUB></P><P>B<SUB>j</SUB>(y<SUB>k</SUB>),0≤k≤N<SUB>2</SUB></P><P>C<SUB>p</SUB>(Z<SUB>i</SUB>),0≤i≤N<SUB>3</SUB></P><P>二、实现控制规则的神经网络</P><P>逻辑神经元组成的模糊神经网络如图4—1中所示。它有m个输入神经元,分别表示为I<SUB>1</SUB>,I<SUB>2</SUB>……I<SUB>m</SUB>;同时有n个输出神经元,分别表示为Q<SUB>1</SUB>,Q<SUB>2</SUB>,…,Q<SUB>n</SUB>。</P><P>设训练数据集为输入V<SUB>k</SUB>和目标D<SUB>k</SUB>,1≤k≤K,并且V<SUB>k</SUB>和D<SUB>k</SUB>都是向量:</P><P>V<SUB>k</SUB>=(V<SUB>k1</SUB>,V<SUB>k2</SUB>,……,V<SUB>km</SUB>)           (4.12)</P><P>D<SUB>k</SUB>=(D<SUB>k1</SUB>,D<SUB>k2</SUB>,……,D<SUB>kn</SUB>)           (4.13)</P><P>在给定输入为V<SUB>k</SUB>时,有输出向量Q<SUB>k</SUB>:</P><P>Q<SUB>k</SUB>=(Q<SUB>k1</SUB>,Q<SUB>k2</SUB>,……,Q<SUB>kn</SUB>)              (4.14)</P><P>在输入神经元I<SUB>j</SUB>和输出神经元Q<SUB>i</SUB>之间的权系数为r<SUB>ji</SUB>,i=1,2,……,n, j=1,2,……,m。</P><P>在输出神经元Q<SUB>i</SUB>中有偏置项θ<SUB>i</SUB>,用θ表示θ<SUB>i</SUB>向量,则有:</P><P>θ=(θ<SUB>1</SUB>,θ<SUB>2</SUB>,……,θ<SUB>n</SUB>)          (4.15)</P><P align=center><img src="http://www.jgchina.com/ednns/ednnsbk/7/7.htm48.gif"></P><P align=center>图4-1 模糊神经网络</P></TD></TR><TR><TD width="100%" height=18><P>在图4—1中,神经元是逻辑神经元,故而当给定输入V<SUB>k</SUB>后,则有输出 </P><P align=center><img src="http://www.jgchina.com/ednns/ednnsbk/7/7.htm49.gif"></P><P>也可以用一个通式表示上面所有的n个式子</P><P>Q<SUB>ki</SUB>=[(V<SUB>k1</SUB>∧r<SUB>li</SUB>)∨......∨(V<SUB>km</SUB>∧r<SUB>mi</SUB>)]∨θ<SUB>i</SUB>            (4.16)</P><P>1≤i≤n</P><P>在图4—1中,把输入V<SUB>k</SUB>看成是一个行向量,把偏置项θ看成—个行向量,并令</P><TABLE cellSpacing=0 cellPadding=0 width="80%" align=center border=0><TR><TD width="77%"><img src="http://www.jgchina.com/ednns/ednnsbk/7/7.htm50.gif"></TD><TD width="23%">(4.17)</TD></TR></TABLE></TD></TR><TR><TD width="100%" height=669><P>则可以用向量方程描述神经网络的输入和输出如下 </P><P>Q<SUB>k</SUB>=(V<SUB>k</SUB>oR)∨θ                 (4.18)</P><P>对于模糊控制器而言,它可以是由控制规则集组成。对于控制规则集</P><P>R<SUB>r</SUB>:if e=Ai and Δe=Bj then Q=C<SUB>p</SUB></P><P>1≤r≤g</P><P>则可以用一个神经网络模块实现一条规则,如果用n个神经网络模块则可以实现n条规则;也即是实现一个模糊控制器。</P><P>下面说明如何用一个神经网络模块实现一条控制规则。</P><P>在图4—1所示的神经网络可看成一个模块。根据式(4.6)(4.7)所表示的模糊量Ai所取的离散点有N<SUB>1</SUB>+1个;式(4.8)(4.9)所表示的模糊量Bj所取的离散点有N<SUB>2</SUB>+1个;式(4.10)(4.11)所表示的模糊量C<SUB>p</SUB>所取的离散点有N<SUB>3</SUB>+1个。令图4—1所示的神经网络模块中。</P><P>m=(N<SUB>1</SUB>+1)+(N<SUB>2</SUB>+1)=N<SUB>1</SUB>+N<SUB>2</SUB>+2                (4.19)</P><P>n=N<SUB>3</SUB>+1                                 (4.20)</P><P>在输人的m个神经元中,把其中的N<SUB>1</SUB>+1个神经元用于输入Ai;其中的N<SUB>2</SUB>+1个神经元用于输入Bj。而输出的n个神经元用于目标C<SUB>p</SUB>。并以此进行学习,则可以在学习结束时,得到能实现一条规则的一个神经网络模块。学习时,</P><P>A<SUB>i</SUB>(X<SUB>0</SUB>)——I<SUB>1</SUB></P><P>A<SUB>i</SUB>(X<SUB>1</SUB>)——I<SUB>2</SUB></P><P>……</P><P>A<SUB>i</SUB>(X<SUB>N1</SUB>)——I<SUB>N1</SUB>+1</P><P>而同时</P><P>B<SUB>j</SUB>(y<SUB>0</SUB>)=I<SUB>N1</SUB>+2</P><P>B<SUB>j</SUB>(y<SUB>1</SUB>)=I<SUB>N1</SUB>+3</P><P>……</P><P>B<SUB>j</SUB>(y<SUB>N2</SUB>)=I<SUB>m</SUB></P><P>并且,输出目标为:</P><P>C<SUB>p</SUB>(Z<SUB>0</SUB>)——Q<SUB>1</SUB></P><P>C<SUB>p</SUB>(Z<SUB>1</SUB>)——Q<SUB>2</SUB></P><P>……</P><P>C<SUB>p</SUB>(Z<SUB>N3</SUB>)——Q<SUB>n</SUB></P><P>在控制规则集中,一共有g条规则,最后用g个神经网络模块,则可以实现模糊控制器。这个控制器即是神经模糊控制器。</P></TD></TR></TABLE>
b
 楼主| 发表于 2004-5-28 02:38:20 | 显示全部楼层
<TABLE height=1755 cellSpacing=0 cellPadding=0 width=778 border=0><TR><TD width="100%" height=669><>4.1.2 神经模糊控制器的学习算法</P><>图4—1所示的逻辑神经网络所组成的神经模糊控制器可以用改进的梯度法进行学习。</P><>设给出的训练输人为Vk,目标为Dk,1≤k≤K,并且:</P><P>V<SUB>k</SUB>=(V<SUB>k1</SUB>,V<SUB>k2</SUB>,…,V<SUB>km</SUB>)</P><P>D<SUB>k</SUB>=(D<SUB>k1</SUB>,D<SUB>k2</SUB>,…,D<SUB>kn</SUB>)</P><P>而图4—1所示的网络在输入为V<SUB>k</SUB>时,实际输出为Q<SUB>k</SUB>。学习的目的,则是令Q<SUB>k</SUB>逼近于D<SUB>k</SUB>。实质上,就是修改网络的权系数r<SUB>ji</SUB>,使到网络的插出Q<SUB>k</SUB>趋于目标D<SUB>k</SUB>。换而言之,也即是使式(4.18)中的Q<SUB>k</SUB>=D<SUB>k</SUB>时,求其解R。即在</P><P>D<SUB>k</SUB>=(V<SUB>k</SUB>oR)∨θ                     (4.21)</P><P>中,给出Dk,Vk,θ,求R。</P><P>为了进行学习,取目标函数J</P><TABLE cellSpacing=0 cellPadding=0 width="80%" align=center border=0><TR><TD width="74%"><img src="http://www.jgchina.com/ednns/ednnsbk/7/7.htm51.gif"></TD><TD width="26%">(4.22)</TD></TR><TR><TD width="74%"><FONT size=2>学习算法是采用改进的梯度算法,这个算法用下面两个公式表示</FONT></TD><TD width="26%"></TD></TR><TR><TD width="74%"><img src="http://www.jgchina.com/ednns/ednnsbk/7/7.htm52.gif"></TD><TD width="26%">(4.23)</TD></TR><TR><TD width="74%"><img src="http://www.jgchina.com/ednns/ednnsbk/7/7.htm53.gif"></TD><TD width="26%">(4.24)</TD></TR></TABLE></TD></TR><TR><TD width="100%" height=18><P>其中:l=1,2,3,……是迭代次数 </P><P>η<SUB>i</SUB>,i=1,2,是学习速率,</P><P>α<SUB>i</SUB>,i=1,2,是动量常数。</P><P>在式(4.23)(4.24)中,Δr<SUB>ji</SUB>和Δθ<SUB>i</SUB>的意义如下</P><TABLE cellSpacing=0 cellPadding=0 width="80%" align=center border=0><TR><TD width="74%"><img src="http://www.jgchina.com/ednns/ednnsbk/7/7.htm54.gif"></TD><TD width="26%">(4.25)</TD></TR><TR><TD width="74%"><img src="http://www.jgchina.com/ednns/ednnsbk/7/7.htm55.gif"></TD><TD width="26%">(4.26)</TD></TR><TR><TD width="74%"><FONT size=2>对于Δr<SUB>ji</SUB>,可计算如下</FONT></TD><TD width="26%"></TD></TR><TR><TD width="74%"><img src="http://www.jgchina.com/ednns/ednnsbk/7/7.htm56.gif"></TD><TD width="26%">(4.27)</TD></TR><TR><TD width="74%"><img src="http://www.jgchina.com/ednns/ednnsbk/7/7.htm57.gif"></TD><TD width="26%">(4.28)</TD></TR></TABLE></TD></TR><TR><TD width="100%" height=460><P>对于式(4.28),可以解释如下:假定m=2,n=1,同时忽略下标k。则输入有V<SUB>1</SUB>,V<SUB>2</SUB>,对于V<SUB>1</SUB>有权系数r<SUB>1</SUB>,对于V<SUB>2</SUB>有权系数r<SUB>2</SUB>;两输出偏置项为θ。 </P><P>设V<SUB>1</SUB>=0.7,V<SUB>2</SUB>=0.3,r<SUB>1</SUB>=1,r<SUB>2</SUB>=0.5,θ=0.则根据式(4.18)有:</P><P><img src="http://www.jgchina.com/ednns/ednnsbk/7/7.htm58.gif"></P><P>故而有</P><P><img src="http://www.jgchina.com/ednns/ednnsbk/7/7.htm59.gif"></P><P><img src="http://www.jgchina.com/ednns/ednnsbk/7/7.htm60.gif"></P><P>设V<SUB>1</SUB>=0.7,V<SUB>2</SUB>=0.3,r<SUB>1</SUB>=0.6,r<SUB>2</SUB>=0.5,θ=0.则根据式(4.18)有:</P><P><img src="http://www.jgchina.com/ednns/ednnsbk/7/7.htm61.gif"></P><P>故而有</P><P><img src="http://www.jgchina.com/ednns/ednnsbk/7/7.htm62.gif"></P><P><img src="http://www.jgchina.com/ednns/ednnsbk/7/7.htm63.gif"></P><P>很明显,式(4.28)的意义是恰当的。</P><P>同样,对于Δθ<SUB>i</SUB>,可计算如下:</P><TABLE cellSpacing=0 cellPadding=0 width="80%" align=center border=0><TR><TD width="75%"><img src="http://www.jgchina.com/ednns/ednnsbk/7/7.htm64.gif"></TD><TD width="25%">(4.29)</TD></TR><TR><TD width="75%"><img src="http://www.jgchina.com/ednns/ednnsbk/7/7.htm65.gif"></TD><TD width="25%">(4.30)</TD></TR></TABLE></TD></TR><TR><TD width="100%" height=828><P>为了保证r<SUB>ji</SUB>(l+1)和θ<SUB>i</SUB>(l+1)的值能处于[0,1]区间,故而给出附加的约束条件如下: </P><P>1.在式(4.23)中,如果式子右边得到的数值小于0,则令r<SUB>ji</SUB>(l+1)=0;如果式子右边得到的数值大于1,则令r<SUB>ji</SUB>(l+1)=1。</P><P>2.在式(4.24)中,如果式子右边得到的数值小于0,则令θ<SUB>i</SUB>(l+1)=0;如果式子右边得到的数值大于1,则令θ<SUB>i</SUB>(l+1)=1。</P><P>式(4.23)(4.24)所表示的学习算法对所选择的r<SUB>ji</SUB>、的初值较为敏感。在初值选择时一般选θ<SUB>i</SUB>=0。</P><P>4.1.3 多种神经元组成的神经模糊控制器</P><P>神经模糊控制器可以由多种神经元组成,这些神经元包括常规神经元,或神经元和与神经元等模糊神经元等。神经模糊控制器根据不同的推理规则,有不同的结构;所需的神经元不同,对于相同的推理规则其结构也不同。</P><P>一、Mamdani推理的模糊控制器
Mamdani推理规则的形式如下:
R<SUB>i</SUB>:if x<SUB>1</SUB>=A<SUB>i1</SUB> and x<SUB>2</SUB>=A<SUB>i2</SUB> and ...... and x<SUB>n</SUB>=A<SUB>in</SUB> then y=B<SUB>j</SUB></P><P>当输入信号为精确值X0时有:</P><P>X<SUB>0</SUB>={x<SUB>01</SUB>,x<SUB>02</SUB>,……,x<SUB>0n</SUB>}</P><P>则对于前件,有隶属度:</P><P>A<SUB>i1</SUB>(x<SUB>01</SUB>),A<SUB>i2</SUB>(x<SUB>02</SUB>),……,A<SUB>in</SUB>(x<SUB>0n</SUB>)</P><P>对于第i条推理规则,则得到其前件的适合度W<SUB>i</SUB>:</P><P>W<SUB>i</SUB>=A<SUB>i1</SUB>(x<SUB>01</SUB>)∧A<SUB>i2</SUB>(x<SUB>02</SUB>)∧,……,∧A<SUB>in</SUB>(x<SUB>0n</SUB>) (4.31)</P><P>第i条推理规则的推理结果为</P><P>W<SUB>i</SUB>∧B<SUB>i</SUB></P><P>全部规则在X<SUB>0</SUB>作用时得到的推理结果为</P><P>B<SUP>*</SUP>=U<SUB>i</SUB>(W<SUB>i</SUB>∧B<SUB>i</SUB>)                       (4.32)</P><P>根据Mamdani推理规则,用经向基函数RBF(Radial Basis Function)为激发函数的神经元,与神经元,或神经元,则可以组成模糊控制器。为了方便说明这种神经模糊控制器,考虑只在4条控制规则的情况。</P><P>对于模糊控制器来说,有2个输入x<SUB>1</SUB>,x<SUB>2</SUB>,1个输出y。</P><P>输人x<SUB>1</SUB>的空间的模糊划分为“大”(L),“小”(S),并表示为A<SUB>11</SUB>=L,A<SUB>21</SUB>=S。</P><P>输入x<SUB>2</SUB>的空间的模糊划分也为“大”(L),“小”(S),并表示为A<SUB>12</SUB>=L,A<SUB>22</SUB>=S。</P><P>输出y的空间的模糊划分为“大”(L),“偏大”(ML),“中”(M),“小”(S)。</P><P>从而有4条推理规则:</P><P>if x<SUB>1</SUB>=L and x<SUB>2</SUB>=L then y=L <P>if x<SUB>1</SUB>=L and x<SUB>2</SUB>=S then y=ML <P>if x<SUB>1</SUB>=S and x<SUB>2</SUB>=L then y=M <P>if x<SUB>1</SUB>=S and x<SUB>2</SUB>=S then y=S <P>也可以写成: <P>if x<SUB>1</SUB>=A<SUB>11</SUB> and x<SUB>2</SUB>=A<SUB>12</SUB> then y=B<SUB>1</SUB> <P>if x<SUB>1</SUB>=A<SUB>11</SUB> and x<SUB>2</SUB>=A<SUB>22</SUB> then y=B<SUB>2</SUB> <P>if x<SUB>1</SUB>=A<SUB>21</SUB> and x2=A<SUB>12</SUB> then y=B<SUB>3 </SUB><P>if x<SUB>1</SUB>=A<SUB>21</SUB> and x<SUB>2</SUB>=A<SUB>22</SUB> then y=B<SUB>4</SUB> <P>能完成这4条控制规则的神经模糊控制器如图4—2所示。 <P align=center><img src="http://www.jgchina.com/ednns/ednnsbk/7/7.htm1.gif"> <P align=center>图4-2 Mamdani推理神经模糊控制器</P></TD></TR><TR><TD width="100%" height=200><P>当输入信号为x<SUB>1</SUB><SUP>0</SUP>,x<SUB>2</SUB><SUP>0</SUP>时,对第1—4条推理规则分别产生前件的适合度为W<SUB>1</SUB>,W<SUB>2</SUB>,W<SUB>3</SUB>,W<SUB>4</SUB>: </P><P>W<SUB>1</SUB>=A<SUB>11</SUB>(x<SUB>1</SUB><SUP>0</SUP>)∧A<SUB>12</SUB>(x<SUB>2</SUB><SUP>0</SUP>)</P><P>W<SUB>2</SUB>=A<SUB>11</SUB>(x<SUB>1</SUB><SUP>0</SUP>)∧A<SUB>22</SUB>(x<SUB>2</SUB><SUP>0</SUP>)</P><P>W<SUB>3</SUB>=A<SUB>21</SUB>(x<SUB>1</SUB><SUP>0</SUP>)∧A<SUB>12</SUB>(x<SUB>2</SUB><SUP>0</SUP>)</P><P>W<SUB>4</SUB>=A<SUB>21</SUB>(x<SUB>1</SUB><SUP>0</SUP>)∧A<SUB>22</SUB>(x<SUB>2</SUB><SUP>0</SUP>)</P><P>从而,对应的第1—4条规则所产生的推理结果分别是:</P><P>y<SUB>1</SUB>=W<SUB>1</SUB>∧B<SUB>1 </SUB></P><P>y<SUB>2</SUB>=W<SUB>2</SUB>∧B<SUB>2 </SUB></P><P>y<SUB>3</SUB>=W<SUB>3</SUB>∧B<SUB>3 </SUB></P><P>y<SUB>4</SUB>=W<SUB>4</SUB>∧B<SUB>4</SUB></P><P>全部推理规则产生的最终结果为</P><TABLE cellSpacing=0 cellPadding=0 width="80%" align=center border=0><TR><TD width="77%"><img src="http://www.jgchina.com/ednns/ednnsbk/7/7.htm2.gif"></TD><TD width="23%">(4.33)</TD></TR><TR><TD width="77%">即有</TD><TD width="23%"></TD></TR><TR><TD width="77%"><img src="http://www.jgchina.com/ednns/ednnsbk/7/7.htm3.gif"></TD><TD width="23%">(4.34)</TD></TR></TABLE></TD></TR><TR><TD width="100%" height=81><P>在图4—2中。所示的神经网络一共有5层,它们组成了一个模糊控制器.下面分别说明各层的意义和作用。 </P><P>第1层:这是输入节点,只用于输入X1,X2的值。</P><P>第2层:这是模糊化层。这里的神经元是用径向基函数为激发函数的。径向基函数一般用高斯函数,钟形函数,梯形函数或三角形函数。径向基函数用于表述模糊量的隶属函数。</P><P>高斯函数(Gaussian function)的表达式如下:</P><P>G(x;a,c)=exp{-[(x-c)/a]<SUP>2</SUP>}               (4.35)</P><P>其中:c是函数的中心,</P><P>a是函数的宽度。</P><P>高斯函数的形状如图4—3所示。</P><P>钟形函数(Bell shape function)的表达式如下:</P><TABLE cellSpacing=0 cellPadding=0 width="80%" align=center border=0><TR><TD width="77%"><img src="http://www.jgchina.com/ednns/ednnsbk/7/7.htm4.gif"></TD><TD width="23%">(4.36)</TD></TR></TABLE></TD></TR><TR><TD width="100%" height=546><P>其中:c是函数的中心, </P><P>a是函数的宽度,</P><P>b是边缘的斜率参数。</P><P>钟形函数的形状如图4—4所示,在图中也给出了有关参数a,b,c的意义。</P><P align=center><img src="http://www.jgchina.com/ednns/ednnsbk/7/7.htm5.gif"></P><P align=center>图4-3 高斯函数</P><P align=center><img src="http://www.jgchina.com/ednns/ednnsbk/7/7.htm6.gif"></P><P align=center>图4-4 钟形函数</P></TD></TR><TR><TD width="100%" height=91><P>梯形函数(Trapezoidal function)的表达式如下 <TABLE cellSpacing=0 cellPadding=0 width="80%" align=center border=0><TR><TD width="78%"><img src="http://www.jgchina.com/ednns/ednnsbk/7/7.htm7.gif"></TD><TD width="22%">(4.37)</TD></TR><TR><TD width="78%" height=48><FONT size=2>其中:a是梯形左边底角顶点坐标,
b是梯形左边顶角顶点坐标,
c是梯形右边顶角顶点坐标,
d是梯形右边底角顶点坐标。
梯形函数的形状如图4—5所示。
三角形函数(Triangular function)的表达式如下</FONT></TD><TD width="22%" height=48></TD></TR><TR><TD width="78%"><img src="http://www.jgchina.com/ednns/ednnsbk/7/7.htm8.gif"></TD><TD width="22%">(4.38)</TD></TR></TABLE></P></TD></TR><TR><TD width="100%" height=523><P>其中:a是三角形左边底角顶点坐标, </P><P>b是三角形顶角顶点坐标,</P><P>c是三角形右边底顶角顶点坐标。</P><P align=center><img src="http://www.jgchina.com/ednns/ednnsbk/7/7.htm9.gif"></P><P align=center>图4-5 梯形函数</P><P>三角形函数的形状如图4—6所示</P><P align=center><img src="http://www.jgchina.com/ednns/ednnsbk/7/7.htm10.gif"></P><P align=center>图4-6 三角形函数</P></TD></TR><TR><TD width="100%" height=940><P>显然,当在输入层有精确信号x输入,则在第2层就可以在径向基函数激发下产生对应的隶属度A(x)。
第3层完成控制规则的前件作用,它们是与神经元,用于产生每条规则的适合度。在图4—2中.第2层与第3层之间有连接,但没有权系数。显然有 </P><P>W<SUB>1</SUB>=A<SUB>11</SUB>(x<SUB>1</SUB>)∧A<SUB>12</SUB>(x<SUB>2</SUB>)</P><P>W<SUB>2</SUB>=A<SUB>11</SUB>(x<SUB>1</SUB>)∧A<SUB>22</SUB>(x<SUB>2</SUB>)</P><P>W<SUB>3</SUB>=A<SUB>21</SUB>(x<SUB>1</SUB>)∧A<SUB>12</SUB>(x<SUB>2</SUB>)</P><P>W<SUB>4</SUB>=A<SUB>21</SUB>(x<SUB>1</SUB>)∧A<SUB>22</SUB>(x<SUB>2</SUB>)</P><P>第4层是或神经元,它用于完成控制规则后件的功能,产生每条规则对应于输入所产生的输出。第3层与第4层之间的连接权系数是控制规则的后件模糊量。故而有:</P><P>y<SUB>1</SUB>=W<SUB>1</SUB>∧B<SUB>1 </SUB></P><P>y<SUB>2</SUB>=W<SUB>2</SUB>∧B<SUB>2 </SUB></P><P>y<SUB>3</SUB>=W<SUB>3</SUB>∧B<SUB>3 </SUB></P><P>y<SUB>4</SUB>=W<SUB>4</SUB>∧B<SUB>4</SUB></P></TD></TR></TABLE>
b
 楼主| 发表于 2004-5-28 02:38:32 | 显示全部楼层
<TABLE height=1755 cellSpacing=0 cellPadding=0 width=778 border=0><TR><TD width="100%" height=940><>第5层是输出层,它用于产生控制规则的总输出。输出层是或神经元,在第4层和第5层之间的连接没有权系数。故而最后输出有:</P><><img src="http://www.jgchina.com/ednns/ednnsbk/7/7.htm11.gif"></P><>二、Takagi-Sugeno推理的神经模糊控制器</P><P>T—S推理的形式可以表示如下:</P><P>if x is A and y is B then Z=f(x,y)</P><P>为了方便说明问题,考虑如下4条具体的控制规则</P><P>if x=A<SUB>1</SUB> and y=B<SUB>1</SUB> then Z=a<SUB>10</SUB>+a<SUB>11</SUB>x+a<SUB>12</SUB>y</P><P>if x=A<SUB>1</SUB> and y=B<SUB>2</SUB> then Z=a<SUB>20</SUB>+a<SUB>21</SUB>x+a<SUB>22</SUB>y</P><P>if x=A<SUB>2</SUB> and y=B<SUB>1</SUB> then Z=a<SUB>30</SUB>+a<SUB>31</SUB>x+a<SUB>32</SUB>y</P><P>if x=A<SUB>2</SUB> and y=B<SUB>2</SUB> then Z=a<SUB>40</SUB>+a<SUB>41</SUB>x+a<SUB>42</SUB>y</P><P>根据这4条规则,对于前件,则有适合度</P><P>W<SUB>1</SUB>=A<SUB>1</SUB>(x)∧B<SUB>1</SUB>(y)
W<SUB>2</SUB>=A<SUB>2</SUB>(x)∧B<SUB>2</SUB>(y)
W<SUB>3</SUB>=A<SUB>3</SUB>(x)∧B<SUB>3</SUB>(y)
W<SUB>4</SUB>=A<SUB>4</SUB>(x)∧B<SUB>4</SUB>(y)</P><P>而在这4条规则的后件,则有输出</P><P>Z<SUB>1</SUB>=a<SUB>10</SUB>+a<SUB>11</SUB>x+a<SUB>12</SUB>y</P><P>Z<SUB>2</SUB>=a<SUB>20</SUB>+a<SUB>21</SUB>x+a<SUB>22</SUB>y</P><P>Z<SUB>3</SUB>=a<SUB>30</SUB>+a<SUB>31</SUB>x+a<SUB>32</SUB>y</P><P>Z<SUB>4</SUB>=a<SUB>40</SUB>+a<SUB>41</SUB>x+a<SUB>42</SUB>y</P><P align=center><img src="http://www.jgchina.com/ednns/ednnsbk/7/7.htm12.gif"></P><P align=center>图4—7 Takagi-Sugeno推理神经模糊控制器</P></TD></TR><TR><TD width="100%" height=91><P>考虑这4条规则的总输出,则有 </P><P><img src="http://www.jgchina.com/ednns/ednnsbk/7/7.htm13.gif"></P></TD></TR><TR><TD width="100%" height=675><P>可以完成T—S推理的上述4条规则的神经网络如图4—7所示。在图4—7中的网络分成上下部分。上部分含有4层,下部分也有4层;上下两部分的输出再通过一个神经元Q产生最后的输出。 </P><P>下面分别说明这个网络各部分的功能。</P><P>1.上部分网络</P><P>第1层:是输入层,它只是一个输入节点,并不是神经元。</P><P>第2层:是模糊化层。这层的神经元的激发函数采用高斯函数等径向基函数。在这一层可产生隶属度输出:A1(x),A2(x),B1(y).B2(y)。</P><P>第3层:执行前件的功能,也就是求前件的适合度。这层采用与神经元;并且有</P><P>W<SUB>1</SUB>=A<SUB>1</SUB>(x)∧B<SUB>1</SUB>(y)</P><P>W<SUB>2</SUB>=A<SUB>1</SUB>(x)∧B<SUB>2</SUB>(y)</P><P>W<SUB>3</SUB>=A<SUB>2</SUB>(x)∧B<SUB>1</SUB>(y)</P><P>W<SUB>4</SUB>=A<SUB>2</SUB>(x)∧B<SUB>2</SUB>(y)</P><P>第4层;这层和第2层一样,也是常规神经元。第3层和第4层之间的连接没有权系数,并且.在第4层的神经元的激发函数为:</P><P>         f(x)=1/x</P><P>故而,有:</P><P>         p=1/∑W<SUB>i</SUB></P><P>2.下部分网络</P><P>第1层:和上部分网络一样,这一层只是输入节点。</P><P>第2层:它是常规神经元,并且在第1层和第2层之间存在连接权系数。权系数为a<SUB>11</SUB>,</P><P>a<SUB>21</SUB>,a<SUB>31</SUB>,a<SUB>41</SUB>,a<SUB>12</SUB>,a<SUB>22</SUB>,a<SUB>32</SUB>,a<SUB>42</SUB>。在这一层中,神经元的阀值为-a<SUB>10</SUB>,-a<SUB>20</SUB>,-a<SUB>30</SUB>,-a<SUB>40</SUB>。故而有输出:</P><P>Z<SUB>1</SUB>=a<SUB>10</SUB>+a<SUB>11</SUB>x+a<SUB>12</SUB>y</P><P>Z<SUB>2</SUB>=a<SUB>20</SUB>+a<SUB>21</SUB>x+a<SUB>22</SUB>y</P><P>Z<SUB>3</SUB>=a<SUB>30</SUB>+a<SUB>31</SUB>x+a<SUB>32</SUB>y</P><P>Z<SUB>4</SUB>=a<SUB>40</SUB>+a<SUB>41</SUB>x+a<SUB>42</SUB>y</P><P>第3层:用于求取每条规则输出的适合度,第3层和第2层之间的连接没有权系数;这里的第3层和上部分网络的第3层连接也没有权系数。并且,这一层的神经元是求积神经元。即有:</P><P>M<SUB>1</SUB>=W<SUB>1</SUB>Z<SUB>1         </SUB>M<SUB>2</SUB>=W<SUB>2</SUB>Z<SUB>2 </SUB></P><P>M<SUB>3</SUB>=W<SUB>3</SUB>Z<SUB>3         </SUB>M<SUB>4</SUB>=W<SUB>4</SUB>Z<SUB>4</SUB></P><P>第4层:用于对策3层的输出求和。故它是一个常规神经元。这一层和第3层连接没有权系数。并且激发函数f(x)=x。故有:</P><P>N=∑W<SUB>i</SUB>Z<SUB>i</SUB></P><P>3.最终输出神经元Q</P><P>最终输出神经元Q是一个求积神经元。它的作用对输入信号求乘积。Q和P,N的连接没有权繁数。所以,Q的输出为</P><P><img src="http://www.jgchina.com/ednns/ednnsbk/7/7.htm14.gif"></P><P>显然,图4—7完全可以实现上面所给出的执行T—S推理的4条规则的功能。也即是它是一个能完成T—S推理的神经模糊控制器。 </P></TD></TR></TABLE>
b
 楼主| 发表于 2004-5-28 02:38:59 | 显示全部楼层
<TABLE height=941 cellSpacing=0 cellPadding=0 width=778 border=0><TR><TD width="100%" height=17>< align=center>4.2神经模糊控制系统</P></TD></TR><TR><TD width="100%" height=145><>神经模糊控制系统是用神经网络作为控制器实现模糊推理控制的系统。 </P><>模糊控制系统有一个很明显的缺点:这就是它缺乏有效的学习机制。神经模糊控制系统的优异之处则在于可以用神经网络的学习机制补偿模糊控制系统原有的缺点;</P><P>神经模糊控制系统是以基于网络的适应模糊推理系统ANFIS(Adaptive Network-based Fuzzy Inference System)组成的。ANFIS也称适应神经模糊推理系统(Adaptive Neuro-Fuzzy Inference System)。在前面有关章节中所介绍的神经模糊控制器也就是典型的ANFIS。</P><P>典型的反馈控制系统框图如图4—8所示,它由控制器和被控对象组成。被控对象一般由一组差分方程描述。这些方程说明了被控对象状态x(t)的特性。而对于控制器而言,通常是用g表示其静态函数,这也就是被控对象x(t)状态对控制作用u(t)的影射。</P><P align=center><img src="http://www.jgchina.com/ednns/ednnsbk/7/7.2.ht15.gif"></P><P align=center>图4-8 反馈控制系统框图</P></TD></TR><TR><TD width="100%" height=488><P>对于框图,可以有以下方程 </P><P>x(k+1)=f(x(k),u(k))</P><P>u(k)=g(x(k))</P><P>在控制工程中,其中心的问题是:为了达到预期的控制目的,就是要找出作为对象输出状态x的函数的控制作用u。</P><P>用神经网络构成模糊控制器,就是用神经网络实现模糊映射;并且对一个被控对象进行控制。</P><P>在这一节中,先介绍神经模糊控制系统的有关结构,再介绍神经模糊控制系统的具体应用情况。</P><P>4.2.1 神经模糊控制系统结构</P><P>神经模糊控制系统的结构是和所采用的控制方式有关的。神经模糊控制有多种不同的控制方式,这些方式包括模仿经验控制,逆控制,专门学习控制,反馈线性化及滑模控制,其它方式控制。在这一部分,分别简要介绍这些控制方式及控制系统的结构。</P><P>一、模仿经验控制</P><P>模仿经验控制在本质上是把人们的经验加以总结,然后用神经模糊控制器模仿人的有关经验,从而实现对被控对象的控制。模仿专家的经验进行控制是模糊控制器的本来的目的。对一些复杂的系统,例如化学反应过程,地下铁道,交通系统等,人类的专家可以很好的实现控制,神经模糊控制器可以模仿这些专家,实现对复杂系统的有效控制。</P><P>一船而言,专家给出的经验是以模糊条件语句的方式给出的,而条件语句中的模糊量隶属函数也较粗糙;所以在应用时还需要进行较多的试验和误差处理,以重新定义隶属函数。</P><P>采用神经模糊控制器来进行模仿经验控制,则可以采用神经网络的学习机制,并利用其对数字信息,如输入输出数据的学习处理,从而可以对隶属函数进行重新定义。最后,取得较合理的结果。</P><P>这种方法不但可以用于控制系统;如果,目标系统可以用人类经验进行模仿;那么.所得到的模糊推理系统是模糊专家系统。故而,这种方法也可以用于系统诊断和分析。</P><P>二、逆控制</P><P>逆控制是神经模糊控制的一种控制方式,这种控制方式来自于神经网络控制方法。</P><P>神经模糊逆控制的作用如图4—9所示。为了简便起见,假设被控设备只有一个输出状态x(k)和一个输人u(k)。控制分成两个阶段:即学习阶段和应用阶段。</P><DIV align=center><CENTER><TABLE cellSpacing=0 cellPadding=0 width="80%" border=0><TR><TD align=middle width="50%"><img src="http://www.jgchina.com/ednns/ednnsbk/7/7.2.ht16.gif"> <P align=center>(a)</P></TD><TD align=middle width="50%"><img src="http://www.jgchina.com/ednns/ednnsbk/7/7.2.ht17.gif"> <P align=center>(b)</P></TD></TR></TABLE></CENTER></DIV></TD></TR><TR><TD width="100%" height=310><P align=center>图4-9 神经模糊逆控制</P><P>在学习阶段,采用随机输入集,可以得到被控对象所产生的相应输出。学习阶段如图4-9(a)所示。在图中,ANFIS用于学习被控对象的逆模型。在学习时,采用随机输入信号u(k)以及输出信号x(k),x(k+1)这些信息。</P><P>在应用阶段,系统的结构如图4—9(b)所示。被控对象的逆模型用作控制器直接对被控对象进行控制。如果对象的逆模型是精确的,也即是x(k),x(k+1)到u(k)的映射是精确的,确的,则用u(k)去对对象进行控制必定能产生结果x(k+1)。这个结果会逼近给定x<SUB>d</SUB>(k)。这个系统在控制的角度讲是一个纯单周期延时系统。</P><P>这种控制方法看起来只需一个唯一的学习任务,也就是寻找对象的逆模型。这就要求有一个先决的条件,即对象的逆模型存在。但是,并非所有的对象存在逆模型.进一步讲,网络络误差[c<SUB>u</SUB>(k)]<SUP>2</SUP>的最小化并不能确保整个系统误差‖x<SUB>d</SUB>(k)-x(k)‖<SUP>2</SUP>的最小化。</P><P>要克服这个问题,可采用ANFIS构成适应逆控制系统。</P><P>三、专门学习控制</P><P>逆控制所存在的主要问题是以神经网络的误差最小化取代整个系统的误差最小化。在神经模糊控制中,直接使系统误差最小化的一种方法是所谓“专门学习”方法。这种方法如图4-10中所示:</P><DIV align=center><CENTER><TABLE cellSpacing=0 cellPadding=0 width="80%" border=0><TR><TD align=middle width="50%"><img src="http://www.jgchina.com/ednns/ednnsbk/7/7.2.ht18.gif"> <P align=center>(a)</P></TD><TD align=middle width="50%"><img src="http://www.jgchina.com/ednns/ednnsbk/7/7.2.ht19.gif"> <P align=center>(b)</P></TD></TR></TABLE></CENTER></DIV></TD></TR><TR><TD width="100%" height=1219><P align=center>图4-10 神经模糊逆控制</P><P>为了使反向传播误差信号通过图4—10中的对象框图,故而需要求取可以代表对象性能的模型。事实上,为了采用BP学习算法,需要知道对象的雅可比矩阵(Jacobian matrix),在该矩阵中,其i行j列的元素等于对象的第i次输出对其第i次输入的导数。</P><P>如果对象的雅可比矩阵不容易求取,则可以在两个连续的时刻对对象在线进行输入和输出变化处理,以估计雅可比矩阵。</P><P>专门学习控制的结构如图4—10(a)中所示。给定信号为x<SUB>d</SUB>(k+1),在ANFIS控制器中输入系统的输出x(k),然后把ANFIS输出u(k)以及系统输出x(k)作为对象的输人。把对象输出x(k+1)和给定信号x<SUB>d</SUB>(k+1)进行比较,产生的误差e<SUB>x</SUB>用于对ANFIS控制器校正。校正过程采用BP算法。很明显,这是以整个系统的误差最小化为目标进行学习的。</P><P>通常人们不习惯在每个时刻k去表明所需的对象输出x(k),在参考模型适应控制中,所需的整个系统的性能可以用一个通常是线性的模型来表示,这个模型可以成功地满足控制目的。这种方法如图4—10(b)中所示。在图中,所需的输出x<SUB>d</SUB>(k+1)通过所需模型产生。</P><P>四、反馈线性化及滑模糊控制</P><P>在连续时间域中,动态系统的运动方程可以用典型的形式表达如下</P><P>x<SUP>(n)</SUP>(t)=f(x(t),x(t),x<SUP>(2)</SUP>(t),......,x<SUP>(n-1)</SUP>(t))+bu(t)            (4.39)</P><P>其中:f是未知连续函数,</P><P>b是控制增益。</P><P>系统控制的目的是使状态向量</P><P>X=[x,x,x<SUP>(2)</SUP>,......,x<SUP>(n-1)</SUP>]<SUP>T</SUP>                 (4.40)</P><P>即随所需的轨迹</P><P>X<SUB>d</SUB>=[x<SUB>d</SUB>,x<SUB>d</SUB>,x<SUB>d</SUB><SUP>(2)</SUP>,......,x<SUB>d</SUB><SUP>(n-1)</SUP>]<SUP>T</SUP>           (4.41) <P>如果定义误差向量为 <P>e=X-X<SUB>d</SUB>                                            (4.42) <P>则控制目的是设计一个控制u(t),使得在t——∞时,e——0。 <P>如果f是已知的,则式(4—39)可以简化为线性系统,故它是一个典型线性化系统。 <P>在f已知时,采用下面控制u(t): <P>u(t)=-f(X(t))+X<SUB>d</SUB><SUP>(n)</SUP>+k<SUP>T</SUP><SUB>e</SUB>           (4.43) <P>将把原有的非线性系统转换成线性系统: <P>e<SUP>(n)</SUP>(t)+k<SUB>1</SUB>e<SUP>(n-1)</SUP>+……+k<SUB>(n-1)</SUB>e+k<SUB>n</SUB>=0              (4.44) <P>这里,K=[k<SUB>n</SUB>,k<SUB>(n-1)</SUB>,……,k<SUB>1</SUB>]<SUP>T</SUP>是恰当选择的向量,它应保证满足式(4.44)闭环线性系统的特性。
但在式(4.39)中,f是未知函数,从直觉上应选择控制u(t)为: <P>u(t)=-F(X,p)+x<SUB>d</SUB><SUP>(n)</SUP>+k<SUP>T</SUP><SUB>e</SUB>+V               (4.45) <P>其中:F是足以逼近f的参数化函数, <P>V是附加输入。 <P>当采用控制u(t)时,则得到的闭环系统按如下求出: <P>1.在式(4.43)中,k<SUP>T</SUP>e满足式(4.44),即有: <P>u(t)=-f(X(t))+x<SUB>d</SUB>(n)               (4.46) <P>2.从式(4.45),(4.46)则有 <P>-f(x(t))+x<SUB>d</SUB><SUP>(n)</SUP>=-F(X,p)+x<SUB>d</SUB><SUP>(n)</SUP>+k<SUP>T</SUP>e+V <P>从而有 <P>kTe=F(X,p)-f(X(t))-V <P>即有: <P>e<SUP>(n)</SUP>+k<SUB>1</SUB>e<SUP>(n-1)</SUP>+......+k<SUB>(n-1)</SUB>e+k<SUB>u</SUB>=(F-f)-V               (4.47) <P>式(4.47)表述了用式(4.45)所示的控制时得到的闭环系统。 <P>很显明,存在两个问题: <P>1.需要逐渐修改参数向量P,使到对于所有的X,有F(X,p)≈f(x) <P>2.在F逼近f的整个过程中,需要加上附加控制V以保证总体稳定性。 <P>解决策一个问题不难,采用模糊神经网络就可以通过参数学习逼近f。 <P>解决第二个问题则可以采用滑模控制。 <P>这种控制方式只能用于反馈可线性化的系统。 <P>五、其他控制方式 <P>其它控制方式还有增益排表控制(Gain Scheduling Control),随机方法,增强学习(Reinforcement learning)法等。增益排表控制一般用于一阶Sugeno模糊模型,而随机方法一般用于复杂控制系统。对于对象模型不清楚的或不是很有效的,则可以用增强学习方法。 <P>4.2.2典型的神经模糊控制系统 <P>神经模糊控制系统可以用多种神经网络来实现。这些神经网络可以是正向前馈网络,也可以是反馈网络。既可以用模糊神经网络,也可以用径向基函数,也可以用单向线性响应函数作为激发函数的神经元。在这一节中,给出两十分典型的例子,一个是采用模糊推理网络的例子,一个是采用单向线性响应激发函数的例子。它们构成了结构不同的神经模糊控制系统。而它们各自有着明显不同的特点,但在学习上都是取得较好的效果。 <P>一、模糊推理网络构成的控制系统 <P>这是一个采用简化模糊推理网络SFIN(Simplified Fuzzy Inference Network)组成的神经模糊控制系统,由于采用了神经网络,故而在系统中的控制器是自校正模糊逻辑控制器STFLC(Self-Tuning Fuzzy Logic Controller)。下面对这个系统进行简要介绍。 <P>1.简化模糊推理网络 <P>模糊逻辑控制器是执行Takagi-Sugeno推理的控制器.考虑控制器为多输入单输出结构。控制规则有如下形式: <P>if X is A<SUB>i</SUB> then y<SUB>i</SUB>=f<SUB>i</SUB>(X) <P>其中:X=[x<SUB>1</SUB>,x<SUB>2</SUB>,......,x<SUB>m</SUB>]<SUP>T</SUP> <P>      A<SUB>i</SUB>=[A<SUB>1i</SUB>,A<SUB>2i</SUB>,......,A<SUB>mi</SUB>] <P>      f<SUB>i</SUB>(X)=[P<SUB>0i</SUB>+P<SUB>1i</SUB>x<SUB>1</SUB>+......+P<SUB>mi</SUB>x<SUB>m</SUB>] <P>      i=1,2,......,n。 <P>在控制规则中,X是输入;A<SUB>i</SUB>是模糊量;A<SUB>ki</SUB>是第k一个输入分量x<SUB>k</SUB>的第i个模彻量。f<SUB>i</SUB>(X)是对应于输人x的输出,P<SUB>ki</SUB>是第6规则中后件二项式中的输入量系数。 <P>对于第i条规则,其匹配度用D<SUB>i</SUB>表示,并且有 <P>D<SUB>i</SUB>=A<SUB>1i</SUB>(x<SUB>1</SUB>)*A<SUB>2i</SUB>(x<SUB>2</SUB>)*......*A<SUB>mi</SUB>(x<SUB>m</SUB>)                 (4.48) <P>其中:x<SUB>1</SUB>,x<SUB>2</SUB>,……,x<SUB>m</SUB>为输入精确量 <P>A<SUB>1i</SUB>(x<SUB>1</SUB>)为x<SUB>1</SUB>对A<SUB>1i</SUB>的隶属度,其余A<SUB>1i</SUB>(x<SUB>2</SUB>),……,A<SUB>mi</SUB>(x<SUB>m</SUB>)同理。 <P>所有的控制规则产生的总输出为y: <TABLE height=148 cellSpacing=0 cellPadding=0 width="80%" align=center border=0><TR><TD width="73%" height=41><img src="http://www.jgchina.com/ednns/ednnsbk/7/7.2.ht1.gif"></TD><TD width="27%" height=41>(4.49)</TD></TR><TR><TD width="73%" height=22><FONT size=2>模糊量A<SUB>ki</SUB>(x<SUB>k</SUB>)用钟形函数或高斯函数表示,故而有:</FONT></TD><TD width="27%" height=22></TD></TR><TR><TD width="73%" height=49><img src="http://www.jgchina.com/ednns/ednnsbk/7/7.2.ht2.gif"></TD><TD width="27%" height=49>(4.50)</TD></TR></TABLE></P></TD></TR><TR><TD width="100%" height=18><P>或者 </P><P>A<SUB>ki</SUB>(x<SUB>k</SUB>)=exp(-{[(x<SUB>k</SUB>-a<SUB>ki</SUB>)/b<SUB>ki</SUB>]<SUP>2</SUP>}<SUP>cki</SUP>)              (4.51)</P><P>其中:a<SUB>ki</SUB>,b<SUB>ki</SUB>,c<SUB>ki</SUB>是函数的参数;改变这些参数则函效会产生相应的变化。故而模糊量的形状也产生变化。
当系统是一个双输入单输出系统时,则模糊推理网络的结构如图4—11所示。</P><P>在这个网络中有两个输入,每个输入被划分成3个模糊量。对于输入x<SUB>1</SUB>,有L<SUB>1</SUB>(大),M<SUB>1</SUB>(中),s<SUB>1</SUB>(小)这3个隶属函数;对于输入x<SUB>2</SUB>,有I<SUB>2</SUB>(大),M<SUB>2</SUB>(中),S<SUB>2</SUB>(小)这3个隶属函数。故而有9条控制规则:</P><P>if x<SUB>1</SUB> is L<SUB>1</SUB> and x<SUB>2</SUB> is L<SUB>2</SUB> then y<SUB>1</SUB>=f<SUB>1</SUB>(x<SUB>1</SUB>,x<SUB>2</SUB>)</P><P>if x<SUB>1</SUB> is L<SUB>1</SUB> and x<SUB>2</SUB> is M<SUB>2</SUB> then y<SUB>2</SUB>=f<SUB>2</SUB>(x<SUB>1</SUB>,x<SUB>2</SUB>)</P><P>if x<SUB>1</SUB> is L<SUB>1</SUB> and x<SUB>2</SUB> is S<SUB>2</SUB> then y<SUB>3</SUB>=f<SUB>3</SUB>(x<SUB>1</SUB>,x<SUB>2</SUB>)</P><P>if x<SUB>1</SUB> is M<SUB>1</SUB> and x<SUB>2</SUB> is L<SUB>2</SUB> then y<SUB>4</SUB>=f<SUB>4</SUB>(x<SUB>1</SUB>,x<SUB>2</SUB>)</P><P>if x<SUB>1</SUB> is M<SUB>1</SUB> and x<SUB>2</SUB> is M<SUB>2</SUB> then y<SUB>5</SUB>=f<SUB>5</SUB>(x<SUB>1</SUB>,x<SUB>2</SUB>)</P><P>if x<SUB>1</SUB> is M<SUB>1</SUB> and x<SUB>2</SUB> is S<SUB>2</SUB> then y<SUB>6</SUB>=f<SUB>6</SUB>(x<SUB>1</SUB>,x<SUB>2</SUB>)</P><P>if x<SUB>1</SUB> is S<SUB>1</SUB> and x<SUB>2</SUB> is L<SUB>2</SUB> then y<SUB>7</SUB>=f<SUB>7</SUB>(x<SUB>1</SUB>,x<SUB>2</SUB>)</P><P>if x<SUB>1</SUB> is S<SUB>1</SUB> and x<SUB>2</SUB> is M<SUB>2</SUB> then y<SUB>8</SUB>=f<SUB>8</SUB>(x<SUB>1</SUB>,x<SUB>2</SUB>)</P><P>if x<SUB>1</SUB> is S<SUB>1</SUB> and x<SUB>2</SUB> is S<SUB>2</SUB> then y<SUB>9</SUB>=f<SUB>9</SUB>(x<SUB>1</SUB>,x<SUB>2</SUB>)</P><P>对应于图4—11中的模糊划分,则输入空间被划分成9个模糊子空间,如图4—12中所示。</P><P align=center><img src="http://www.jgchina.com/ednns/ednnsbk/7/7.2.ht3.gif"></P><P align=center>图4-11 简化的模糊推理网络SFIN</P></TD></TR></TABLE>
b
 楼主| 发表于 2004-5-28 02:39:17 | 显示全部楼层
<TABLE height=941 cellSpacing=0 cellPadding=0 width=778 border=0><TR><TD width="100%" height=534><>图4—11所示的模糊推理网络表示的控制规则中,由于只有两个输入,故而有 </P><>y<SUB>i</SUB>=f<SUB>i</SUB>(X)=f<SUB>i</SUB>(x<SUB>1</SUB>,x<SUB>2</SUB>), i=1,2,......,9</P><>即是:y<SUB>i</SUB>=p<SUB>0i</SUB>+p<SUB>1i</SUB>x<SUB>1</SUB>+p<SUB>2i</SUB>x<SUB>2</SUB>          (4.52)</P><P>如果对图4—11所示的网络进行优化,则相应对于控制规则的前件和后件进行优化。</P><P>当对控制规则进行前件优化时,也即对网络的第二层神经元进行优化,这时也即是对径向基函数的参数a<SUB>ki</SUB>,b<SUB>ki</SUB>,c<SUB>ki</SUB>进行优化;其中k是输入量下标号,即k=1,2,i是控制规则条数号,即i=1,2,…,9。从控制规则集中可知,有模物量:</P><P>A<SUB>11</SUB>=A<SUB>12</SUB>=A<SUB>13</SUB>=L<SUB>1</SUB>       A<SUB>21</SUB>=A<SUB>22</SUB>=A<SUB>23</SUB>=L<SUB>2</SUB></P><P>A<SUB>14</SUB>=A<SUB>15</SUB>=A<SUB>16</SUB>=M<SUB>1</SUB>       A<SUB>24</SUB>=A<SUB>25</SUB>=A<SUB>26</SUB>=M<SUB>2</SUB></P><P>A<SUB>17</SUB>=A<SUB>18</SUB>=A<SUB>19</SUB>=S<SUB>1</SUB>       A<SUB>27</SUB>=A<SUB>28</SUB>=A<SUB>29</SUB>=S<SUB>2</SUB></P><P>当对控制规则的后件进行优化时,也即是对f<SUB>i</SUB>(x<SUB>1</SUB>,x<SUB>2</SUB>)中的系数p<SUB>0i</SUB>,p<SUB>1i</SUB>,p<SUB>2i</SUB>进行优化。</P><P align=center><img src="http://www.jgchina.com/ednns/ednnsbk/7/7.2.ht4.gif"></P><P align=center>图4-12 模糊子空间</P></TD></TR><TR><TD width="100%" height=147><P>2.神经模糊控制器的优化
当在简化的模糊推理网络SFIN中的X<SUB>1</SUB>端输入偏差信号e(k)=y<SUB>d</SUB>(k)-y(k);其中y<SUB>d</SUB>(k)为给定信号,y(k)为对象实际输出信号。在x<SUB>2</SUB>端输入偏差变化率Δe(k)=e(k)-e(k-1)。而在SFIN输出端输出的是增量控制信号Δu(k)=u(k)-u(k-1)。则SFIN可以看作一个参数化的模糊控制器。 </P><P>对SFIN考虑二个优化过程。一个是SFIN初始化的监视学习优化;另一个SFIN的在线自适应学习优化。</P><P>(1)SFIN的初始化监视学习</P><P>给出用于SFIN初始化的教师信号数据。</P><P>T{[e(i),Δe(i)]——Δu(i)|i=1:N}            (4.53)</P><P>其中:e(i),Δe(i)是输入</P><P>Δu(i)是输出。</P><P>初始化教师数据来自系统控制人员的控制数据,优化时采用的目标函数为I<SUB>0</SUB>:</P><TABLE cellSpacing=0 cellPadding=0 width="80%" align=center border=0><TR><TD width="80%"><img src="http://www.jgchina.com/ednns/ednnsbk/7/7.2.ht5.gif"></TD><TD width="20%">(4.54)</TD></TR><TR><TD width="80%"><FONT size=2>其中:SFIN[e(i),Ae(i)]表示数据对e(i),Ae(I)输入SFIN之后得到的输出。
用W表示SFIN中的普通参数,它可以用下式进行校正:</FONT></TD><TD width="20%"></TD></TR><TR><TD width="80%"><img src="http://www.jgchina.com/ednns/ednnsbk/7/7.2.ht6.gif"></TD><TD width="20%">(4.55)</TD></TR></TABLE></TD></TR><TR><TD width="100%" height=325><P>其中:η(k)是学习速率,1&gt;η(k)&gt;0。 </P><P>(i)前件参数估计</P><P>偏差e所取的模糊量个数表示为N<SUB>e</SUB>。i偏差变化率Δe所取的模糊量个数表示为N<SUB>Δe</SUB>。</P><P>根据先验知识,偏差e和偏差变化率Δe的边界分别是:</P><P>S<SUB>e</SUB>≤e≤B<SUB>e</SUB></P><P>S<SUB>Δe</SUB>≤Δe≤B<SUB>Δe</SUB></P><P>则前件的初始参数可以选择如下</P><P><img src="http://www.jgchina.com/ednns/ednnsbk/7/7.2.ht7.gif"></P><P><img src="http://www.jgchina.com/ednns/ednnsbk/7/7.2.ht8.gif"></P><P><img src="http://www.jgchina.com/ednns/ednnsbk/7/7.2.ht9.gif"></P><P>(ii)后件参数估计</P><P>从上可知,在SFIN中有控制规则为N<SUB>r</SUB>条:</P><P>N<SUB>r</SUB>=N<SUB>e</SUB>*N<SUB>Δe</SUB>      (4.56)</P><P>由于控制规则的后件为y<SUB>i</SUB>=f<SUB>i</SUB>(x)=p<SUB>0i</SUB>+p<SUB>1i</SUB>x<SUB>1</SUB>+p<SUB>2i</SUB>x<SUB>2</SUB>,也即有参数p<SUB>0i</SUB>,p<SUB>1i</SUB>,p<SUB>2i</SUB>。所以,总的后件参数为Ng;</P><P>Ng=3Nr              (4.57)</P><P>要求取Ng个参数,则要求有Ng个输入输出教师数据对:</P><P>{[e(q),Δe(q)]——Δu(q)},q=1:Ng              (4.58)</P><P>并通过这Ng个数据对才能形成Ng个方程的方程组.以求取后件的Ng个参数。</P><P>当在SFIN输入Ng对[e(q),e(q)],q=1:Ng数据时,则从式(4.49)有:</P><TABLE cellSpacing=0 cellPadding=0 width="80%" align=center border=0><TR><TD width="82%"><img src="http://www.jgchina.com/ednns/ednnsbk/7/7.2.ht10.gif"></TD><TD width="18%">(4.59)</TD></TR><TR><TD width="82%"><FONT size=2>在上面式(4.59)中,需要求f<SUB>i</SUB>中的参数p<SUB>0i</SUB>,p<SUB>1i</SUB>,p<SUB>2i</SUB>,则可写成</FONT></TD><TD width="18%"></TD></TR><TR><TD width="82%"><img src="http://www.jgchina.com/ednns/ednnsbk/7/7.2.ht11.gif"></TD><TD width="18%">(4.60)</TD></TR></TABLE></TD></TR><TR><TD width="100%" height=62><P>用P表示后件f<SUB>i</SUB>的参数向量.M为Di的Ng*Ng短阵.U=[Δu(1),Δu(2),……,Δu(Ng)]T,则式(4.60)可以写成如下矩阵形式: </P><P>MP=U        (4.61)</P><P>显然,解矩阵方程式(4.61),则有</P><P>P=M<SUP>-1</SUP>U</P><P>从而可得后件参数向量P,也即得出后件参数,p<SUB>0i</SUB>,p<SUB>1i</SUB>,p<SUB>2i</SUB>,i=1:9。</P><P>(2)SFIN的在线自适应学习优化</P><P>模糊推理网络SFIN是作为模糊控制器的,由它组成的模糊控制系统的框图如图4-13所示。</P><P align=center><img src="http://www.jgchina.com/ednns/ednnsbk/7/7.2.ht12.gif"></P><P align=center>图4-13 模糊控制系统</P></TD></TR><TR><TD width="100%" height=69><P>在给出了SFIN的初始化参数之后,则可以对SFIN进行在线自适应学习优化。在优化时采用如下性能指标: </P><TABLE cellSpacing=0 cellPadding=0 width="80%" align=center border=0><TR><TD width="85%"><img src="http://www.jgchina.com/ednns/ednnsbk/7/7.2.ht13.gif"></TD><TD width="15%">(4.62)</TD></TR><TR><TD width="85%"><FONT size=2>其中:h是偏差平方累加个数,
l是加权控制增量平方累加个数,
θ(i)是加权因子。
在上式中y<SUB>d</SUB>(k-i)-y(k-i)=e(k-i),即偏差。
在线自适应时系统SFIN中参数W的校正采用下式</FONT></TD><TD width="15%"></TD></TR><TR><TD width="85%"><img src="http://www.jgchina.com/ednns/ednnsbk/7/7.2.ht14.gif"></TD><TD width="15%">(4.63)</TD></TR></TABLE></TD></TR><TR><TD width="100%" height=98><P>在式(4.63)中,对J(k)的偏微分求取如下 </P><P><img src="http://www.jgchina.com/ednns/ednnsbk/7/7.2.ht20.gif"></P><P>很明显<SUP>a</SUP>J(k)/<SUP>a</SUP>w和<SUP>a</SUP>Δu(k-i-1)/<SUP>a</SUP>w成比例.即有</P><TABLE cellSpacing=0 cellPadding=0 width="80%" align=center border=0><TR><TD width="86%"><img src="http://www.jgchina.com/ednns/ednnsbk/7/7.2.ht21.gif"></TD><TD width="14%">(4.65)</TD></TR><TR><TD width="86%"><FONT size=2>在上面式子中,Δu(k-i)是可从神经网络的输出求得的</FONT></TD><TD width="14%"></TD></TR><TR><TD width="86%">Δu(k-i)=SFIN[e(k-i),Δe(k-i);W(k)]</TD><TD width="14%">(4.66)</TD></TR></TABLE></TD></TR><TR><TD width="100%" height=20><P>3.控制系统的运行结果 </P><P>对于给定的对象,采用SFIN可实现神经模糊控制并取满意的结果。</P><P>(1)被控对象PL</P><P>被控对象PL表示如下:</P><P>PL(V<SUB>1</SUB>,V<SUB>2</SUB>,V<SUB>3</SUB>,V<SUB>4</SUB>,V<SUB>5</SUB>,y<SUB>d</SUB>)</P><P>其中:y<SUB>d</SUB>是设定的期望点。</P><P>被控对象的输入输出关系由下式表示</P><P>y<SUB>k+1</SUB>=f(y<SUB>k</SUB>,y<SUB>k-1</SUB>,y<SUB>k-2</SUB>)+g(k,y<SUB>k-3</SUB>,y<SUB>k-4</SUB>,U<SUB>k-2</SUB>)+(1.1+V<SUB>1</SUB>)u<SUB>k-1</SUB>+(1+V<SUB>2</SUB>)u<SUB>k</SUB>+Z<SUB>k</SUB>       (4.67)</P><P>其中:</P><DIV align=center><CENTER><TABLE cellSpacing=0 cellPadding=0 width="80%" border=0><TR><TD width="76%"><img src="http://www.jgchina.com/ednns/ednnsbk/7/7.2.ht22.gif"></TD><TD width="24%">(4.68)</TD></TR></TABLE></CENTER></DIV></TD></TR><TR><TD width="100%" height=241><P>g(k,y<SUB>k-3</SUB>,y<SUB>k-4</SUB>,U<SUB>k-2</SUB>)=V<SUB>4</SUB>Sin[0.08(y<SUB>k-3</SUB>+y<SUB>k-4</SUB>)]U<SUB>k-2</SUB>+V<SUB>5</SUB>cos(0.05kπ)         (4.69) </P><P>g(·)是干扰信号,</P><P>V<SUB>i</SUB>(i=1,2,…,5)是实参数。</P><P>Z<SUB>k</SUB>是白噪声,其最大幅值为0.1。</P><P>(2)训练数据集</P><P>给出的训练数据集如表4—1所示,它一共有30组训练数据。这些数据用于对SFIN进行初始化监视学习,从而确定SFIN的初始参数。</P></TD></TR></TABLE>
您需要登录后才可以回帖 登录 | 注-册-帐-号

本版积分规则

小黑屋|手机版|Archiver|数学建模网 ( 湘ICP备11011602号 )

GMT+8, 2024-5-16 21:32 , Processed in 0.064836 second(s), 12 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表