基于自动聚类的粒子群优化分类方法转让专利

申请号 : CN201210247371.0

文献号 : CN102842043B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 刘若辰张燕吴沛焦李成刘静李阳阳王爽马文萍

申请人 : 西安电子科技大学

摘要 :

本发明公开了一种基于自动聚类的粒子群优化分类算法,主要解决现有技术对邻域信息参考的局限性和目标函数评价标准单一性的问题。其实现过程是:(1)对训练数据执行自动聚类方法,获得自动聚类方法的类标;(2)对训练数据执行粒子群优化分类方法,获得该分类方法的类标;(3)计算粒子的适应度值,计算最优关系矩阵;(4)更新粒子的位置;(5)更新粒子的历史最高适应度值和种群的全局历史最高适应度值;(6)判断算法是否满足终止条件,若满足,则停止迭代;否则转至步骤(3);(7)利用粒子种群判测试数据的类标;(8)计算分类正确率。本发明具有对UCI数据分类效果显著的优点,可用于纹理图像分类。

权利要求 :

1.一种基于自动聚类的粒子群优化分类方法,包括如下步骤:

(1)输入数据X,数据X的大小为N×D,即数据X的样本个数为N,每一个样本是D维的,将数据X分为训练数据B和测试数据C两部分,其中,训练数据、测试数据的大小均为M×D,M=N/2;

(2)输入训练数据B已知的类标E1,类标E1是一个1×M的向量e,向量e={e1,e2,...,ei,...,eM},向量e中每一个元素ei表示训练数据B中的样本bi所属的类,ei∈{1,2,...,T},T表示训练数据B正确的分类数,i∈{1,2,...,M};

(3)采用差分进化自动聚类算法对训练数据B进行自动聚类,得到聚类方法中训练数据B的类标E2,类标E2是一个1×M的向量f,f={f1,f2,...,fi,...,fM},向量中每一个元素fi表示训练数据B中的样本bi在聚类方法中所属的类,fi∈{1,2,...,K},K表示训练数据B在聚类方法中分为几类,i∈{1,2,...,M};

(4)采用粒子群优化分类法对训练数据B进行分类,获得分类方法中训练数据B的类标E3,根据步骤(3)中自动聚类方法所得的类标E2和分类方法所得的类标E3,得到最终粒子的类标E4和粒子的位置v:(4.1)初始化粒子群优化分类方法中训练数据B的类标E3,其中,类标E3是一个1×M的向量:h={h1,h2,...,hM},其中元素hi表示训练数据B中的样本bi在该分类方法中所属的类,hi初始为0,i∈{1,2,...,M},M是训练数据B的样本个数;

(4.2)初始化粒子y的个数:U=10×T,T表示训练数据B正确的分类数;

(4.3)初始迭代次数t=0;

(4.4) 初 始 化 粒 子 yi 的 位 置 为 1×D 的 随 机 向 量:v' ={v′1,v′2,...,v′j,...,v′D},j∈{1,2,...,D},其中元素v'j为0和1之间的随机数,i∈{1,2,...,U};

(4.5)初始化粒子yi的速度 为1×D的随机向量:x'={x′1,x'2,...,x'j,...,x'D},j∈{1,2,...,D},其中元素x'j为0和1之间的随机数,i∈{1,2,...,U};

(4.6)初始化粒子yi的历史最高适应度值 i∈{1,2,...,U};

(4.7)初始化种群粒子的全局最高适应度值

(4.8)初始化种群粒子的类标E4为1×U的向量:g={g1,g2,...,gi,...,gU},其中元素gi表示粒子yi所属的类,i∈{1,2,...,U},gi在{1,2,...,T}中随机取值,T表示训练数据B正确的分类数;

(4.9)根据训练数据B中的样本bi与粒子yj的欧氏距离d,得到距离最小的粒子y'j,将粒子y'j所属的类作为样本bi在类标E3中的类,i∈{1,2,...,M},j∈{1,2,...,U},M表示训练数据B中的样本个数;

(4.10)根据步骤(3)中自动聚类方法所得的类标E2,以及步骤(4.9)中粒子群优化分类方法所得的类标E3,利用全概率方法得出这两种类标的最优关系矩阵P;

(4.11)利用最优关系矩阵P计算粒子yi的适应度值

(4.12)将粒子yi的适应度值 与其历史最高适应度值 进行比较,并用两者中较高的那个值,更新历史最高适应度值 i∈{1,2,...,U};

(4.13)将所有粒子的适应度值Jt中的最大值与全局适应度值 进行比较,并用两者中较高的那个值,更新全局适应度值(4.14)更新粒子yi在第t+1次迭代时的位置

t

其中,符号ω表示位置比率值,ω =1.4-0.4×t/Tmax,Tmax=500,为最大迭代次数;影响因子c1=c2=2.05,r1、r2为在0和1之间的随机数; 表示粒子yi在第t代的位置,表示粒子yi在第t代的速度, 表示粒子yi在第t代的历史最高适应度值, 表示粒子yi在第t代的全局最高适应度值,i∈{1,2,...,U};

(4.15)将迭代次数t加1,判断此时t的值是否大于Tmax,如果大于,则停止迭代,得到粒子的位置v和粒子的类标E4,否则返回步骤(4.9);

(5)利用所得的粒子位置v和粒子类标E4,根据测试数据的样本与每一个粒子的欧式距离d',将距离最小的粒子的类作为样本的类;

(6)利用测试数据得到的分类结果,计算分类的正确率:

其中,Num表示测试数据中分类正确的样本的个数,M表示测试数据的样本个数。

2.根据权利要求1所述的基于自动聚类的粒子群优化分类方法,其中所述步骤(4.10)最优关系矩阵P,表示为:其中, dl为粒 子群优化分 类方法中的 第l

类,l∈{1,2,...,L},L为该分类方法得到的类数,cm为自动聚类中的第m类,m∈{1,2,...,K},K为自动聚类方法得到的类数,Z(x∈dlandx∈cm)表示在分类中所属的类为l,而在自动聚类中所属的类为m的样本的个数,Z(x∈cm)表示在自动聚类中所属的类为m的样本的个数。

3.根据权利要求1所述的基于自动聚类的粒子群优化分类方法,其中步骤(4.11)所述的计算粒子yi的适应度值 计算公式如下:其中,f(yi)为粒子yi所属的类,λ表示与粒子yi最近的样本的正确的类,λ∈{1,2,...,T},T表示训练数据B正确的分类数,当f(yi)=λ时,δ取值为1,否则取值为0,β为均衡错分率和聚类纯度的参数,在{0.01,0.1,1}中随机取值,q代表聚类的纯度,q的计算公式如下:其中,dl为粒子群优化分类方法中的第l类,l∈{1,2,...,T},T表示训练数据B正确的分类数,cm为自动聚类方法中的第m类,m∈{1,2,...,K},K为自动聚类方法得到的类数,Z(x∈cm)表示在自动聚类中所属的类为m的样本的个数。

说明书 :

基于自动聚类的粒子群优化分类方法

技术领域

[0001] 本发明属于图像处理技术领域,涉及数据分类,可用于纹理图像分类。

背景技术

[0002] 随着数据库规模的日益扩大,人类积累的数据量正在以指数速度迅速的增长。进入九十年代后,伴随着因特网的出现和发展,以及随之而来的企业内部网,企业外部网和虚拟私有网的产生和应用,令整个世界成为一个规模较小的地球村。展现在我们面前的已不是局限于本部门,本行业的硕大数据库,而是无穷无尽的信息海洋。同时,更多的数据也正以前所未有的速度收集于计算机中,因此,从大量的、不完全的、有噪声的、模糊的、随机的数据中,提取隐含在其中的、人们事先不知道的、但又是潜在有用的信息和知识的工程就显的尤为重要。人们必须学习如何在广博的信息中发现和挖掘自己所需要的信息资源,掌握有效的分类方法,使得数据的分类效率和准确率都得到较大的提高。
[0003] 其中,基于粒子群优化的分类方法,是将数据中具有某方面相似特征的数据点划分为一类,已经有很多成熟的分类算法被用到数据的分类中。粒子群优化作为一种新兴的进化算法,目前主要的研究工作集中在算法的更新方式和目标函数的设计上。不同的更新方式将获得不同的子代个体,不同的子代个体又会产生不同的分类效果。现有的更新方式主要有原始的粒子群优化更新方式和标准的粒子群优化方式两种。但是,利用此两种对个体进行更新迭代时,存在对邻域信息参与的局限性。其次,不同的目标函数设计,对算法的结果将有很大的影响。分类中,传统的目标函数,是仅将数据的分类正确率作为评价标准,利用此类函数进行判别时,存在对数据分布特点认知上的不足,这些局限和不足限制了其在数据分类上的广泛应用。

发明内容

[0004] 本发明的目的在于针对上述已有的技术不足,提出一种基于自动聚类的粒子群优化分类方法,以明确分类阶段的聚类类别数,确定数据的分布结构特性,避免类别数被随机选择,提高分类效果。
[0005] 实现本发明目的技术方案是通过研究数据的分布结构特性,结合粒子群优化算法对数据进行分类,其步骤包括如下:
[0006] (1)输入数据X,数据X的大小为N×D,即数据X的样本个数为N,每一个样本是D维的,将数据X分为训练数据B和测试数据C两部分,其中,训练数据、测试数据的大小均为M×D,M=N/2;
[0007] (2)输入训练数据B已知的类标E1,类标E1是一个1×M的向量e,向量e={e1,e2,...,ei,...,eM},向量e中每一个元素ei表示训练数据B中的样本bi所属的类,ei∈{1,2,...,T},T表示训练数据B正确的分类数,i∈{1,2,...,M};
[0008] (3)采用差分进化自动聚类算法对训练数据B进行自动聚类,得到聚类方法中训练数据B的类标E2,类标E2是一个1×M的向量f,f={f1,f2,...,fi,...,fM},向量中每一个元素fi表示训练数据B中的样本bi在聚类方法中所属的类,fi∈{1,2,...,K},K表示训练数据B在聚类方法中分为几类,i∈{1,2,...,M};
[0009] (4)采用粒子群优化分类法对训练数据B进行分类,获得分类方法中训练数据B的类标E3,根据步骤(3)中自动聚类方法所得的类标E2和分类方法所得的类标E3,得到最终粒子的类标E4和粒子的位置v;
[0010] (4.1)初始化粒子群优化分类方法中训练数据B的类标E3,其中,类标E3是一个1×M的向量:h={h1,h2,...,hM},其中元素hi表示训练数据B中的样本bi在该分类方法中所属的类,hi初始为0,i∈{1,2,...,M},M是训练数据B的样本个数;
[0011] (4.2)初始化粒子y的个数:U=10×T,T是已知训练数据B的正确分类;
[0012] (4.3)初始迭代次数t=0;
[0013] (4.4) 初 始 化 粒 子 yi 的 位 置 为 1×D 的 随 机 向 量:v' ={v1′,v′2,...,v′j,...,v′D},j∈{1,2,...,D},其中元素v′j为0和1之间的随机数,i∈{1,2,...,U};
[0014] (4.5) 初 始 化 粒 子 yi 的 速 度 为 1×D 的 随 机 向 量:x' ={x′1,x′2,...,xj′,...,x′D},j∈{1,2,...,D},其中元素xj为0和1之间的随机数,i∈{1,2,...,U};
[0015] (4.6)初始化粒子yi的历史最高适应度值 i∈{1,2,...,U};
[0016] (4.7)初始化种群粒子的全局最高适应度值
[0017] (4.8)初始化种群粒子的类标E4为1×U的向量:g={g1,g2,...,gi,...,gU},其中元素gi表示粒子yi所属的类,i∈{1,2,...,U},gi在{1,2,...,T}中随机取值,T为已知训练数据B的正确分类;
[0018] (4.9)根据训练数据B中的样本bi与粒子yj,j∈{1,2,...,U}的欧氏距离d,得到距离最小的粒子y′j,将粒子y′j所属的类作为样本bi在类标E3中的类,i∈{1,2,...,M},M表示训练数据B中的样本个数;
[0019] (4.10)根据步骤(3)中自动聚类方法所得的类标E2,以及步骤(4.9)中粒子群优化分类方法所得的类标E3,利用全概率方法得出这两种类标的最优关系矩阵P;
[0020] (4.11)利用最优关系矩阵P计算粒子yi的适应度值
[0021] (4.12)将粒子yi的适应度值 与其历史最高适应度值 进行比较,并用两者中较高的那个值,更新历史最高适应度值 i∈{1,2,...,U};
[0022] (4.13)将所有粒子的适应度值Jt中的最大值与全局适应度值 进行比较,并用两者中较高的那个值,更新全局适应度值
[0023] (4.14)更新粒子yi在第t+1次迭代时的位置
[0024]
[0025] 其中,符号ω表示位置比率值,ωt=1.4-0.4×t/Tmax,Tmax=500,为最大迭代次数;影响因子c1=c2=2.05,r1、r2为在0和1之间的随机数;表示粒子yi在第t代的位置,表示粒子yi在第t代的速度, 表示粒子yi在第t代的历史最高适应度值, 表示粒子yi在第t代的全局最高适应度值,i∈{1,2,...,U};
[0026] (4.15)将迭代次数t加1,判断此时t的值是否大于Tmax,如果大于,则停止迭代,得到粒子的位置v和粒子的类标E4,否则返回步骤(4.9);
[0027] (5)利用所得的粒子位置v和粒子类标E4,根据测试数据的样本与每一个粒子的欧式距离d',将距离最小的粒子的类作为样本的类;
[0028] (6)利用测试数据得到的分类结果,计算分类的正确率:
[0029] 其中,Num表示测试数据中分类正确的样本的个数,M表示测试数据的样本个数。
[0030] 本发明与现有技术相比具有以下优点:
[0031] 1、本发明由于对数据的分布结构特性进行了充分的研究,以不同的关系矩阵来表达不同粒子分类能力的差异性,根据自动聚类算法,明确了在训练阶段中,聚类中所用到的类别数,降低了分类的随机性;
[0032] 2、本发明相对已有的粒子群更新方式,从参考信息入手,对粒子进行全局更新,避免分类结果陷入局部最优的问题。
[0033] 仿真实验结果表明,本发明提出的基于粒子群优化的分类方法能够有效地运用于数据的分类,并进一步应用于纹理图像的分类。

附图说明

[0034] 图1是本发明的总流程图;
[0035] 图2是本发明仿真采用的纹理图像;
[0036] 图3是本发明选取的纹理图像的真实分类结果;
[0037] 图4是用FRC方法对纹理图像分类得到的效果图;
[0038] 图5是用本发明对纹理图像分类得到的效果图。

具体实施方式

[0039] 参照图1,本发明的实现包括如下步骤:
[0040] 步骤1,输入数据X,数据X的大小为N×D,即数据X的样本个数为N,每一个样本是D维的,将数据X平均分为训练数据B和测试数据C两部分,其中,训练数据、测试数据的大小均为M×D,M=N/2,M是训练数据B的样本个数。
[0041] 步骤2,输入训练数据B已知的类标E1。
[0042] 输入训练数据B已知的类标E1,类标E1是一个1×M的向量e,向量e={e1,e2,...,ei,...,eM},向量e中每一个元素ei表示训练数据B中的样本bi所属的类,ei∈{1,2,...,T},T表示训练数据B正确的分类数,i∈{1,2,...,M},M是训练数据B的样本个数。
[0043] 步骤3,对训练数据B进行自动聚类,得到聚类方法中训练数据B的类标E2。
[0044] 采用差分进化自动聚类算法对训练数据B进行自动聚类,得到聚类方法中训练数据B的类标E2,类标E2是一个1×M的向量f,f={f1,f2,...,fi,...,fM},向量中每一个元素fi表示训练数据B中的样本bi在聚类方法中所属的类,fi∈{1,2,...,K},K表示训练数据B在聚类方法中的分类数,i∈{1,2,...,M},M是训练数据B的样本个数。
[0045] 步骤4,采用粒子群优化分类法对训练数据B进行分类,得到训练数据B的类标E3、粒子的类标E4和粒子的位置v。
[0046] (4.1)初始化粒子群优化分类方法中训练数据B的类标E3,其中,类标E3是一个1×M的向量:h={h1,h2,...,hi,..,hM},其中元素hi表示训练数据B中的样本bi在该分类方法中所属的类,hi初始为0,i∈{1,2,...,M},M是训练数据B的样本个数;
[0047] (4.2)初始化粒子y的个数:U=10×T,T是已知训练数据B的正确分类;
[0048] (4.3)初始迭代次数t=0;
[0049] (4.4) 初 始 化 粒 子 yθ 的 位 置 为 1×D 的 随 机 向 量:v' ={v1′,v′2,...,vj′,...,v′D},j∈{1,2,...,D},其中元素v′j为0和1之间的随机数,θ∈{1,2,...,U};
[0050] (4.5) 初 始 化 粒 子 yθ 的 速 度 为 1×D 的 随 机 向 量:x' ={x′1,x′2,...,x′j,...,x′D},j∈{1,2,...,D},其中元素x′j为0和1之间的随机数,θ∈{1,2,...,U};
[0051] (4.6)初始化粒子yθ的历史最高适应度值 θ∈{1,2,...,U};
[0052] (4.7)初始化种群粒子的全局最高适应度值
[0053] (4.8)初始化种群粒子的类标E4为1×U的向量:g={g1,g2,...,gθ,...,gU},其中元素gθ表示粒子yθ所属的类,θ∈{1,2,...,U},gθ在{1,2,...,T}中随机取值,T为已知训练数据B的正确分类数;
[0054] (4.9)根据训练数据B中的样本bi与粒子yθ,θ∈{1,2,...,U}的欧氏距离d,得到距离最小的粒子y′θ,将粒子y′θ所属的类作为样本bi在类标E3中的类,i∈{1,2,...,M},M表示训练数据B中的样本个数;
[0055] (4.10)根据步骤(3)中自动聚类方法所得的类标E2,以及步骤(4.9)中粒子群优化分类方法所得的类标E3,利用全概率方法得出这两种类标的最优关系矩阵P为:
[0056]
[0057] 其中, dl为粒子群优化分类方法中的第l类,l∈{1,2,...,L,L为该分类方法得到的类数,cm为自动聚类中的第m类,m∈{1,2,...,K},K为自动聚类方法得到的类数,Z(x∈dlandx∈cm)表示在分类中所属的类为l,而在自动聚类中所属的类为m的样本的个数,Z(x∈cm)表示在自动聚类中所属的类为m的样本的个数;
[0058] (4.11)利用最优关系矩阵P计算粒子yθ的适应度值 计算公式如下:
[0059]
[0060] 其中,f(yθ)为粒子yθ所属的类,λ表示与粒子yθ最近的样本的正确的类,λ∈{1,2,...,T},T表示训练数据B的正确类数,当f(yθ)=λ时,δ取值为1,否则取值为0,β为均衡错分率和聚类纯度的参数,在{0.01,0.1,1}中随机取值,q代表聚类的纯度,其计算公式如下:
[0061]
[0062] 其中,dl为粒子群优化分类方法中的第l类,l∈{1,2,...,L},L为该分类方法得到的类数,cm为自动聚类方法中的第m类,m∈{1,2,...,K},K为自动聚类方法得到的类数,Z(x∈cm)表示在自动聚类中所属的类为m的样本的个数;
[0063] (4.12)将粒子yθ的适应度值 与其历史最高适应度值 进行比较,并用两者中较高的那个值,更新历史最高适应度值 θ∈{1,2,...,U};
[0064] (4.13)将所有粒子的适应度值Jt中的最大值与全局适应度值 进行比较,并用两者中较高的那个值,更新全局适应度值
[0065] (4.14)更新粒子yθ在第t+1次迭代时的位置
[0066]t
[0067] 其中,符号ω表示位置比率值,ω =1.4-0.4×t/Tmax,Tmax=500,为最大迭代次数;影响因子c1=c2=2.05,r1、r2为在0和1之间的两个随机数;表示粒子yθ在第t代的位置, 表示粒子yθ在第t代的速度, 表示粒子yθ在第t代的历史最高适应度值,表示粒子yθ在第t代的全局最高适应度值,θ∈{1,2,...,U};
[0068] (4.15)将迭代次数t加1,判断此时t的值是否大于Tmax,如果大于,则停止迭代,得到粒子的位置v和粒子的类标E4,否则返回步骤(4.9)。
[0069] 步骤5,判断测试数据的类。
[0070] 利用所得的粒子位置v和粒子类标E4,根据测试数据的样本与每一个粒子的欧式距离d',将距离最小的粒子的类作为样本的类。
[0071] 步骤6,计算分类的正确率。
[0072] 利用测试数据得到的分类结果,计算分类的正确率: 其中,Num表示测试数据中分类正确的样本的个数,M表示测试数据的样本个数。
[0073] 本发明的效果可以通过以下实验进一步说明:
[0074] 1、仿真实验采用的图像:
[0075] 实验使用了图2(a)、图2(b)所示的2幅大小为512×512的纹理图像作为测试图像,其中图2(a)命名为纹理图像(1)、图2(b)命名为纹理图像(2)。
[0076] 2、仿真实验的参数设置条件:
[0077] 设定参数为:影响因子c1=c2=2.05,总迭代次数Tmax=500。
[0078] 3、仿真实验环境:
[0079] 在CPU为core2 2.4HZ、内存2G、WINDOWS XP系统上使用MATLAB进行了仿真。
[0080] 4、仿真内容
[0081] 用本发明方法以及现有的FRC方法对纹理图像(1)进行分类,其分类正确率比较结果见表1。两种方法的分类结果如图4、图5所示,其中图2(a)为纹理图像(1);图3(a)为纹理图像(1)的正确分类结果;图4(a)为用现有FRC方法对纹理图像(1)进行分类得到的结果;图5(a)为本发明方法对纹理图像(1)进行分类得到的结果。
[0082] 将图3(a)、图4(a)与图5(a)进行比较可见,FRC的分类结果在纹理上出现的杂点较多,而本发明方法在纹理上的杂点较少,具有更清晰的边缘轮廓。
[0083] 用本发明方法以及现有的FRC方法对纹理图像(2)进行分类,其分类正确率比较结果见表1。两种方法的分类结果如图4、图5所示,其中图2(b)为纹理图像(2);图3(b)为纹理图像(2)的正确分类结果;图4(b)为FRC方法对纹理图像(2)进行分类得到的结果;图5(b)为本发明方法对纹理图像(2)进行分类得到的结果。
[0084] 将图3(b)、图4(b)与图5(b)进行比较可见,FRC的分类结果在的边缘轮廓很模糊,而本发明方法的边缘则清晰很多。
[0085] 表1本发明方法与FRC分类结果正确率的对比
[0086]测试图像 本发明方法 FRC
纹理图像(1) 96.43 95.21
纹理图像(2) 99.02 95.77
[0087] 在表1可以看出,本发明方法的正确率要比FRC要高,表明本发明能有效解决纹理图像分类的问题。