摘 要:模糊规则模型广泛应用于许多领域,而现有的模糊规则模型主要使用基于数值形式的性能评估指标,忽略了对于模糊集合本身的评价,因此提出了一种模糊规则模型性能评估的新方法。该方法可以有效地评估模糊规则模型输出结果的非数值(粒度)性质。不同于通常使用的数值型性能指标(比如均方误差(MSE)),该方法通过信息粒的特征来表征模型输出的粒度结果的质量,并将该指标使用在模糊模型的性能优化中。信息粒性能采用(数据的)覆盖率和(信息粒自身的)特异性两个基本指标得以量化,并通过使用粒子群优化实现了粒度输出质量(表示为覆盖率和特异性的乘积)的最大化。此外,该方法还优化了模糊聚类形成的信息粒的分布。实验结果表明该指标对于模糊规则模型性能评估的有效性。
关键词:模糊规则模型;粒计算;覆盖率;特异性;优化;模糊聚类
《计算机工程与设计》(月刊)创刊于1980年,由中国航天科工集团第二研究院706所主办,是中国计算机学会会刊、北京计算机学会会刊和中国宇航学会会刊,是全国中文核心期刊、中国科技核心期刊。
0 引言
粒计算[1]是一种模拟人类层次模糊认知方式的智能方法,通过把复杂问题抽象、划分,从而更好地分析和解决问题。作为粒计算中常见的一类方法,模糊規则模型是在模糊理论下,使用模糊规则来描述系统输入和输出之间复杂的非线性关系并实现推理的方法[2]。模糊规则模型被认为是一种用于处理信息粒的且具有良好结构的框架,在此框架下能在一个系统中同时处理数值信息粒和语义信息粒。一般地,针对回归问题的模糊规则模型一般由数值型性能指标(本文以“数值型性能指标”指代均方误差(Mean Squared Error, MSE)、均方根误差(Root Mean Squared Error, RMSE)、平均绝对误差(Mean Absolute Error, MAE)、R平方(Rsquared)等这一类计算数值精度的评价指标)加以评价。这意味着,尽管模糊集是整个模型最为重要的组成部分,但最终模糊规则模型的输出仍是数值的,并需要以此才能进行模型性能的评估。因此,对于这类模型,模糊集的优势则无法充分体现出来。特别是,在某些情况下,模糊规则模型的数值性能表现可能低于其他的一些数值模型,如神经网络等,这是因为评估方法并没有足够公平地衡量模糊集的其他特性是导致该现象的重要因素。模糊集构成模型的典型案例是曼达尼(Mamdani)模糊规则模型[3-4]。
该模型以规则的形式出现,其条件和结论部分分别由输入和输出空间中定义的模糊集描述。根据规则的结构,这种模糊规则模型表现出显著的可解释性,参见文献[5-6],其模型的设计、评估和分析方案的研究[7-9]也取得了一定进展。研究中发现,以数值型性能指标的模型性能评价方式只能反映回归模型的数值精度,而不能反映出模型的可解释性和模型输出的语义内涵,因此成为这一评价方式的主要缺陷。近年来,特别是在人们普遍认识到智能系统需要以人为中心的重要性的背景下,人们越来越关注粒计算理论[10-15]并用于系统建模。模糊集作为粒计算中信息粒的一种重要的形式被广泛地关注和研究。模糊建模的主要目标不仅是模型的准确性,而且还需要具有可解释性和语义导向的透明度。而作为模糊规则模型的直接输出,数值型性能指标(如MSE)不能直接用于评价模糊集输出的性能,而模糊集由于去模糊化过程中的信息损失,也不应该简单地通过去模糊化形成的数值结果用数值型性能指标进行评价。这就迫切地需要一种基于粒计算理论的视角进行信息粒的性能评估。
本文主要聚焦于Mamdani类型的模糊规则模型,首先,研究了如何在数值数据的基础上构建模糊规则模型,并基于合理的粒度原理(principle of justifiable granularity)[16]设计了一个新的模糊规则模型性能的粒度评估指标;然后,讨论了以最大化该性能指标为目标的模型优化方式。本文提供了一种评估模糊模型的新方法,即通过更加符合信息粒特征的视角,从模糊集合对于目標信息的涵盖程度和模糊集合本身的涵盖范围两个维度对模糊集合进行性能评估,从而一方面不失对于模型准确性的评价,同时兼顾了模型的可解释性和语义内涵。
1 基于合理的粒度原则设计模糊规则模型
模糊集被用以表示规则的条件和结论部分的信息粒,在模糊规则模型中起着关键作用。就设计而言,模糊集的获取主要有两个途径:专家经验驱动和数据知识驱动。虽然模糊集可以通过专家经验确定(在低维输入空间的情况下是可行的),但是在高维输入空间的情况下,数据驱动的建模方法更为有效。本文中的模糊规则模型旨在描述数据在输入空间和输出空间之间的非线性映射关系。该模型通常在监督学习的模式下基于N对输入输出数据(xk, targetk)进行建模,其中k=1,2,…,N,输入xk位于输入空间Rn中,而输出targetk在输出空间R中。该模型的规则结构描述如下:
Rulei: If x isAithenyisBi; i=1, 2, …, c(1)
其中:x是模型的输入,y是模糊规则的输出,Ai 和Bi是分别用于描述输入和输出的隶属度函数(模糊集)。
一种较为合适和常用的构建模糊规则中模糊集合的方法是使用模糊聚类,例如模糊C均值(Fuzzy CMeans, FCM)等相关方法[17-19]已广泛应用于分析输入和输出空间,利用聚合提取能够语义化描述数据特征的信息粒,从而构建模糊规则模型。这种方法的优势在于能够极大地提高数据到规则建模的可解释性,为人与模型的交互提供基础。通过对输入输出联合空间中数据的聚类,可以得到输入数据的聚类中心集合{v1, v2, …, vc},以及输出数据的聚类中心集合{w1, w2, …, wc}。得到的聚类中心形成隶属度函数,从而建立模糊规则。模型中的规则数量与聚类中心的数量c相同。规则中的模糊集Ai和Bi由下列隶属度函数描述:
Ai(xk)=1∑cj=1‖xk-vi‖‖xk-vj‖2/(m-1)(2)
Bi(yk)=1∑cj=1yk-wiyk-wj2/(m-1)(3)
对于任意输入xk,输出的模糊集B计算如下:
B(ykxk)=∑ci=1A(xk)Bi(yk) (4)
基于FCM的模糊规则模型的另一个优点在于非常简单和直接。聚类中心和模糊集几乎是自动形成的,一旦构造了模糊集并指定了去模糊化机制,就可以认为建模过程已经完成。模糊模型可能的优化则与FCM方法的主要参数相关联,即聚类中心的数量c和模糊化系数m。一般认为:较大数量的聚类中心意味着更高的模型准确性,但出于计算复杂度的考虑,聚类中心的数量不应该太高。模糊化系数m(m>1)可用于调节形成规则之间的适当水平的相互作用: 虽然模糊化系数m的常用值是2,但该系数的调节有助于模型性能的进一步的优化; 当模糊化系数值接近1时,隶属度函数类似于特征函数,在模型方面意味着输入空间中的各个区域相对独立地获得输出。随着模糊化系数值的增加,规则倾向于更明显的相互作用并可能有助于改进输出。
为了强调对于xk的输出,这里将输出简写为Bk。常见性能指标以RMSE形式表示:
V=1N∑Nk=1(targetk-Dec(Bk))2(5)
其中Dec(B)表示产生单个数值的B的去模糊化运算。通常Dec(B)可以考虑任何去模糊化方法,如重心法、最大隶属度法、模态值法等,参见文献[20-21]。然而,所有这些方法的共同特征是:通过去模糊化得到单个数值,因此,去模糊化使得模糊集B信息损失,所传达的整体信息也在很大程度上被忽略且未被使用, 需要设计一种更加合理的评价指标。
2 粒度评价指标及其优化
在本章中,重点考虑了模糊模型输出的粒度特征,设计并提出了一个粒度评价指标,并在此基础上设计了模糊规则模型的优化方法。
2.1 模糊规则模型性能的量化评估
为了更加合理地量化模糊集B形成的特征因素,本文采用一种更加有益的量化方法,即粒度的评估方法,用于衡量模糊集的信息粒输出。在合理的粒度原理的指导下,文献中常用覆盖率(coverage)和特异性(specificity)这两个标准来评估信息粒的性能[16,22],本文以此为参照来设计模糊集输出的评估指标:
覆盖率 通过计算隶属度B(targetk)来表示目标targetk在多少程度上被模糊集B覆盖。隶属度越高,则覆盖率越高,说明该数值样本被模糊集输出覆盖的程度越好。覆盖率性能指标能够充分包含数值型评价指标对于模型误差的描述,同时避免了模糊集的信息损失。
特异性 用于计算该模糊集的独特性,是否表现出清晰明确的语义。模型输出的特异性越高说明模糊集的语义越明确。特异性性能指标能够描述模糊集的语义广度(范围),从而充分反映模糊集的语义性能,这一点是数值型评价指标所不具备的能力。
评估指标的详细计算方法如下:
cov(targetk)=B(targetk|xk)(6)
本文中覆盖率的意义对应于数值样本在模糊集中的隶属度,而模糊集B的特异性描述的是模糊集的“尺寸”。为便于解释,本文首先考虑区间形式的信息粒[a, b],如图1(a)所示,其特异性为1-(b-a)/range,其中range=ymax-ymin,ymax和ymin为输出空间的极值。信息粒的区间越小,特异性越大。如果a=b,信息粒退化为一个数值点,其特异性也最大(最大值为1);如果信息粒覆盖整个输出空间,其特异性则最小(最小值为0)。对于模糊集,利用截集(αcut)进行特异性的计算,如图1(b)所示,即:sp(Bk)=∫αmax01-h(α)rangedα(7)
h(α)=max{y| B-1(y)=α}-
min{y| B-1(y)=α}(8)
其中αmax是最大隶属度。在实际运算中,式(7)中的积分项可以采用离散化的计算方法。对于多峰的隶属度函数,考虑将多个截集长度求和的方法进行计算,如图1(c)所示,即:
h(α)=length(Ω1) + length(Ω2)+
…+ length(Ωn)(9)
圖2展现了一个评估模糊集覆盖率和特异性的案例。其中曲线表示模糊集,黑点表示目标输出数据。
整体的覆盖率和特异性性能通过计算所有数据点对应性能指标的平均值得到,即:
cov=1N∑Nk=1cov(targetk)(10)
sp=1N∑Nk=1sp(Bk)(11)
为了评估信息粒(模糊集)输出的整体质量,本文采用覆盖率和特异性乘积作为全局指标。因此,信息粒B的整体性能指标如下:
Q=cov·sp(12)
2.2 模糊规则模型的优化
聚类能够揭示数据结构,然而模糊规则模型旨在刻画输入和输出的内在关系。基于FCM的模糊规则建模虽然可以通过调整参数c和m优化模型,但是这样的调整也存在一定的片面性。聚类过程是无方向的,因此不能完全支持有向的模糊规则建模。此外,FCM对于聚类中心分布的平均效应是不可避免的,这意味着模糊规则建模的输出范围可能会减小,从而产生一些额外的误差。因此,本文采用了一种通过移动调整输入和输出空间聚类中心vi和wi位置的优化方法提高模糊规则模型的性能。
基于群体智能的启发式算法可以有效处理复杂目标函数和大范围搜索空间的问题,非常适合本研究问题。其中,粒子群优化(Particle Swarm Optimization, PSO)算法[23]由于其良好的效率和可用性,被应用于许多类似研究[11,24]中。在PSO中,粒子模仿群体活动特征在搜索空间中搜索最优解。粒子运动的速度取决于其自身和群整体的经验。而速度决定粒子在下一步搜索中的位置。在每个搜索步骤t,使用以下两个公式连续更新第i个粒子的速度u和位置l。
ut+1i=ωut+1i+δr1·(pbest-lti)+βr2·(gbest-lti)(13)
lt+1i=lti+ut+1i(14)
其中:pbest表示第i个粒子目前最优的位置;gbest表示所有粒子中的最优位置;ω是惯性权重因子;δ和β分别是个体认知和群体社会常数;r1和r2是在[0, 1]区间中均匀分布的随机向量,以保证粒子搜索的随机性。
优化过程中,将输入空间和输出空间的聚类中心组合成粒子l,使其在数据空间中的每个特征维度上进行移动调整,从而使得目标函数Q达到最大。为了增加聚类中心的适应度,这里将每个维度的搜索空间进行适当的放大,即[minj(1-γ), maxj (1+γ)],其中γ是一个正值的扩张系数,minj和maxj表示第j维特征上的最大和最小值。
3 实验与结果
本章通过实验展现了所提优化方案的性能,并将获得的结果与仅通过使用FCM方法构建的模糊模型获得的结果进行对比。在本文中,PSO优化参数设置如下:种群大小设置为100,最大迭代次数设置为600。多次实验表明,这样的参数设置足以实现优化过程的收敛,并且超出这些值不会导致性能的明显改善。扩张系数的值设定为0.5, 惯性权重因子设定为1.1,而个体认知和群体社会常数的值均等于1.49,这些参数值的选择与文献[25]中一致。
3.1 人工数据实验
本文采用一个常用的两输入非线性函数[26]:
y=(1+x-0.51+x-12)2(15)
其中:x1和x2是两个独立分布在笛卡尔积[1, 5]×[1, 5]上的变量。在其中随机抽取900(30×30) 组数据,并划分为70%的训练样本和30%的测试样本。模糊系数m设置为3个具有典型性的值1.05, 2.0, 3.0。
图3显示的是目标函数值Q在优化前后的变化,图4绘制的是不同数量的聚类中心生成的模型得到的覆盖率和特异性的平均值。两个图中圆形表示聚类中心优化前的结果,而菱形则表示优化后的结果。最浅的颜色表示聚类中心数量为2建立的模糊规则模型(拥有2条模糊规则),最深的颜色表示聚类中心数量为10建立的模糊规则模型(拥有10条模糊规则)。
从实验结果中可以看出,通常Q值随着聚类中心的数量增加而减小。可能的原因分析如下:随着聚类中心数量的增加,Ai和Bi的隶属度值减小,则Ai和Bi的乘积也减小,因此覆盖率随之下降。同时,当聚类中心数量增加时,因为输入和输出的隶属函数越来越具体,隶属度函数B的形状尺寸缩小,因此,特异性的值增加。总体而言,覆盖性对性能指标Q的影响比特异性更强,因此Q值随着聚类数量的增加而减小。聚类中心优化后,当模糊化系数较小(如1.05)时,Q值最大。在这种情况下,覆盖率比特异性有更明显的提高,这是由这种隶属度函数的特征决定的。隶属度通常从接近0变为接近1,并且聚类中心的修改可能会移动隶属度函数中心的位置或合并其中一些隶属度函数,因此很容易将一些目标数据对应的隶属度从接近0提高到接近1,使得优化后的覆盖率显著改善。然而,当模糊化系数较高(比如3.0)时,目标数据附近的隶属度较为接近,通过优化对于隶属度的改变较少,因此覆盖率的提高相对有限。总之,由于覆盖率对总体性能指标Q的影响更大,当模糊化系数较小时,模型性能提高的幅度较大。
图5绘制了聚类中心在数据空间中优化前后的位置变化, 从图5中可以看出,聚类中心在优化前后有着明显的变化。一些调整后的聚类中心彼此靠近甚至趋于重叠。该结果与上面的结论一致,即可以通过重叠聚类中心和聚合隶属函数来提高覆盖率。这一现象支持了在建模过程中减少聚类中心及模糊规则数量的可能性,并借以消除一些冗余的规则。