基于差分进化的优化方法及应用
上QQ阅读APP看书,第一时间看更新

2.4 MCoDE在ANFIS模型优化中的应用

2.4.1 ANFIS

自适应神经模糊系统(ANFIS)是Jang[7]提出来的一种智能建模方法,结合了神经网络和模糊推理系统,ANFIS是一个建立在Takagi-Sugeno-Kang(TSK)规则推理上的五层结构。简单来说,以两个输入x, y和一个输出p的系统为例,并假设规则集中包含如下3个TSK模糊“if-then”类型的规则。

规则1:如果(xX1)且(yY1),那么p1=s1x+d1y+n1

规则2:如果(xX2)且(yY2),那么p2=s2x+d2y+n2

规则3:如果(xX3)且(yY3),那么p3=s3x+d3y+n3

其中,sidinii=1,2,3)都是线性后件参数,X1X2X3Y1Y2Y3都是前置条件的语言项。图2-6给出了ANFIS的结构。

016-1

图2-6 ANFIS结构

第一层:模糊层。用于对输入变量xy进行模糊化,本章假设选择高斯函数作为隶属度函数,具体如式(2-12)所示。

016-1

其中,016-1表示第一层的输出,x是输入变量,μXi(x)是x的第i个隶属度函数,{ci, δi}是高斯函数的参数。这些参数称为前件参数,其个数依赖于隶属度函数的个数。

第二层:生产层。通过乘法运算来计算下一层的激发强度,具体如式(2-13)所示。

016-1

第三层:归一化层。用于对激发强度进行归一化,具体如式(2-14)所示。

016-1

第四层:调整层。输入和输出的关系可描述成如式(2-15)所示的形式。

016-1

其中,sifini为后件参数。

第五层:输出层。输出为输入变量最后的处理结果,其定义如式(2-12)所示。

016-1

其中,p表示ANFIS的推理的输出。

2.4.2 ANFIS的优化模型

从式(2-12)~(2-16)可以推出,ANFIS的输出如式(2-17)所示。

016-1

其中,x、y、z是3个输入变量,h是规则数,p表示预测的表面粗糙度,sifidini是第i条规则的后件参数,i=1, 2,…,h

依据式(2-17),P也可以表示为如式(2-18)所示的形式。

016-1

其中,A是回归矩阵,X是后件参数矢量,m表示训练数据集的数量,h表示规则集的个数。因此,A的维数是(m,4h),X的维数是(4h,1)。只要知道了隶属度函数,这个问题就可以转换成一个优化问题。均方根误差(Root Mean Squared Error,RMSE)J选为适应度函数,其定义如式(2-19)所示。

016-1

其中,m是训练集的个数,r(t)是第t个测量粗糙度,p(t)是第t个ANFIS预测值。

由于016-1的值依赖于前件参数{c,δ},J可以看成决策变量的{cj, δj, sifi, di,ni}(j=1,2,…,l, i=1,2,…,h)的一个函数,其中,l是隶属度函数的个数,h是规则数。由此可知,决策变量的总数为(2l+4h)。

2.4.3 LOO-CV

LOO-CV是一种估计模型泛化能力的有效手段[8],该方法广泛用于模型的选择[9],特别适用于数据集比较小的情况。其思想具体如下:当有n个数据集和m个候选模型时,每个模型用n−1个样本,然后用剩下的那一个样本进行测试。这个过程一直重复n次,直到数据集中的每个样本都作为交叉验证使用一次。最后,将LOO-CV的均方差(Mean Square Error,MSE)作为衡量模型的泛化能力的一种手段。对于所有的模型可以用式(2-20)和式(2-21)选择具有最小LOO-CV均方差的模型。

016-1

其中,i=1,2,…,n, j=1,2,…,myi016-1分别表示第i个样本的测量值和估计值,016-1通过n−1个样本训练模型计算得到;016-1是第i个样本的估计值与测量值之间的偏差;Ej是第j个模型的LOO-CV的均方差。

2.4.4 “自上而下”的规则化简方法

过剩的规则将会影响ANFIS的性能,而且,规则越多意味着后件参数越多。为了找到最好的ANFIS规则集,Nariman-Zadeh等[10]采用一种“自下而上”的规则化简方法。尽管这种“自下而上”的规则化简方法适用于高维训练集且能自动生成模型,但对于输入变量不多的问题而言,该方法并不是一个好的选择。聚类法是另一个可以选择并发现最小模糊规则数的方法,但是小规模问题采用该法时往往需要大规模的训练数据,因此聚类法对小规模数据集而言并不是一个有效的方法。此外,现有研究ANFIS的方法还没涉及如何发现最优的规则集。本章提出了一种基于LOO-CV的“自上而下”的规则化简方法,用于发现最优的规则集,其主要思想如下:首先尝试从规则集中删除一条规则,并计算相应的LOO-CV的MSE,如果MSE比删除前小,则删除对应的规则,重复这个过程,直到MSE不再减小为止。“自上而下”的规则集化简方法的伪代码如下。

K=0
Min=系统所能表示的最大数;
mse(0)=含有所有规则里的LOO-CV的MSE;
while mse(k)<min {
Min=mse(k);
if   k>0{
输出k;
从ANFIS规则中删除第k个规则;
}
N=ANFIS的规则数
for j=1:N{
尝试从规则集中删除第j条规则;
mse(j)=计算LOO-CV的MSE;
}
mse(k)=找到最小的MSE;
}
end while

2.4.5 基于MCoDE和LOO-CV的ANFIS表面粗糙度的预测过程

表面粗糙度是机械产品加工中的一项重要指标,受不同机械加工参数和机械加工过程内在的不确定性因素的影响,如何预测表面粗糙度仍然是一个具有挑战性的问题。采用ANFIS方法进行预测被认为是一种有效途径,但如何优化ANFIS模型结构和参数,仍是研究的难点。本章采用MCoDE和LOO-CV相结合的方法进行ANFIS模型结构和参数的优化,该方法的主要步骤如下。

步骤1:初始变量的归一化。

步骤2:初始化ANFIS参数。

步骤3:在训练数据的基础上,采用“自上而下”的规则化简方法对ANFIS的规则集进行化简。

步骤4:在简化的模型结构的基础上,采用式(2-10)将ANFIS转换成一个优化模型。

步骤5:采用MCoDE对步骤4建立的优化模型进行优化,以找到最优的ANFIS模型的前后件参数。

步骤6:利用测试数据和步骤4建立的模型,对结果进行预测。

2.4.6 实验结果与讨论

实验的训练数据集和测试数据集来源于文献[9],见表2-2和表2-3。他们采用直径为3/4英寸的高速钢铁四刃铣刀对6061型铝合金进行处理。通过旋转速度(Sp)、进给速度(Fe)和切割深度(Dep)3个主要因素来分析它们对表面数粗糙度(Ra)的影响,其参数见表2-4。为了直接将基于MCoDE和LOO-CV和Ho[11]提出的基于混合Taguchi遗传学习算法(Hybrid Taguchi-Genetic Learning Algo rithm,HTGLA)及LO[12]的方法相比较,在本章中选用同样的数据集。ANFIS模型的输入变量为{Sp, Fe, Dep},每个输入变量成员函数的隶属度函数被分为大、中、小3个范围,表面粗糙度Ra是ANFIS的输出。

表2-2 训练数据集

016-1
016-1

表2-3 测试数据集

016-1
016-1

表2-4 ANFIS参数说明及含义

016-1

为了获得最优的ANFIS结构,根据Ho对高斯函数、三角函数和钟形函数3种类型隶属度函数的研究结果,在表面粗糙度的预测问题中,高斯函数是最佳的[11]。因此,本章也采用高斯函数。由于每个输入变量成员函数的隶属度函数被分为大、中、小3个范围,3个输入变量的成员隶属度函数的个数是9个,并且每个高斯函数有2个参数,因此前件参数共有18个。表2-5中列出了采用“自上而下”规则化简方法的结果,从结果中可以看出,在开始删除规则时最小的MSE值会单调下降。然而,在删除了第25、6、11、8、17、1、10等7条规则后,MSE达到了最小值,然后MSE开始增加,系统的泛化性能开始变差。因此,可以认为最佳的规则数是20,每条规则含4个参数,后件参数总共有80个。

表2-5 “自上而下”的规则化简方法的运行结果

016-1

注:*括号外的数据表示优化后的ANFIS模型中的下标,括号中的数据表示其原始下标。

下面的实验是建立在前文获得的最优结构ANFIS之上的,采用本章提出的MCoDE算法优化ANFIS模型的参数,最后用获得的最优的ANFIS模型进行预测。针对表2-3中给出的24组测试数据的表面粗糙度值,表2-6中列出了本章方法ANFIS-LOO-MCoDE的预测的结果。为了便于比较,本章详细给出了几种基于ANFIS方法的预测结果和误差,分别是文献[11]的方法、文献[12]的方法和基于网格划分的ANFIS方法。为了进一步与基于聚类的ANFIS方法比较,对具有不同聚类半径的减法聚类方法(Subtractive Clustering,SC)和具有不同聚类数的模糊C平均(Fuzzy C Mean,FCM)聚类方法也进行了实验。结果见表2-7,其中rule表示ANFIS模型中的规则数。为了进行全面比较,表2-8中列出了不同方法的参数个数、训练的均方误差根(Root Mean Square Error,RMSE)、测试的RMSE及平均预测误差。

表2-6 4种方法的预测结果比较

016-1

表2-7 采用聚类方法的计算结果

016-1

表2-6和表2-7的预测结果表明基于LOO-CV和MCoDE的ANFIS方法的平均误差只有3.72%,优于文献[11]方法的4.06%、文献[12]方法的4.65%、基于网格划分ANFIS方法的4.75%、基于减法聚类的3.92%和基于FCM的方法的4.10%。此外,本文提出的方法的最大误差(见表2-6)只有11.48%,也要好于其他几种方法得到的14%、16.25%、36.32%和26.41%。

表2-8 两种方法的比较

016-1

表2-8中的结果说明,本章提出的方法在训练和测试阶段的RMSE均优于Ho等[11]提出的基于混合Taguchi遗传学习算法。具体而言,训练RMSE从0.034下降到0.029 7,而测试阶段的RMSE同时也从0.041 9下降到0.037 2。此外,要注意在“自上而下”的规则化简方法和MCoDE的帮助下,本章提出的预测方法与其他方法相比具有更少的参数。尽管聚类方法在训练阶段能获得较好的性能,但预测阶段具有较差的性能,原因是当ANFIS模型中具有过多的规则时,可能会出现过学习。若采用本章提出的方法,一方面基于LOO-CV的规则化简方法,可以删除多余的规则,另一方面借助于MCoDE优异的搜索能力,可以为ANFIS找到最佳的前后件参数,从而获得更好的预测性能。这表明采用本文提出的方法建立的模型的泛化能力比现有模型好。此外,结果也说明在数据集较小的情况下,采用聚类方法建立的ANFIS模型并不是一个好的选择。