高维数据挖掘优化算法研究1.docx
《高维数据挖掘优化算法研究1.docx》由会员分享,可在线阅读,更多相关《高维数据挖掘优化算法研究1.docx(22页珍藏版)》请在冰点文库上搜索。
高维数据挖掘优化算法研究1
高维数据挖掘优化算法研究
摘 要:
提出了一种新的基于T-S模糊模型的建模方法,首先通过一种局部线性聚类算法,自适应确定模糊规则数目及初始T-S模型的前提和结论参数,建立相应的一阶T-S模糊神经网络.并用梯度下降和递推最小二乘混合算法训练网络参数,从而提高建模精度.最后,通过两个仿真实例验证了本文方法的有效性。
研究了模糊聚类分析在多变量模糊神经网络的结构确定中的应用。
同时在传统的模糊C2均值算法的基础上,给出了一个衡量聚类有效性的函数和确定模糊指数的启发式方法,并给出了应用该算法的具体的模糊神经网络模型。
关键词:
T-S模糊模型;聚类算法;模糊神经网络;模糊规则;模糊神经网络;模糊聚类;有效性函数;模糊指数
§1基于局部线性聚类算法的模糊建模
1引言(Introduction)
模糊建模广泛应用于对复杂、非线性、不确定系统的研究中,它能用一系列模糊推理规则,描述系统输入输出行为.在已知输入/输出样本数据时,聚类是模糊建模的基础,是从数据中提取系统结构信息最有效的方法.模糊C均值(FCM)[1~3]、山峰─减法聚类[4~6]等均被用于系统结构辨识.模糊C均值聚类算法要预先确定聚类数,并对聚类中心初始值较敏感;山峰—减法聚类算法得到的聚类中心只局限于样本点,并且没有对样本数据分类,因此不能确定类的大小、形状[7].Chiu[8]将山峰—减法聚类用于T-S(Takagi2Sugeno)模糊逻辑系统[9]建模;文[7]提出了关系隶属度的迭代聚类算法,无须任何先验假设,自动聚类样本数据,文[10]给出了其收敛证明,并将其应用在T-S模糊建模中,取得较好的效果.但上述聚类算法均将数据样本看作团状分布,与T-S模糊逻辑系统的区域线性思想不一致[11].因此,文[11]提出了线性度量的概念,但其算法实质仍是山峰─减法聚类,并没有很好地解决问题.针对上述问题,本文提出了一种局部线性聚类算法,无须任何样本数据的先验假设,根据局部线性思想自动聚类样本数据,从而产生了较优的初始T-S模糊模型,建立了一阶T-S模糊神经网络,并用混合学习算法进行参数辨识,最后通过仿真实例验证说明了该方法的有效性.
2T2S模糊模型(T2Sfuzzymodel)
T2S模糊模型[9]的结论部分用线性方程的形式代替了一般的模糊数,使系统可用较少的规则描述一个复杂的非线性系统.其多输入单输出推理规则形式为:
式中Ali是模糊集合,cli为真值参数,yl为规则Rl的输出,l=1,2,…,P(P为规则数),其条件部分为模糊,而结论则是各输入变量的线性组合.对于一个输入向量x=(x1,x2,…,xm)T,T-S模糊逻辑模型的输出y(x)等于各条规则输出yl的加权平均:
(2)
其中的加权系数ωl由下式计算:
3局部线性聚类算法(Locallinearcluster2ingalgorithm)
数据空间中样本点的属性值决定了样本点在空间中的分布,采用不同方法定义样本点属性值时,样本点的分布也不同.在山峰─减法聚类[4~6]中定义了样本点的密度势函数,以势密度为样本点属性,改变了样本点在空间中的分布,具体算法不再赘述,仍然只能对团状数据聚类,与T2S模糊逻辑系统的区域线性思想不一致.文[9]提出了局部线性度量的概念,设有n个样本数据对{(x1,y1),…,(xn,yn)},xi∈Rm为输入,yi∈R为输出,以T2S模型的线性关系y≈Bx+b对样本点xi的附近样本点进行线性拟合,以最优拟合后的拟合误差为基础,定义了样本点xi的局部线性度量函数:
以Di为样本点xi的线性度量,用山峰─减法聚类逐次确定聚类中心,该方法在一定程度上符合T-S模糊模型的思想,但山峰─减法聚类存在一些不足之处,并且聚类结果受到参数接受拒绝域半径γa、γb以及终止阈值ε3、ε3的影响大,参数选择无理论依据[11].
本文研究了样本点的切斜率,用切斜率定义样本点的局部线性度,在线性程度好的区域,样本点有聚类的趋势,因此以切斜率定义样本点的局部线性度能更好体现T2S模糊模型的优点.下面讨论基于切斜率的样本点局部线性度定义,并给出局部线性聚类算法.
首先,由T2S模糊模型的区域线性化思想,可在样本点(xi,yi)附近以线性关系y≈Cx+c0做最小二乘线性拟合,其中C=(c1,…,cm),对点(xi,yi)的附近可进行以下模糊化处理,其隶属度函数表示为:
每个样本点xi均可确定一个隶属度矩阵μxi=[μxi(x1),…,μxi(xn)]T,反映其它点在xi附近的程度,由最小二乘法可辨识一组参数
θi=[ci0Ci]T,使得最小二乘误差函数最小:
xi其中αj=(1,xj1,…,xjm)T,“·”表示矩阵的点乘积即Hadamard乘积.设I=[1,1,…,1]m+1,则由最小二乘估计器可推导得到θi为:
当表示样本点附近的隶属度函数的σ取很小的值时,上式求得的拟合参数Ci近似为样本点xi的切斜率,本文以样本点的切斜率Ci来定义样本点的局部线性度量.
基于样本点局部线性度定义和文[7]的关系隶属度聚类,本文将两者结合,提出了局部线性聚类算法,与文[7]的关系隶属度不同在于:
本文计算样本点以局部线性度分布的关系隶属度,使样本点在线性区域形成聚类,而文[7]则使点在密集区聚类.具体步骤如下:
设n个样本数据对{(x1,y1),…,(xn,yn)},xi∈Rm为输入,yi∈R为输出,xi=(xi1,…,xim)T.
Step1:
通过式(5)和(7)计算每个样本点的局部线性度Ci(i=1,2,…,n)的值,为方便计算,对Ci归一化,并定义样本数据为Oi=[xTiCi]1×2m.
Step2:
定义n个矢量Vi(i=1,2,…,n),令Vi=Oi,即Oi是Vi的初值.
Step3:
计算参考矢量Vi与比较矢量Vj之间的关系度:
其中Vi-Vj表示Vj与Vi的欧氏距离,σw是高斯函数的宽度,决定了聚类数目[10].
Step4:
改变Vj与Vi之间的关系度,使
Step5:
由下式计算Wi={wi1,wi2,…,wi2m}:
∑j=1
Step6:
若所有矢量Wi和Vi(i=1,2,…,n)都相同,则转Step7,否则令Vi=Wi,返回Step3.
Step7:
基于最终结果Vi(i=1,2,…,n),可以确定聚类的数目等于收敛矢量的数目,具有相同收敛矢量的样本数据被划分到同一类中,并且收敛矢量是样本数据的聚类中心.
通过上述局部线性聚类算法就把样本数据分为p个聚类,并得到了相应的聚类中心Sk=(sk1,…,skm,skm+1,…,sk2m),其中k=1,2,…,p,p为聚类数即模糊规则数,Sk中前m个向量Sk1=(sk1,…,skm)为所有的样本点输入x的聚类中心,对应于T2S模型中前提模糊集合的Ak1,Ak2,…,Akm的核,后m个向量Sk2=(skm+1,…,sk2m)为所有的样本点的线性度C的收敛中心,对应于T2S模型每个规则的结论真值参数ck1,ck2,…,ckm,k代表第k条模糊规则,模糊规则前提模糊集合的隶属度函数μAki(xi)可用高斯隶属度函数表示:
其中,第k条规则的各隶属度函数的宽度由σk决定,可由下式给出:
其中u=0.2,且x3k是第k个类中离输入x的聚类中心Sk1=(sk1,…,skm)距离最远的点,设第k类中有q个样本点,原始输出空间第k个聚类的中心及第k条规则的结论真值参数ck0可由式(13)、(14)给出:
至此,整个T2S模糊模型的初始结构的前提参数、结论参数、模糊规则均已确定。
4模糊神经网络参数学习
通过上述聚类算法,确定了一个初始的T-S模糊模型,为了提高模型的精度,有必要对前提及结论参数进行调节,本文建立经典一阶T2S模糊神经络来进行参数学习,其网络结构如图1所示,由于幅所限,具体的网络结构[2,12,13]本文不再赘述。
图1 T2S模糊神经网络
Fig.1 T2Sfuzzyneuralnetwork
首先定义误差代价函数:
其中yj为期望值,y^j为预测值;在局部线性聚类算法已确定结论参数的前提下,固定结论参数采用误差反传的梯度下降法调节前提参数ski和σk,其参数调整学习算法为:
其中k=1,2,…,p,i=1,2,…,m,α和β分别为ski和σk的学习率,前提参数调整后,固定前提参数,结论参数cki用递推最小二乘法辨识:
其中,x=(c10,…,c1mi,…,cp0,…,cpm)T,y=(y1,…,yn),b=(μ—1,μ—1x1,…,μ—1xm,…,μ—p,μ—p1x1,…,μ—pxm)T,P∈R(p+1)×(p+1),p为聚类数目(规则数目),初始值为P0=δI,δ为很大的正实数.重复上述步骤,直到误差不再减小或达到最大迭代次数为止.
5仿真实例(Simulationexamples)
为了说明上述局部线性聚类算法及其建模的有效性,采用两个仿真实例来验证如下例1:
二维非线性函数y=sin(x-10)/(x-10);采样间隔0.5,取41个数据作训练样本。
使用上文中的局部线性聚类算法对上述41个样本数据进行聚类,图2所示取σw=0.5时,得到聚类数p=7时的聚类中心与模糊规则,并与文[8]和文[11]所提取的聚类中心和规则进行了对比,见图3和图4.图2明显更能反映样本点的线性分布,体现了T2S模糊模型的优点
图2 p=7时的聚类中心及模糊规则
Fig.2 Clusteringcentresandfuzzyrulewhenp=7
图3 文[8]提取的模糊规则及聚类中心
Fig.3 Clusteringcentresandfuzzyruleextractedby[8]
图4 文[11]提取的模糊规则及聚类中心
Fig.4 Clusteringcentresandfuzzyruleextractedby[11]
并且,进行参数辨识后,模型的训练均方根误差
检验误差
RMSEchk=0.00084,远高于文[8]、文[11]的精度.模型预测输出如图5所示.
图5 期望输出与模型输出
Fig.5 Expectationoutputandmodeloutput
例2:
三维非线性函数:
y=sin(πx1)sin(πx2),其中x1∈[-1,1],x2∈[0,1].从上述方程的输入空间[-1,1]×[0,1]中,以采样间隔0.1,取231个数据点作为训练样本数据.
使用本文的局部线性聚类算法取σw=0.1时,得到7条模糊规则,如图6(a)所示,调整高斯基的宽度σw=0.09后,得到了9条模糊规则,如图6(b)所示.由图6可知,σw越小,线性逼近的精度越高.图7(a)为三维非线性曲面的学习样本输出,图7(b)为模糊规则数目p=7时的模型预测输出曲面.
(a)σw=0.1时,模糊规则p=7
(b)σw=0.09时,模糊规则p=9
图6 模糊规则
Fig.6 Fuzzyrules
(a)系统输出曲面
(b)模型输出曲面
图7 输出曲面
Fig.7 Outputsurface
当取σw=0.1、模糊规则p=7进行模糊建模时,训练误差RMSEtrn=0.00165,检验误差RMSEchk=0.00201,在相同精度前提下,文[7]提取了13条模糊规则.而利用文[8]的方法建模时,在相同的数据规模及相同的模糊规则数的前提下,其建模精度仅为RMSEchk=0.0254,从而说明了本文方法的有效性.
§2模糊聚类分析在模糊神经网络结构优化中的应用
1引言
模糊神经网络的应用在近几年来得到飞速发展。
这是因为模糊神经网络既具有模糊控制的简单有效的非线性控制作用,又具有神经网络的学习和适应能力。
但是在模糊神经网络的设计过程中,在确定隶属函数的数目和隶属函数参数(即模糊神经网络结构)等方面存在许多问题。
在大多数情况下使用的方法是人为的试凑法,该方法需要很长时间。
另一个问题是调整过程很容易陷入局部最优。
由于输入空间的有效划分能有效地减少模糊规则的数目,所以输入空间的划分也是十分重要的。
因此确定隶属函数的数目及其参数是非常重要的。
本文讨论了确定模糊神经网络结构的方法。
通过将模糊C2均值算法、有效性函数和模糊指数相结合来确定模糊神经网络的结构。
并给出了应用该算法的具体的模糊神经网络模型。
该方法与其它方法l′们比更有效,而且实用范围更广泛。
2模糊聚类分析
FCM算法就是将数据集(X{x1,X2,…,xn}