模糊推理规则通常采用“if-then”规则(为了简化,所有模糊集均不标“~”),例如:
其中:Ri表示第i条规则;x1,x2,…,xm为m个模糊输入;Ai1,Ai2,…,Aim为第i条规则对应的输入模糊集合,yi是对应的输出。应用上述推理规则的模糊控制或模糊模式识别系统的输入/输出关系如图9.8.2所示。图中左边的圆圈表示隶属度生成层,产生输入变量所对应的隶属度。
图9.8.2 用模糊推理规则表示的模糊系统
若对上述系统给定了p个训练模式(即p个输入和输出集):
则模糊推理规则的优化问题可以表述为:为了寻求一组优化的模糊推理规则,当该系统的输入为训练模式的输入时,系统的计算输出与训练模式的输出最接近。也就是说,要寻求最优的模糊集合Aij(条件部分)和相应的输出yi(结论部分)。
用遗传算法来求优化的模糊推理规则的基本思想和方法与9.9.1节所述的相似,即先以一定的编码形式来表示所解问题的初始种群,在此就是用某种编码串来代表模糊集合Aij及输出yi;然后再计算适应度和进行遗传操作,以便产生下代种群;由此重复计算适应度和进行遗传操作,直到达到目的为止。
对于本节提出的问题:特殊的地方如何编码?如何计算适应度?如何进行遗传操作?如何调整隶属度?以下分别介绍一些方法,以供参考。
1.编码
在本问题中,编码的初始种群应表示“if-then”规则中的条件部分(Aij)及结论部分(yi)。条件部分采用三角形隶属函数,结论部分则为实数值,每个个体的隶属度函数的编码由三部分组成,如图9.8.3所示。
图9.8.3 隶属度函数的编码
(1)条件部分隶属函数的顶点横坐标S;
(2)以顶点横坐标为基点,至底边两端点的距离M和N。
一个完整的个体,应包含全部隶属函数Aij及输出yi,如图9.8.4所示。图中每一个隶属度函数Aij要用三段串联的代码SijMijNij表示,每一个输出yi要用一段代码表示。
图9.8.4 模糊推理规则的个体编码
2.适应度函数
为了计算适应度函数,首先要计算训练信号的输出值和对应于输入值的计算输出值之间的误差平方和E。可以有多种方法来计算给定输入值时模糊系统的输出值(参见7.8节),这取决于如何设计模糊系统的推理机制。以下介绍一种比较简单的方法。
设模糊推理规则中条件部分的各隶属度函数为Aij,相应的结论部分的输出为yi,则相对于第k个训练模式的计算输出ykc可以表示为
(www.xing528.com)
式中:xjk为第k个训练模式的第j个输入;m为输入的个数;n为模糊规则数;μik是第k个训练模式第i条推理规则的综合隶属度;Aij为模糊集合;yi为结论部分的实数值。
在本例中,要采用模糊神经网络来实现上述模糊推理的话,可以用神经网络方法中计算误差平方和E的公式来进行计算。设在对第k个训练模式训练时,网络进行第t回学习时的输出值为ytk,则相对全部训练模式的误差平方和为
得到E以后,可以利用式(9.8.4)~式(9.8.7)中的某一公式来计算适应度函数F(Ti),其中Ti表示种群中的第i个个体。
3.交换操作
在某一世代群体中,随机选取A和B两个个体,进行遗传算法的交换操作。交换操作可以在个体的某一段上进行,例如仅在隶属函数的S段上执行。选择单点交换,以交换点为界,分为左右两侧,交换操作分成四种情况,如图9.8.5所示。
图9.8.5 交换操作
(1)交换点左侧,继承A左侧的遗传信息;右侧按比例继承A的部分信息。
(2)交换点左侧,继承B左侧的遗传信息;右侧按比例继承B的部分信息。
(3)交换点左侧,按比例继承A部分信息;右侧继承A右侧的遗传信息。
(4)交换点左侧,按比例继承B部分信息;右侧继承B右侧的遗传信息。
其他遗传操作如变异、选择等可按常规方法,通过遗传算法对隶属度函数进行初调,确定隶属度函数的粗略形状,再采用神经网络方法对模糊推理规则的条件部分和结论部分进行细调。
4.模糊推理规则的细调整
下面介绍采用神经网络的δ规则对条件部分三角形隶属度函数的底边以及结论部分的实数值进行调整的方法。
1)三角形隶属度函数底边的调整
这里采用的是遗传算法和神经网络的混合训练法,用遗传算法决定三角形隶属度函数的顶点位置,而用神经网络学习法对隶属度函数的底边进行调整。采用δ规则进行调整的公式如下:
式中:D(t)为第t回学习中,隶属度函数底边端点间的距离;α为学习参数;yi(t)为在第t回学习中,第i条规则对应的结论部分的实数值。
2)结论部分的调整
结论部分实数值yi的调整公式为
式中:β为学习参数。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。