第6章模糊神经和模糊聚类及其MATLAB实现课件



《第6章模糊神经和模糊聚类及其MATLAB实现课件》由会员分享,可在线阅读,更多相关《第6章模糊神经和模糊聚类及其MATLAB实现课件(90页珍藏版)》请在装配图网上搜索。
1、单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,,*,*,第6章 模糊神经和模糊聚类,及其MATLAB实现,,6.1 基于标准模型的模糊神经网络,6.2 基于Takagi-Sugeno模型的模糊神经网络,6.3 自适应神经模糊系统及其MATLAB实现,6.4 模糊聚类及其MATLAB实现,,1,第6章 模糊神经和模糊聚类6.1 基于标准模型的模糊神经网,模糊神经网络控制在控制领域里目前已经成为一个研究热点,其原因在于两者之间的互补性质。神经网络和模糊系统均属于无模型的估计器和非线性动力学系统,也是一种处理不确定性、非线性和其它不确定问题(,ill-
2、posed problem,)的有力工具。但两者之间的特性却存在很大的差异。,,,2,模糊神经网络控制在控制领域里目前已经成为一个研究热点,模糊系统中知识的抽取和表达比较方便,它比较适合于表达那些模糊或定性的知识,其推理方式比较类似于人的思维模式。但是一般说来模糊系统缺乏自学习和自适应能力,要设计和实现模糊系统的自适应控制是比较困难的。而神经网络则可直接从样本中进行有效的学习,它具有并行计算、分布式信息存贮、容错能力强以及具备自适应学习功能等一系列优点。正是由于这些优点,神经网络的研究受到广泛的关注并吸引了许多研究工作者的兴趣。,,3,模糊系统中知识的抽取和表达比较方便,它比较适合于表达,但一
3、般说来,神经网络不适于表达基于规则的知识,因此在对神经网络进行训练时,由于不能很好地利用已有的经验知识,常常只能将初始权值取为零或随机数,从而增加了网络的训练时间或者陷入非要求的局部极值。总的来说,神经网络适合于处理非结构化信息,而模糊系统对处理结构化的知识更为有效。,,,4,但一般说来,神经网络不适于表达基于规则的知识,因此在,基于上述讨论可以想见,若能将模糊逻辑与神经网络适当地结合起来,吸取两者的长处,则可组成比单独的神经网络系统或单独的模糊系统性能更好的系统。,在,MATLAB,模糊逻辑工具箱中,提供了有关模糊逻辑推理的高级应用,包括自适应、模糊聚类、给定数据的模糊建模。下面首先介绍用神
4、经网络来实现模糊系统的两种结构。,,,5,基于上述讨论可以想见,若能将模糊逻辑与神经网,6.1 基于标准模型的模糊神经网络,,,由前已知,在模糊系统中,模糊模型的表示主要有两种:一种是模糊规则的后件是输出量的某一模糊集合,称它为模糊系统的标准模型表示;另一种是模糊规则的后件是输入语言变量的函数,典型的情况是输入变量的线性组合,称它为模糊系统的,Takagi,—,Sugeno,模型。下面首先讨论基于标准模型的模糊神经网络。,,,6,6.1 基于标准模型的模糊神经网络 6,6.1.1 模糊系统的标准模型,在前面已经介绍过,对于多输入多输出(MIMO)的模糊规则可以分解为多个多输入单输出(MISO)
5、的模糊规则。因此不失一般性,下面只讨论MISO模糊系统。,图6-1为一基于标准模型的MISO模糊系统的原理结构图。其中χR,n,,yR。如果该模糊系统的输出作用于一个控制对象,那么它的作用便是一个模糊逻辑控制器。否则,它可用于模糊逻辑决策系统、模糊逻辑诊断系统等其它方面。,图6,-1,基于标准模型的模糊系统原理结构图,,,7,6.1.1 模糊系统的标准模型图6-1 基于标准模型的模糊系,设输入向量X = [x,1,x,2,…x,n,],T,,每个分量x,i,均为模糊语言变量,并设,T(x,i,) = {A,i,1,,A,i,2,,…,A,i,mi,} i = 1,2,…,n,其中,A,i,j
6、,(j = 1,2,…,m,i,)是x,i,的第j个语言变量值,它是定义在论域U,i,上的一个模糊集合。相应的隶属度函数为μ,A i,j,(x,i,)(i = 1,2,…,n;j = 1,2,…,m,i,)。,输出量,y,也为模糊语言变量且,T(y) = {B,1,,B,2,,,…,,B,my,},。其中,B,j,(j = 1,2,,…,,m,y,),是,y,的第,j,个语言变量值,它是定义在论域,U,y,上的模糊集合。相应的隶属度函数为,μ,B,j,(y),。,,,8,设输入向量X = [x1 x2 …xn]T,每个分量x,设描述输入输出关系的模糊规则为:,R,i,:如果x,1,是A,1,i
7、,and x,2,是A,2,i,… and x,n,是A,n,i,则y是B,i,其中i = 1,2,…,m,m表示规则总数,m<=m,1,m,2,…m,n,。,若输入量采用单点模糊集合的模糊化方法,则对于给定的输入x,可以求得对于每条规则的适用度为,,,或,通过模糊推理可得对于每一条模糊规则的输出量模糊集合B,i,的隶属度函数为,,或,,,9,设描述输入输出关系的模糊规则为:9,从而输出量总的模糊集合为,,B =,,,,若采用加权平均的清晰化方法,则可求得输出的清晰化量为,,,,10,从而输出量总的模糊集合为10,由于计算上式的积分很麻烦,实际计算时通常用下面的近似公式,,,,,其中 是
8、 取最大值的点,它一般也就是隶属度函数的中心点。,,显然 = =,从而输出量的表达式可变为,,,其中,,,11,由于计算上式的积分很麻烦,实际计算时通常用下面的近似公式 显,6.1.2 系统结构,根据上面给出的模糊系统的模糊模型,可设计出如图,6-2,所示的模糊神经网络结构。图中所示为,MIMO,系统,它是上面所讨论的,MISO,情况的简单推广。,,图,6-2,基于标准模型的模糊神经网络结构图,,,12,6.1.2 系统结构图6-2 基于标准模型的模糊神经网络结,第二层每个节点代表一个语言变量值,如NB,P
9、S等。它的作用是计算各输入分量属于各语言变量值模糊集合的隶属度函数 ,其中,,i = 1,2,…,n, j = 1,2,…,m,i,。n是输入量的维数,m,i,是x,i,的模糊分割数。例如,若隶属函数采用高斯函数表示的铃形函数,则,,其中 和 分别表示隶属函数的中心和宽度。该层的节点总数。,,图中第一层为输入层。该层的各个节点直接与输入向量的各分量x,i,连接,它起着将输入值x = [x,1,x,2,…x,n,],T,传送到下一层的作用。该层的节点数N,1,= n。,,,13,第二层每个节点代表一个语言变量值,如NB,PS等。它的作用是,第三层的每个节点代表一条模糊规则,它
10、的作用是用来匹配模糊规则的前件,计算出每条规则的适用度。即,或,,其中,该层的节点总数,N,3,,=,m,。对于给定的输入,只有在输入点附近的那些语言变量值才有较大的隶属度值,远离输入点的语言变量值的隶属度或者很小(高斯隶属度函数)或者为,0,(三角形隶属度函数)。当隶属度函数很小(例如小于,0.05,)时近似取为,0,。因此在 中只有少量节点输出非,0,,而多数节点的输出为,0,,这一点与前面介绍的局部逼近网络是类似的。,,,14,第三层的每个节点代表一条模糊规则,它的作用是用来匹配模糊规则,第四层的节点数与第三层相同,即N,4,=N,3,=m,它所实现的是归一化计算,即,,,,第五层是
11、输出层,它所实现的是清晰化计算,即,,,i=1,2,…,r,与前面所给出的标准模糊模型的清晰化计算相比较,这里的 相当于y,i,的第j个语言值隶属函数的中心值,上式写成向量形式则为,其中,,,15,第四层的节点数与第三层相同,即N4=N3=m,它所实现的是归,6.1.,3 学习算法,,假设各输入分量的模糊分割数是预先确定的,那么需要学习的参数主要是最后一层的连接权,,以及第二层的隶属度函数的中心值 和宽度,。,上面所给出的模糊神经网络本质上也是一种多层前馈网络,所以可以仿照,BP,网络用误差反传的方法来设计调整参数的学习算法。为了导出误差反传的迭代算法,需要对每个神经元的输入输
12、出关系加以形式化的描述。,,,16,6.1.3 学习算法 16,图6-3 单个神经元节点的基本结构图,,设图6-3表示模糊神经网络中第q层第j个节点。其中,节点的纯输入,节点的输出。,对于一般的神经元节点,通常有,,,,,而对于图,6-2,所示的模糊神经网络,,其神经元节点的输入输出函数则,具有较为特殊的形式,下面具体给,出它的每一层节点函数。,,,,17,图6-3 单个神经元节点的基本结构图 设图6-3表示模,第一层:,,第二层:,,,,第三层:,或者,,,,,18,第一层:18,第四层:,,,第五层:,,设取误差代价函数为,,其中 和 分别表示期望输出和实际输出。下面给出
13、误差反传算法来计算 和 ,然后利用一阶,,梯度寻优算法来调节 和 。,,,19,第四层: 19,首先计算,,进而求得,,再计算,,,20,首先计算20,当 采用取小运算时,则当 是第k个规则节点输入的最小值时,当 采用相乘运算时,则当 是第k个规则节点的一个输入时,否则,否则,,21,当 采用取小运算时,则当,从而可得所求一阶梯度为,在求得所需的一阶梯度后,最后可给出参数调整的学习算法为,,其中 >0为学习率。,,22,从而可得所求一阶梯度为 在求得所需的一阶梯,
14、该模糊神经网络也和,BP,网络及,RBF,网络等一样,本质上也是实现从输入到输出的非线性映射。它和,BP,网络一样,结构上都是多层前馈网,学习算法都是通过误差反传的方法;它和,RBF,网络等一样,都属于局部逼近网络。,,,23,该模糊神经网络也和BP网络及RBF网络等一样,本质上也,6.2 基于Takagi—Sugeno模型的模糊神经系统,在前面对模糊推理的讨论中,分别介绍了,Mamdani,型模糊推理和,Takagi,-,Sugeno,型模糊推理。,MATLAB,模糊逻辑工具箱同时提供对这两种模糊推理方法的支持。其中对,Sugeno,型模糊推理仅支持一阶规则,即规则的输出为输入变量的线性组合
15、。,,,24,6.2 基于Takagi—Sugeno模型的模糊神经系统24,Mamdani型模糊推理和 Takagi-Sugeno型模糊推理各有优缺点。对 Mamdani型模糊推理,由于其规则的形式符合人们思维和语言表达的习惯,因而能够方便地表达人类的知识,但存在计算复杂、不利于数学分析的缺点。而Takagi-Sugeno型模糊推理则具有计算简单,利于数学分析的优点,且易于和PID控制方法以及优化、自适应方法结合,从而实现具有优化与自适应能力的控制器或模糊建模工具。,,,25,Mamdani型模糊推理和 Takagi-S,,根据,Sugeno,型模糊推理的特点,有关学者将其与神经网络结合,用于
16、构造具有自适应学习能力的神经模糊系统。模糊逻辑与神经网络的结合,是近年来计算智能学科的一个重要研究方向。两者结合形成的模糊神经网络同时具有模糊逻辑易于表达人类知识和神经网络的分布式信息存储以及学习能力的优点,对于复杂系统的建模和控制提供了有效的工具。,,,26,根据Sugeno 型模糊推理的特点,有关学者将,6.2.1 模糊系统的 Takagi-Sugeno模型,由于MIMO的模糊规则可分解为多个MISO模糊规则,因此下面也只讨论MISO模糊系统的模型。,设输入向量x = [x,1,x,2,… x,n,],T,,每个分量x,i,均为模糊语言变量。并设,T(x,i,) = {A,i,1,,A,i
17、,2,,…,A,i,mi,} i = 1,2,…,n,其中A,i,j,(j = 1,2,…,m,i,)是x,i,的第j个语言变量值,它是定义在论域U,i,上的一个模糊集合。相应的隶属度函数为 (i = 1,2,…,n;j = 1,2,…,m,i,)。,Takagi和Sugeno所提出的模糊规则后件是输入变量的线性组合,即,R,j,:如果 是 and 是 是 ,则,,其中。,,,27,6.2.1 模糊系统的 Takagi-Sugeno模型27,若输入量采用单点模糊集合的模糊化方法,则对于给定的输入x,可以
18、求得对于每条规则的适应度为,,或,模糊系统的输出量为每条规则的输出量的加权平均,即,,,,其中,,,28,若输入量采用单点模糊集合的模糊化方法,则对于给定的输入x,可,6.2.2 系统结构,根据上面给出,的模糊模型,可以,设计出如图6-4所,示的模糊神经网络,结构。图中所示为,MIMO系统,它是上,面讨论的MISO系统,的简单推广。,图6-4,,29,6.2.2 系统结构图6-429,,由图可见,,,该网络由前件网络和后件网络两部分组成,,,前件网络用来匹配模糊规则的前件,,,后件网络用来产生模糊规则的后件。,,(1)前件网络,前件网络由4层组成。第一层为输入层。它的每个节点直接与输入向量的各
19、分量 连接,它起着将输入值x = [x,1,x,2,…x,n,],T,传送到下一层的作用。该层的节点数N,1,=n。,,30,由图可见,该网络由前件网络和后件网络两部分组成, 前件,第二层每个节点代表一个语言变量值,如NM,PS等。它的作用是计算各输入分量属于各语言变量值模糊集合的隶属度后函数 ,其中,,。n是输入量的维数, 是 的模糊分割数。例如,若隶属函数采用高斯函数表示的铃形函数,则,,,其中 和 分别表示隶属函数的中心和宽度。该层的节点总数 。,,,31,第二层每个节点代表一个语言变量值,如NM,PS等。它的作,第三层的每个节
20、点代表一条模糊规则,它的作用是用来匹配模糊规则的前件,计算出每条规则的适应度,即,或,该层的节点总数,N,3,=m,。对于给定的输入,只有在输入点附近的语言变量值才有较大的隶属度值,远离输入点的语言变量值的隶属度或者很小(高斯隶属度函数)或者为,0,(三角形隶属度函数)。当隶属度函数很小(例如小于,0.05,)时近似取为,0,。因此在 中只有少量节点输出非,0,,而多数节点的输出为,0,,这一点类似于局部逼近网络。,其中,,32,第三层的每个节点代表一条模糊规则,它的作用是用,第四层的节点数与第三层相同,N,4,=N,3,=m,它所实现的是归一化计算,即,,,33,第四层的节点数与第三层相同
21、,N4=N3=m,它所实现,(2)后件网络,后件网络由r个结构相同的并列子网络所组成,每个子网络产生一个输出量。,子网络的第一层是输入层,它将输入变量传送到第二层。输入层中第0个节点的输入值 ,它的作用是提供模糊规则后件中的常数项。,子网络的第二层共有m各节点,每个节点代表一条规则,该层的作用是计算每一条规则的后件,即,,,,34,(2)后件网络34,子网络的第三层是计算系统的输出,即,,,可见, 是各规则后件的加权和,加权系数为各模糊规则的经归一化的使用度,也即前件网络的输出用作后件网络第三层的连接权值。,至此,图,2-49,所示的神经网络完全实现了,Takagi-Sugeno,的
22、模糊系统模型。,,,35,子网络的第三层是计算系统的输出,即35,6.2.3 学习方法,假设各输入分量的模糊分割数是预先确定的,那么需要学习的参数主要是后件网络的连接权 (,)以及前件网络第二层各节点隶属函数的中心值 及宽度。,设取误差代价函数为,,,其中,,和 分别表示期望输出和实际输出。,,,36,6.2.3 学习方法36,,下面首先给出参数 的学习算法。,,,,,,其中 。,下面讨论 及 的学习问题,这时可将参数 固定。从而图,6-4,可以简化为如图,6-5,所示。这时每条规则的后件在简化结构中变成了最后一层的连接权。,,,37,下面首先给出参数
23、 的学习算法。37,图6-5 基于Takagi-Sugeno模型的模糊神经网络简化结构图,,,38,图6-5 基于Takagi-Sugeno模型的模糊神经网络,比较图6-5与图6-2可以发现,该简化结构与基于标准模型的模糊神经网络具有完全相同的结构,这时只需令最后一层的连接权 ,则完全可以借用前面已得的结果,即,,,,,,,39,比较图6-5与图6-2可以发现,该简化结构与基于标准模型的模,其中当and采用取小运算时,则当 是第k个规则节点输入的最小值时,否则,当and采用相乘运算时,则当 是第k个规则节点的一个输入时,,否则,,,40,其中当and采用取小运算
24、时,则当 是第k个规则节点输入,最后求得,,,,,,,,,其中,,为学习率,,,,41,最后求得41,对于上面介绍的两种模糊神经网络,当给定一个输入时网络(或前件网络)第三层的 中只有少量元素非,0,,其余大部分元素均为,0,。因而,从,x,到,,的映射与,RBF,神经网络的非线性映射非常类似。所以该模糊神经网络也是局部逼近网络。其中第二层的隶属度函数类似于基函数。,,,42,对于上面介绍的两种模糊神经网络,当给定一个输入时网络,模糊神经网络虽然也是局部逼近网络,但是它是按照模糊系统模型建立的,网络中的各个节点及所有参数均有明显的物理意义,因此这些参数的初值可以
25、根据系统的模糊或定性的知识来加以确定,然后利用上述的学习算法可以很快收敛到要求的输入输出关系,这是模糊神经网络比前面单纯的神经网络的优点所在。同时由于它具有神经网络的结构,因而参数的学习和调整比较容易,这是它比单纯的模糊逻辑系统的优点所在。,,,43,模糊神经网络虽然也是局部逼近网络,但是它是按照模糊系,基于,Takagi-Sugeno,模型的模糊神经网络可以从另一角度来认识它的输入输出映射关系,若各输入分量的分割是精确的,即相当于隶属度函数为互相拼接的超矩形函数,,,则网络的输出相当于是原光滑函数的分段线性近似,即相当于用许多块超平面来拟合一个光滑曲面。网络中的 参数便是这些超平面方程的参
26、数,这样只有当分割越精细时,拟合才能越准确。而实际上这里的模糊分割互相之间是有重叠的,因此即使模糊分割数不多,也能获得光滑和准确的曲面拟合。,,,44,基于Takagi-Sugeno模型的模糊神经网络可以,基于上面的理解,可以帮助我们选取网络参数的初值。例如,若根据样本数据或根据其它先验知识已知输出曲面的大致形状时,可根据这些形状来进行模糊分割。若某些部分曲面较平缓,则相应部分的模糊分割可粗些;反之若某些部分曲面变化剧烈,则相应部分的模糊分割需要精细些。在各分量的模糊分割确定后,可根据各分割子区域所对应的曲面形状用一个超平面来近似,这些超平面方程的参数即作为 的初值。由于网络还要根据给定样
27、本数据进行学习和训练。因而初值参数的选择井不要求很精确。但是根据上述的先验知识所作的初步选择却是非常重要的,它可避免陷入不希望的局部极值并大大提高收敛的速度,这一点对于实时控制是尤为重要的。,,,45,基于上面的理解,可以帮助我们选取网络参数的初值。例如,6.3 自适应神经模糊系统及其MATLAB实现,,尽管模糊推理系统的设计(隶属度函数及模糊规则的建立)不主要依靠对象的模型,但是它却相当依靠专家或操作人员的经验和知识。若缺乏这样的经验,则很难期望它能获得满意的控制效果。神经网络系统的一大特点就是它的自学习功能,将这种自学习的方法应用于对模型特征的分析与建模上,产生了自适应的神经网络技术。这
28、种自适应的神经网络技术对于模糊系统的模型建立(模糊规则库的建立)是非常有效的工具。而自适应神经模糊系统的就是基于数据的建模方法,该系统中的模糊隶属度函数及模糊规则是通过对大量已知数据的学习得到的,而不是基于经验或是直觉任意给定的,这对于那些特性还不被人们所完全了解或者特性非常复杂的系统尤为重要。,,46,6.3 自适应神经模糊系统及其MATLAB实现 46,在MATLAB模糊逻辑工具箱中,提供了有关对模糊神经系统建模和初始化模糊推理系统的函数,如表6-1所示。,表,6-1,模糊神经系统函数,,函 数 名,,,功 能,,,anfis( ),,,自适应神经模糊系统的建模函数,,genfis1
29、( ),,,采用网格分割方式生成模糊推理系统函数,,,,,47,在MATLAB模糊逻辑工具箱中,提供了有关对模糊神,6.3.1 采用网格分割方式生成模糊推理系统函数,函数genfis1( )可为训练自适应神经模糊系统(Adaptive Neuro-Fuzzy Inference System,ANFIS)产生Takagi-Sugeno型模糊系统(Fuzzy Inference System,FIS)结构的初值(隶属度函数参数的初值),它采用网格分割的方式根据给定数据集生成一个模糊推理系统,一般与函数anfis( )配合使用。由genfisl( )生成的模糊推理系统的输入和属度函数的类型和数目可
30、以在使用时指定,也可以采用缺省值。该函数的调用格式为:,fisMat=genfisl(data),fisMat=genfisl(data,numMFs,inMFType,outMFType),,48,6.3.1 采用网格分割方式生成模糊推理系统函数 48,例6-1,利用函数genfis1( )产生一个两输入单输出的模糊推理系统。其中要求输入隶属度函数分别为,,型(pimf)和三角型(trimf),分割数分别为3和7。,解,根据以下MATLAB程序,可得由函数genfis1( )生成的ANFIS系统训练前的初始隶属度函数曲线,如图6-6所示。,%ex6_1.m,,49,例6-1 利用函数gen
31、fis1( )产生一个两输入单输出的,6.3.2 自适应神经模糊系统的建模函数,在MATLAB模糊逻辑工具箱中,提供了对基于Takagi-Sugeno型模型的自适应神经模糊推理系统ANFIS的建模方法,该模糊推理系统利用BP反向传播算法和最小二乘算法来完成对输入/输出数据对的建模。该系统为模糊建模的过程,提供了一种能够从数据集中提取相应信息(模糊规则)的学习方法。这种学习与神经网络的学习方法非常相似,通过学习能够有效地计算出隶属度函数的最佳参数,使得设计出来的Takagi-Sugeno型模糊推理系统能够最好地模拟出希望的或是实际的输入输出关系。,,50,6.3.2 自适应神经模糊系统的建模函数
32、50,相应的函数为anfis( ),该函数的输出为一个三维或五维向量。当未指定检验数据时,输出向量为三维。anfis( )支持采用输出加权平均的一阶或零阶Takagi-Sugeno 型模糊推理,该函数的调用格式为:,[Fis,error,stepsize]=anfis (trnData),[Fis,error,stepsize]=anfis (trnData,initFis),[Fis,error,stepsize]=anfis(trnData,initFis,trnOpt,dispOpt),[Fis,error,stepsize,chkFis,chkEr]=anfis(trnData,ini
33、tFis,trnOpt,dispOpt,chkData),[Fis,error,stepsize,chkFis,chkEr]=anfis(trnData,initFis,trnOpt,dispOpt,chkData,optMethod),,51,相应的函数为anfis( ),该函数的输出为一个,例6-2,建立一个自适应神经模糊推理系统对下列非线性函数进行逼近。,,,解,根据以下MATLAB程序,可得如图6-7所示的函数实际输出和模糊推理系统输出的曲线。,%ex6_2.m,,,52,例6-2 建立一个自适应神经模糊推理系统对下列非线,从图6-7所示的结果曲线,可以看出,经过训练以后的模糊系统基本
34、能够模拟原函数。如果将隶属度函数改为3条,这时由于系统的结构不足以反映数据的复杂特性,因此结果要差些。利用模糊推理编辑器(fuzzy)或第5章介绍的一些命令,可查看训练后的模糊系统out_fisMat的组成。例如,在MATLAB工作窗口中利用命令:fuzzy(out_fisMat),便可发现该系统输入的隶属度函数是5条高斯函数,输出的是5条线性的函数。,,53,从图6-7所示的结果曲线,可以看出,经过训练以后,6.3.3 自适应神经模糊推理系统的图形用户界面编辑器,为了进一步方便用户,在模糊逻辑工具箱中提供了建立自适应神经模糊推理系统的图形界面工具,该工具以交互式图形界面的形式集成了建立、训练
35、和测试神经模糊推理系统等各种功能。要启动该工具,只需在MATLAB命令窗口中键入命令:anfisedit,即可得到如图6-8所示的图形窗口界面。,,54,6.3.3 自适应神经模糊推理系统的图形用户界面编辑器,自适应神经模糊推理系统图形界面中菜单项File、Edit和View的功能与模糊推理系统图形界面中的菜单项相同。另外,在该图形窗口界面中包括了以下几种主要功能:,图,6-8 anfis,的图形窗口界面,,55,自适应神经模糊推理系统图形界面中菜单项File,1.加载数据,通过界面上的检查框可以选择加载数据的类型,如训练数据、测试数据和演示数据等。为方便说明,这里选择加载演示数据。加载了演
36、示数据的图形窗口显示如图,6-10,所示。在图,6-10,的上部显示了数据的变化情况。,,图,6-10,加载演示数据的,anfis,的图形窗口界面,,,56,1.加载数据图6-10 加载演示数据的anfis的图形窗口界,在图,6-11,的对话框中,要求输入的信息包括输入语言变量隶属度函数的数目、类型和输出隶属度函数的类型等。选择,[OK],后自动生成一个以,anfis,命名的网络结构。,,,2. 生成模糊推理系统,在生成模糊推理系统时,也可通过检查枢选择模糊推理系统的生成方法,如网格分割法(Grid partition)、减法聚类方法(Sub. clustering)等。当用鼠标单击生成模糊推
37、理系统的功能按钮时,系统会弹出一个对话框,要求指定模糊推理系统的有,关信息,如图6-11所示。,图6-11 模糊推理系统的对话框,,57,在图6-11的对话框中,要求输入的信息包括输入语言变量隶,图6-12 anfis的训练后的,误差曲线,3. 训练神经模糊推理系统,在进行神经模糊推理系统的训练前,可以指定优化的方法以及有关的优化控制参数。对于前面加载的演示数据,在进行,anfis,的训练后,窗口的上部,显示了优化过程中误,差的变化情况,如图,6-12,所示。,,,58,图6-12 anfis的训练后的误差曲线 3. 训练神经模,,4. 测试anfis,,在完成对该系统的训练后,可以进一步
38、对其进行测试,在对训练后的网络进行测试时,可选择网络的输出数据与训练数据(Training data)进行比较,也可选择将其与另外提供的测试数据(Testing data)或检验数据(Checking data)进行比较。,这里选择网络的输出数据与检验数据(Checking data)进行比较,比较结果如图6-13所示,平均测试误差大小为0.1461。,,图6-13 anfis的测试结果,,59,4. 测试anfis图6-13 anfis的测试结果59,,5. 查看自适应神经模糊推理系统的模型结构,,,在,anfis,的图形界面中,利用右上角的,[Structure],按钮可以方便地查看训
39、练得到的,anfis,的网络结构。对应上述演示数据的神经网络结构如图,6-14,所示。,,图6-14 anfis的神经网络结构,,60,5. 查看自适应神经模糊推理系统的模型结构 图6-14 a,6.3.4 自适应神经模糊推理系统在建模中的应用,模糊建模是指利用模糊系统逼近未知的非线性动态,从而逼近于整个系统。神经在未知非线性的建模方面已显示出良好的性能,同样以模糊逻辑系统为基础的模糊模型也可用于非线性动态的建模,并显示出优良的性能。,例6-3,利用模糊推理系统对下列非线性函数进行逼近。,,,解,利用以下MATLAB程序,可得如下均方根误差和如图6-15所示的曲线。,%ex6_3.m,计算结果
40、:,trnRMSE1 =,0.0100,trnRMSE2 =,0.0100,,,61,6.3.4 自适应神经模糊推理系统在建模中的应用61,图6-15 信号逼近的ANFIS训练结果,,62,图6-15 信号逼近的ANFIS训练结果62,在这个例子中,不但提供了训练数据,而且提供了检验数据,两种数据在输入空间均匀采样,如图6-15(1)所示。图6-15(2)显示了由函数genfisl( )根据训练数据生成的模糊推理系统的初始隶属度函数曲线。从曲线可以看出,函数genfisl( )按照均匀覆盖输入空间的原则构造了训练前模糊推理系统的初始隶属度函数。系统训练后模糊推理系统的隶属度函数曲线,如图6-1
41、5(3)所示。从图中可以看出,经过学习后的模糊推理系统提取了训练数据的局部特征。图6-15(4)显示了原函数的输出与神经模糊推理系统的输出曲线。神经模糊推理系统训练数据和检验数据的均方根误差均为0.01,这是由于这两种数据在整个输入空间均匀分布的必然结果。,另外如果在MATLAB工作窗口中再此利用以下命令,便可得到训练数据和检验数据的误差变化过程曲线,可以看出它们非常接近,几乎重合。,>>figure;plot(error1);hold on;plot(error2,'r'),,63,在这个例子中,不但提供了训练数据,而且提供了,例6-4,非线性系统为,,,其中,,f,(.)为未知非线性函数。
42、利用模糊推理系统对非线性函数,f,(.)进行逼近。假设非线性函数,f,(.)为如例6-3所述的下列函数,,,,解,非线性函数的模糊建模可利用例6-3所建系统文件ex6_3.fis,在此基础上对整个系统进行仿真的MATLAB程序如下,函数和系统的实际输出与逼近输出曲线如图6-16所示。,,%ex6_4.m,,64,例6-4 非线性系统为64,图6-16 函数和系统的实际输出与逼近输出曲线,从图6-16所示的函数和系统的实际输出与逼近输出曲线可以看出,模型输出非常逼近于实际输出。,,,,65,图6-16 函数和系统的实际输出与逼近输出曲线65,例6-5,利用自适应神经模糊推理系统的图形界面编辑器(
43、Anfis Editor),对例6-3所述的下列非线性函数进行逼近。,,解,① 首先利用以下MATLAB程序,产生训练数据和检验数据。,%ex6_5.m,numPts=51; x=linspace(-1,1,numPts);,y=0.5*sin(pi*x)+0.3*sin(3*pi*x)+0.1*sin(5*pi*x);,data=[x' y']; trnData=data(1:2:numPts,:);chkData=data(2:2:numPts,:);,,,66,例6-5 利用自适应神经模糊推理系统的图形界面编辑器(Anf,② 启动自适应神经模糊推理系统的图形界面编辑器,并加载数据,在MA
44、TLAB工作空间,利用anfisedit命令启动自适应神经模糊推理系统编辑器,并分别加入训练数据trnData和检验数据chkData,如图6-17所示。,,图6-17,,67,② 启动自适应神经模糊推理系统的图形界面编辑器,,6.4 模糊聚类及其MATLAB实现,,对给定的数据,聚类分析是许多分类和系统建模问题的基础。聚类的目的是从大量的数据中抽取固有的特征,从而获得系统行为的简洁表示。常见的聚类方法有均值聚类、分层聚类和模糊聚类方法等。,,,68,6.4 模糊聚类及其MATLAB实现 68,在MATLAB模糊逻辑工具箱中提供了对两种聚类方法的支持,一种是模糊C-均值聚类方法,另一种是减
45、聚类方法。有关函数如表6-2所示。,表,6-2,模糊聚类函数,,函 数 名,,,功 能,,,fcm( ),,,模糊C-均值聚类函数,,,subclust( ),,,减法聚类函数,,,genfis2( ),,,基于减法聚类的模糊推理系统建模函数,,,,,69,在MATLAB模糊逻辑工具箱中提供了对两种聚类方法的,6.4.1 模糊C-均值聚类函数,在模糊,C-,均值聚类方法中,每一个数据点按照一定的模糊隶属度隶属于某一聚类中心。这一聚类技术作为对传统聚类技术的改进,,Jim Bezdek,于,1981,年提出。该方法首先随机选取若干聚类中心,所有数据点都被赋予对聚类中心一定的模糊隶属度,然后
46、通过迭代方法不断修正聚类中心,迭代过程以极小化所有数据点到各个聚类中心的距离与隶属度值的加权和为优化目标。,,,70,6.4.1 模糊C-均值聚类函数70,模糊C-均值聚类的输出不是一个模糊推理系统,而是聚类中心的列表以及每个数据点对各个聚类中心的隶属度值。该输出能够被进一步用来建立模糊推理系统。对应模糊C-均值聚类方法的函数为fcm( ),该函数的调用格式为,[center,U,obj_fcn]=fcm(data,cluster_n),[center,U,obj_fcn]=fcm(data,cluster_n,options),,71,模糊C-均值聚类的输出不是一个模糊推理系统,而是聚,尽
47、管函数fcm( )的输出不是一个模糊推理系统,而是聚类中心的列表以及每个数据点对各个聚类中心的隶属度值,但该函数的输出能够进一步用来建立模糊推理系统。,,,72,尽管函数fcm( )的输出不是一个模糊推理系,例6-6,利用模糊C-均值聚类方法将一组随机给定的二维数据分为三类。,,解,利用以下MATLAB程序,可产生如图6-26所示的一组随机给定的二维数据,其模糊聚类结果,如图6-27所示。,%ex6_6.m,图6-26 随机给定的二维数据 图6-27 模糊C-均值分类结果,,,73,例6-6 利用模糊C-均值聚类方法将一组随机给定的,6.4.2 减法聚类函数
48、,减法聚类方法将每个数据点作为可能的聚类中心,并根据各个数据点周围的数据点密度来计算该点作为聚类中心的可能性。被选为聚类中心的数据点周围具有最高的数据点密度,同时该数据点附近的数据点被排除作为聚类中心的可能性;在选除第一个聚类中心后,从剩余的可能作为聚类中心的数据点中,继续采用类似的方法选择下一个聚类中心。这一过程一直持续到所有剩余的数据点作为聚类中心的可能性低于某一阀值时。在MATLAB模糊逻辑工具箱中,提供了函数subclust( )来完成减法聚类的功能。该函数的调用格式为,[C,S]=subclust(X,radii,XBounds,options),,74,6.4.2 减法聚类函数7
49、4,例:,>>[C,S] =subclust(X, 0.5),>>[C,S] = subclust(X, [0.5 0.25 0.3], [ ], [2.0 0.8 0.7] ),,75,例:75,例6-7,利用模糊减法聚类方法将一组随机给定的二维数据分为两类。,,解,利用以下,MATLAB,程序,得图6-28所示的模糊聚类结果。,%ex6_7.m,在图6-28所示的模糊聚类结果中,模糊聚类的中心用圆圈表示。当radii=0.3时,产生了12个模糊聚类中心;当radii=0.5时,仅产生了6个模糊聚类中心。,,图6-28 模糊减法分类结果,,76,例6-7 利用模糊减法聚类方法将一组随
50、机给定的二维,6.4.3 基于减法聚类的模糊推理系统建模函数,在减法聚类的基础上可以进行模糊推理系统的建模,模糊逻辑工具箱提供的函数genfis2( )能够实现这一功能。函数genfis2( )是一种快速的单次算法,不同于那些基于叠代过程的算法,它并不进行那些反复的优化过程。该函数的调用格式为:,fisMat=genfis2(Xin,Xout,radii,Xbounds,options),,,77,6.4.3 基于减法聚类的模糊推理系统建模函数77,例如以下MATLAB命令,>>fisMat = genfis2(Xin, Xout, 0.5),或 >>fisMat = genfis2(Xin
51、, Xout,[ 0.5 0.25 0.3] ),>>fisMat = genfis2(Xin, Xout, 0.5 ,[-10 -5 0; 10 5 20] ),,例6-8,利用MATLAB模糊逻辑工具箱中,提供的一个程序文件tripdata.m,对一个地区的汽车流量和当地的人口状况关系采用模糊减法聚类的方法,进行模糊系统的建模。,,,78,例如以下MATLAB命令78,解,程序tripdata.m中用来分析和建模的数据来源于New Castle County和Delaware的100个选择地区的交通分析。数据考虑了五个人口统计学上的因素:人口数、住户数、总共拥有的车辆数、平均家
52、庭的收入数目以及总共的就业职位数目。由于各个数据之间的量级不同,而且对交通流量影响的程度不同,为了减小计算时截断误差带来的影响,将各种初始的统计数据进行了一定比例的变换处理。该程序可以产生100个数据点的一组输入/输出数据,其中75个数据作为训练数据(输入数据和输出数据分别存放在矩阵datin和datout中)。另外的25个数据作为检验数据(输入数据和输出数据分别存放在矩阵chkdatin和chkdatout中),它与训练数据一起来确认模型的有效性。MATLAB程序如下,%ex6_8.m,,79,解 程序tripdata.m中用来分析和建模的数据来,结果显示:,trnRMSE =,0.5276
53、,trnRMSE1 =,0.3277,chkRMSE =,0.6179,chkRMSE1 =,0.5985,minChkErr =,0.5834,n =,52,图6-29 通过模糊聚类产生的模糊模型的结果,,由以上结果知,训练后的模型对于用来训练的数据,均方根误差为0.3277,它明显小于神经模糊推理系统在训练前的均方根误差由0.5276。但训练前后的模型对于检验数据的均方根误差变化不大。,,80,结果显示:图6-29 通过模糊聚类产生的模糊模型的结果,以上程序执行后,还可得如图6-29所示的模糊聚类产生的模糊模型的结果和如图6-30所示的训练数据和检验数据在训练过程中的误差变化曲线。其中图6
54、-29的上图为输入数据的分布曲线;下图为实际输出与神经模糊推理系统在训练后模型输出的数据分布曲线,由此可见模型输出与实际系统的输出比较逼近。,图6-30 训练数据和检验数据的误差变化曲线,,81,以上程序执行后,还可得如图6-29所示的模糊聚类产生,由图6-30所示的误差变化曲线可以看出,在训练到第50步左右的时候,检验数据的误差(0.5834)是最小的。继续训练时,该误差反而增加。而训练数据的误差在第50步以后减小的速度也明显变慢,这表明系统在第50步训练的结果可能是最符合实际情况的。一般在系统已经与实际比较符合的情况下,继续对系统采用训练数据进行训练优化,就可能出现过训练的情况。这样得到的
55、系统往往失去了应有的一些概括性而单纯追求训练数据的误差减小,这样的系统在使用时效果和性能往往不如那些具有更广泛的适应性但相对部分数据误差稍大的系统。,,82,由图6-30所示的误差变化曲线可以看出,在训,6.4.4 模糊C-均值和减法聚类的图形用户界面GUI,MATLAB的模糊工具箱也提供了聚类的图形用户界面工具来实现函数subclust( ) 和fcm( )以及它们的所有参数选项。在MATLAB命令窗口中输入命令:findcluster,便可打开如图6-31所示的模糊聚类图形窗口界面。,图6-31 模糊聚类图形用户界面,,83,6.4.4 模糊C-均值和减法聚类的图形用户界面GUI图6-,在
56、图6-31所示的窗口中,右上方的按钮[Load Data…]可以选择具有.dat后缀的数据文件进行装载数据操作;下拉Method选择框,可以选择使用模糊C-均值聚类(fcm)或减法聚类(subclustiv)算法;其它选择框的功能随着Method算法选择fcm或subclustiv而发生相应的变化,这些主要是涉及到两种算法里的一些具体参数,如选择subclustiv算法,界面上的参数Influences、Squash、Accept Ratio和Reject Ratio分别对应于函数subclust( )的radii、squshFactor、acceptRatio和rejectRatio。而对于
57、选择fcm算法,界面上的参数Cluster Num、Max Iteration#、Min.Improvation和Exponent分别对应于函数fcm( )的options(1)、options(2)、options(3)和options(4)。,右下方的按钮[Start]可以开始进行聚类计算,结果显示在X-Y二维的绘图区。对于多维的装载数据,可以通过绘图区下方的选择框来分别选择多维数据中的某个或某两个方向作为X轴和Y轴的数据来显示;按钮[Save Center…]用于保存聚类中心文件;按钮[Clear Plot]用于清除当前显示在绘图区中的图形。,,84,在图6-31所示的窗口中,右上方的按
58、钮[Load,利用以下命令,模糊聚类图形窗口可自动加载MATLAB自带的一个数据文件clusterdemo.dat。,>>findcluster('clusterdemo.dat'),以上命令执行后,便可得到一个加载数据的模糊聚类图形窗口,通过窗口中按钮[Start]进行聚类计算后,可以很快找到三个聚类中心,如图6-32所示。在图6-32(1)中显示了数据文件clusterdemo.dat中数据data_1和data_2的关系图;图6-32(2)显示了数据data_1和data_3的关系图;图6-32(3)显示了数据data_2和data_3的关系图。,图6-32 模糊聚类图形窗口,,85,利
59、用以下命令,模糊聚类图形窗口可自动加载MAT,例6-9,利用模糊C-均值和减法聚类的图形用户工具将一组随机给定的二维数据分为两类。,解,① 建立数据文件,利用以下MATLAB命令,在MATLAB工作空间产生一组随机给定的二维数据矩阵X,并将其以ASCII码形式保存到MATLAB当前工作目录的磁盘文件data.dat中,以便于数据以磁盘文件(disk)的方式加载。,>>X=rand(100,2); save data.dat X -ascii,,86,例6-9 利用模糊C-均值和减法聚类的图形用户工具将一组随机,② 启动模糊C-均值和减法聚类的图形窗口界面,并加载数据图6-33 模糊聚类数据窗口
60、,在MATLAB命令窗口中输入命令:findcluster,便可打开如图6-31所示的模糊聚类图形窗口界面。在图6-31所示的窗口中,利用右上方的按钮【Load Data…】装载以上建立的数据文件data.dat中的数据,如图6-33所示。,,87,② 启动模糊C-均值和减法聚类的图形窗口界面,并加载数据图6,③ 聚类计算,在Method选择框选择使用减法聚类(subclustiv)算法;参数Influences(对应于函数subclust的radii参数)分别取为0.3和0.5;其它选择框的参数默认。,利用右下方的按钮【Start】可以开始进行聚类计算,结果显示在X-Y二维的绘图区。对应于I
61、nfluences=0.3和 Influences=0.5时的结果,分别如图6-34(1)和(2)所示。,,,,88,③ 聚类计算 88,小 结,,本章首先详细地介绍了基于标准模型和基于Takagi-Sugeno模型的模糊神经网络的系统结构和学习算法及其MATLAB实现;然后重点介绍了,自适应神经模糊系统及其MATLAB实现,和自适应神经模糊推理系统在建模中的应用,;最后介绍了,模糊聚类及其MATLAB实现,。模糊聚类自身是一种特殊的模糊逻辑,既可以单独使用模糊聚类来解决一些问题,也可以把模糊聚类与,自适应神经模糊推理系统结合起来,。,本章重点在于介绍这些系统和方法的基本概念以及应用,简化复杂的数学理论,指导读者借助MATLAB工具来辅助完成系统的设计以及计算的问题。,,,,89,小 结 89,思考练习题,,6-1 模糊逻辑与神经网络的集成有何特点?模糊神经控制已有哪些方案。,6-2 建立一个,自适应神经模糊推理系统对当前天气情况进行建模和模拟。,6-3 利用模糊减法聚类从一组给定的二维数据中产生初始的FIS结构,然后建立模糊模型进行逼近。,,,,90,思考练习题 90,
- 温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。