一种改进型基因表达式编程-模糊C均值作物数据分类方法转让专利

申请号 : CN201610206166.8

文献号 : CN105912887B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 江朝晖李婷婷闵文芳饶元马友华

申请人 : 安徽农业大学

摘要 :

本发明公开了一种改进型基因表达式编程‑模糊C均值作物数据分类方法,使用自定义的相似度衡量计算公式并结合信息熵,计算作物数据属性的权值向量;使用加权的距离计算公式替代传统的欧式距离,并将基因表达式编程与模糊C均值算法相结合求出最佳的聚类中心对作物数据进行分类。本发明一方面能够更好地对作物数据间的距离进行衡量,大大提高分类结果的准确率;另一方面,能够以更少的迭代次数获得最佳的分类结果。

权利要求 :

1.一种改进型基因表达式编程-模糊C均值作物数据分类方法,其特征是按如下步骤进行:步骤1:将待分类的作物数据集合记为X={x1,x2,…,xi,…,xn};xi表示第i个作物数据;

且xi={xi1,xi2,…,xik,…,xip};xik表示第i个作物数据的第k个属性;1≤i≤n;1≤k≤p;利用式(1)计算第i个作物数据xi与第j个作物数据xj之间的相似度si,j:式(1)中,μi,j表示第i个作物数据xi与第j个作物数据xj之间的标准偏差;p表示作物数据属性的个数;d(xi,xj)表示第i个作物数据xi与第j个作物数据xj之间的距离,并有:式(2)中,m=2或3;xie表示第i个作物数据的第e个属性;xje表示第j个作物数据的第e个属性;

步骤2、利用式(3)计算第i个作物数据xi与第j个作物数据xj之间的信息熵Hi,j:步骤3、利用式(4)计算作物数据集合X的平均信息熵H:步骤4、定义变量K,并初始化K=1;令k=1;

步骤5、从所述作物数据集合X中删除n个作物数据中的第k个属性;从而获得第K次更新的作物数据集合X(K);

步骤6、计算所述第K次更新的作物数据集合X(K)的平均信息熵H(K),并求出Δ(K)=H-H(K);以Δ(K)作为权值向量的第K个值ωK;

步骤7、判断k>p是否成立,若成立,则表示获得权值向量ω;否则,将k+1赋值给k;K+1赋值给K后,返回步骤5顺序执行;

步骤8、参数设置:

定义种群大小为S、最大迭代次数为θ、进化次数为l;初始化h、S和θ均为正整数;l=0;

步骤9、随机生成由S个个体组成的初始种群;

定义个体结构是由适应度值和基因组成;所述基因划分为基因头部和基因尾部;所述基因头部是由函数符号集F={∩,∪}中随机获得长度为h的函数符,所述基因尾部是由所述作物数据集合X中随机获得;初始适应度值设置为0;

步骤10、适应度计算:

步骤10.1、对第l代的S个个体中任意第s个个体的基因进行解码,获得第l代第s个个体的c个聚类中心,记为 表示第l代第s个个体的第r个聚类中心;且 表示第l代第s个个体的第r个聚类中

心的第t个属性;1≤r≤c;1≤t≤p;

利用式(5)获得第i个作物数据xi到第l代第s个个体的第r个聚类中心 之间的加权距离步骤10.2、利用式(6)获得第i个作物数据xi对第l代第s个个体的第r个聚类中心 的隶属度 从而获得第l代第s个个体的隶属度矩阵步骤10.3、利用式(7)获得第l代第s个个体的适应度值步骤10.4、重复步骤10.1-步骤10.3,从而获得第l代S个个体的适应度值,并标记拥有第l代最高适应度值的个体为B(l)和第l代最低适应度值的个体为W(l);

步骤11、遗传操作:

步骤11.1、利用轮盘赌将第l代最低适应度值的个体W(l)替换为第l代最高适应度值的个体B(l)后的S个个体进行选择操作;

步骤11.2、根据单点重组概率对完成选择操作后的第l代S个个体进行单点重组操作;

步骤11.3、根据变异概率对完成单点重组操作后的第l代S个个体进行变异操作,从而获得完成变异操作后的第l代S个个体;若变异过程中任一个体基因头部的第一位出现“∩”的函数符,则重新对相应个体进行变异操作;

步骤12、生成新一代种群:

步骤12.1、对完成变异操作后的第l代S个个体中任意第a个个体的基因进行解码,获得第l代第a个个体的c个聚类中心,记为 表示完成变异操作后的第l代第a个个体的第r个聚类中心;

步骤12.2、获得第i个作物数据xi对第l代第a个个体的第r个聚类中心 的隶属度从而获得第l代第a个个体的隶属度矩阵步骤12.3、根据第l代第a个个体的隶属度矩阵 对作物数据集合X划分为c类数据;

步骤12.4、利用式(8)计算第l代第a个个体的c类数据中第r类数据的聚类中心式(8)中, 表示第l代第a个个体的第r类数据中第b个作物数据;且第l代第a个个体的第r类数据中共有w个作物数据;

步骤12.5、重复步骤12.2-步骤12.4,从而获得完成变异操作后的第l代第a个个体的c类数据的c个聚类中心;

步骤12.6、对所述完成变异操作后的第l代第a个个体的c类数据的c个聚类中心进行编码,获得第l+1代第a个个体的基因;

步骤12.7、重复步骤12.1-步骤12.6,从而获得第l+1代S个个体的基因;

步骤13、判断l+1>θ是否成立,若成立,则执行步骤14;若不成立,则将l+1赋值给l,并返回步骤10顺序执行;

步骤14、对第l+1代S个个体的基因进行适应度计算,获得拥有第l+1代最高适应度值的个体为B(l+1),并对第l+1代最高适应度值的个体B(l+1)的基因进行解码,获得第l+1代个体B(l+1)的c个聚类中心;根据第l+1代个体B(l+1)的隶属度矩阵对作物数据集合X划分为c类数据;

并将分类结果输出。

说明书 :

一种改进型基因表达式编程-模糊C均值作物数据分类方法

技术领域

[0001] 本发明涉及农业信息学领域,具体涉及一种改进型基因表达式编程-模糊C均值作物数据分类方法,适用于特征用实数描述的各种作物信息的分类或识别。

背景技术

[0002] 作物数据样本的分类或识别对于作物学研究和农业生产管理具有重要意义。聚类是实现分类与识别的主要方法,而在众多的聚类算法中,模糊C均值聚类(FCM)“Dunn J C.A fuzzy relative of the ISODATA process and its use in detecting compact well-separated clusters[J].1973,3(3):32-57”因其算法简单且收敛速度快而被广泛使用,但使用欧式距离无法很好对多维数据进行距离衡量,同时容易陷入局部极值,所以分类准确率需要进一步提高。
[0003] 聚类的样本数据集往往具有多个描述属性的特征,每个特征对于样本被成功聚类的贡献程度有所不同,此时使用欧式距离或余弦相似度进行距离计算就略显不足。目前的改进思路大都是通过引入信息熵的概念设置权值,并对FCM中的距离计算式进行改写,如“王国伟,闫丽,姚玉霞.基于熵权法加权的模糊C均值聚类算法研究[J].农业网络信息,2010(8):148-150.”,聚类效果较用欧式距离时略有提高,但未考虑求解过程中的耗时问题。
[0004] FCM算法采用梯度法求解极值,结果往往是局部最优,而得不到全局最优解。群体智能优化算法能够同时设定多组可行解,在求解过程中个体间相互影响、共同优化,不断趋近最优解,因而将FCM与此类算法结合是解决全局寻优的一种可行办法,例如专利“毛力,李引.基于量子粒子群优化改进的模糊C-均值聚类方法[P].中国,201210277058.1,2012-12-19”。基因表达式编程(Gene Expression  Programming,GEP)“Ferreira C.Gene Expression Programming:A New Adaptive Algorithm for solving problems[J].Complex Systems,2001,13(2):87-129.”是一种新型的群体智能优化算法,融合了遗传算法和遗传程序设计的优点,使用简单编码解决复杂问题,具有很高的求解精度和速度。而文献“古凌岚.面向大数据集的有效聚类算法[J].计算机工程与设计,2014,35(6):2183-
2187.”采用GEP和FCM混合算法对大数据的子集进行聚类,但算法中没有考虑到个体的重复和有效性问题,且没有对聚类结果进行准确性评价。文献“刘海涛,元昌安,刘海龙,等.基于GEP的遥感数字图像模糊聚类研究[J].计算机工程,2010,36(10):199-200.”利用GEP的全局搜索能力对FCM进行优化,但解决问题集中在图像处理上,且分割效果不够理想。

发明内容

[0005] 本发明为克服上述技术中存在的不足之处,提供一种改进型基因表达式编程-模糊C均值作物数据分类方法,一方面能够更好地对作物数据间的距离进行衡量,大大提高分类结果的准确率;另一方面,能够以更少的迭代次数获得最佳的分类结果。
[0006] 本发明为解决技术问题采用如下技术方案:
[0007] 本发明一种改进型基因表达式编程-模糊C均值作物数据分类方法的特点是按如下步骤进行:
[0008] 步骤1:将待分类的作物数据集合记为X={x1,x2,…,xi,…,xn};xi表示第i个作物数据;且xi={xi1,xi2,…,xik,…,xip};xik表示第i个作物数据的第k个属性;1≤i≤n;1≤k≤p;利用式(1)计算第i个作物数据xi与第j个作物数据xj之间的相似度si,j:
[0009]
[0010] 式(1)中,μi,j表示第i个作物数据xi与第j个作物数据xj之间的标准偏差;p表示作物数据属性的个数;d(xi,xj)表示第i个作物数据xi与第j个作物数据xj之间的距离,并有:
[0011]
[0012] 式(2)中,m=2或3;xie表示第i个作物数据的第e个属性;xje表示第j个作物数据的第e个属性;
[0013] 步骤2、利用式(3)计算第i个作物数据xi与第j个作物数据xj之间的信息熵Hi,j:
[0014]
[0015] 步骤3、利用式(4)计算作物数据集合X的平均信息熵H:
[0016]
[0017] 步骤4、定义变量K,并初始化K=1;令k=1;
[0018] 步骤5、从所述作物数据集合X中删除n个作物数据中的第k个属性;从而获得第K次更新的作物数据集合X(K);
[0019] 步骤6、计算所述第K次更新的作物数据集合X(K)的平均信息熵H(K),并求出Δ(K)=H-H(K);以Δ(K)作为权值向量的第K个值ωK;
[0020] 步骤7、判断k>p是否成立,若成立,则表示获得权值向量ω;否则,将k+1赋值给k;K+1赋值给K后,返回步骤5顺序执行;
[0021] 步骤8、参数设置:
[0022] 定义种群大小为S、最大迭代次数为θ、进化次数为l;初始化h、S和θ均为正整数;l=0;
[0023] 步骤9、随机生成由S个个体组成的初始种群;
[0024] 定义个体结构是由适应度值和基因组成;所述基因划分为基因头部和基因尾部;所述基因头部是由函数符号集F={∩,∪}中随机获得长度为h的函数符,所述基因尾部是由所述作物数据集合X中随机获得;初始适应度值设置为0;
[0025] 步骤10、适应度计算:
[0026] 步骤10.1、对第l代的S个个体中任意第s个个体的基因进行解码,获得第l代第s个个体的c个聚类中心,记为 表示第l代第s个个体的第r个聚类中心;且 表示第l代第s个个体的第r个聚类
中心的第t个属性;1≤r≤c;1≤t≤p;
[0027] 利用式(5)获得第i个作物数据xi到第l代第s个个体的第r个聚类中心 之间的加权距离
[0028]
[0029] 步骤10.2、利用式(6)获得第i个作物数据xi对第l代第s个个体的第r个聚类中心的隶属度 从而获得第l代第s个个体的隶属度矩阵
[0030]
[0031] 步骤10.3、利用式(7)获得第l代第s个个体的适应度值Fs(l):
[0032]
[0033] 步骤10.4、重复步骤10.1-步骤10.3,从而获得第l代S个个体的适应度值,并标记拥有第l代最高适应度值的个体为B(l)和第l代最低适应度值的个体为W(l);
[0034] 步骤11、遗传操作:
[0035] 步骤11.1、利用轮盘赌将第l代最低适应度值的个体W(l)替换为第l代最高适应度值的个体B(l)后的S个个体进行选择操作;
[0036] 步骤11.2、根据单点重组概率对完成选择操作后的第l代S个个体进行单点重组操作;
[0037] 步骤11.3、根据变异概率对完成单点重组操作后的第l代S个个体进行变异操作,从而获得完成变异操作后的第l代S个个体;若变异过程中任一个体基因头部的第一位出现“∩”的函数符,则重新对相应个体进行变异操作;
[0038] 步骤12、生成新一代种群:
[0039] 步骤12.1、对完成变异操作后的第l代S个个体中任意第a个个体的基因进行解码,获得第l代第a个个体的c个聚类中心,记为 表示完成变异操作后的第l代第a个个体的第r个聚类中心;
[0040] 步骤12.2、获得第i个作物数据xi对第l代第a个个体的第r个聚类中心 的隶属度 从而获得第l代第a个个体的隶属度矩阵
[0041] 步骤12.3、根据第l代第a个个体的隶属度矩阵 对作物数据集合X划分为c类数据;
[0042] 步骤12.4、利用式(8)计算第l代第a个个体的c类数据中第r类数据的聚类中心Vr(a)(l):
[0043]
[0044] 式(8)中, 表示第l代第a个个体的第r类数据中第b个作物数据;且第l代第a个个体的第r类数据中共有w个作物数据;
[0045] 步骤12.5、重复步骤12.2-步骤12.4,从而获得完成变异操作后的第l代第a个个体的c类数据的c个聚类中心;
[0046] 步骤12.6、对所述完成变异操作后的第l代第a个个体的c类数据的c个聚类中心进行编码,获得第l+1代第a个个体的基因;
[0047] 步骤12.7、重复步骤12.1-步骤12.6,从而获得第l+1代S个个体的基因;
[0048] 步骤13、判断l+1>θ是否成立,若成立,则执行步骤14;若不成立,则将l+1赋值给l,并返回步骤10顺序执行;
[0049] 步骤14、对第l+1代S个个体的基因进行适应度计算,获得拥有第l+1代最高适应度值的个体为B(l+1),并对第l+1代最高适应度值的个体B(l+1)的基因进行解码,获得第l+1代个体B(l+1)的c个聚类中心;根据第l+1代个体B(l+1)的隶属度矩阵对作物数据集合X划分为c类数据;并将分类结果输出。
[0050] 与已有技术相比,本发明有益效果体现在:
[0051] 1、本发明使用自定义的相似度衡量计算公式并结合信息熵,计算作物数据属性的权值向量;使用加权的距离计算公式替代传统的欧式距离,并将基因表达式编程与模糊C均值算法相结合求出最佳的聚类中心对作物数据进行分类,一方面能够更好地对作物数据间的距离进行衡量,大大提高了作物数据分类的准确率;另一方面,能够以更少的迭代次数获得最佳的分类结果。
[0052] 2、本发明通过采用加权的距离衡量公式来替代欧氏距离,使用步骤1-步骤7计算权值,克服了模糊C均值算法中常用的欧式距离无法很好对多维数据进行距离衡量的问题,从而大大提高了分类的正确率;
[0053] 3、本发明通过相似度计算式中引入数据的标准偏差可以对作物数据进行标准化,从而消除了数据属性的不同量纲对相似度值的影响;
[0054] 4、本发明在步骤4-步骤7中仅通过平均信息熵即可得到能用来衡量权重的量化的值,从而简少了求取权值的计算量;
[0055] 5、本发明采用基因表达式编程算法求模糊C均值中的聚类中心,克服了模糊C均值采用梯度法求解极值,结果往往是局部的问题,从而实现了全局寻优,并且能够大大减少了求解过程的迭代次数;
[0056] 6、本发明步骤9中采用由适应度值和基因组成的个体结构,实现了将目标函数和聚类中心的捆绑,找到所标记的适应度值最高的个体即可获得最佳的聚类中心,从而简化了分类过程,提高了分类速度;
[0057] 7、本发明步骤10中定义的适应度函数实为模糊C均值中目标函数的倒数,根据适应度值的变化快慢可以明显地看出求解最佳聚类中心过程的速度,从而轻易观察出分类所需的最大迭代次数,通过设置合适的迭代次数减少了算法运行的时间;
[0058] 8、本发明步骤11.1中将每代最低适应度值的个体替换为该代中最高适应度值的个体,能够在一定程度上提高下一代种群的质量,从而加速最佳聚类中心的形成,减少了算法运行的时间;
[0059] 9、本发明步骤11.3中在变异过程对个体基因头部进行检测,能够阻止无效个体的出现,从而保证了种群的质量,提高了最佳聚类中心的形成速度。

附图说明

[0060] 图1为本发明方法的总体流程图;
[0061] 图2为本发明使用自定义的距离衡量算式进行权值计算的流程图;
[0062] 图3为本发明自定义的个体结构示意图。

具体实施方式

[0063] 本实施例中,一种改进型基因表达式编程-模糊C均值作物数据分类方法过程如下:结合UCI数据库中的Iris数据集对本发明的实施方式做详细地说明,图1是总体流程图,实施过程借助MATLAB编程实现。
[0064] 步骤1:将待分类的作物数据集合记为X={x1,x2,…,xi,…,xn};xi表示第i个作物数据;且xi={xi1,xi2,…,xik,…,xip};xik表示第i个作物数据的第k个属性;1≤i≤n;1≤k≤p;将Iris数据集记为X,由于Iris数据集分为Setosa、Versicolour和Virginica3类共150组数据,且每组数据均由花瓣长、宽和花萼的长、宽4个属性描述,故X={x1,x2,…,xi,…,x150},且xi={xi1,…,xik,…,xi4}。下面结合图2中本发明的自定义的距离衡量算式进行权值计算。
[0065] 利用式(1)计算第i个作物数据xi与第j个作物数据xj之间的相似度si,j,使用相似度si,j能够更加准确地描述不同类作物数据间的差异性:
[0066]
[0067] 式(1)中,μi,j表示第i个作物数据xi与第j个作物数据xj之间的标准偏差,使用μi,j可以消除不同属性的不同量纲对相似度的影响;p表示作物数据属性的个数;d(xi,xj)表示第i个作物数据xi与第j个作物数据xj之间的距离,并有:
[0068]
[0069] 式(2)中,m=2或3;xie表示第i个作物数据的第e个属性;xje表示第j个作物数据的第e个属性;例如,当i=1,j=15时,Iris数据集X中的x1=(5.1,3.5,1.4,0.2),x15=(4.3,3,1.1,0.1),在m=2时,由式(2)可计算得到x1和x15之间的距离为d(x1,x15)=0.99,由式(1)可计算得到x1和x15之间的相似度为s1,15=0.8174;
[0070] 步骤2、利用式(3)计算第i个作物数据xi与第j个作物数据xj之间的信息熵Hi,j:
[0071]
[0072] 本实施例中,利用式(3)计算可得x1和x15之间的信息熵为H1,15=0.6857;
[0073] 步骤3、利用式(4)计算作物数据集合X的平均信息熵H:
[0074]
[0075] 本实施例中,利用式(4)计算可得Iris数据集X的平均信息熵H=0.7861;
[0076] 步骤4、定义变量K,并初始化K=1;令k=1;
[0077] 步骤5、从作物数据集合X中删除n个作物数据中的第k个属性;从而获得第K次更新的作物数据集合X(K);
[0078] 步骤6、计算第K次更新的作物数据集合X(K)的平均信息熵H(K),并求出Δ(K)=H-H(K);以Δ(K)作为权值向量的第K个值ωK;
[0079] 步骤7、判断k>p是否成立,若成立,则表示获得权值向量ω;否则,将k+1赋值给k;K+1赋值给K后,返回步骤5顺序执行;
[0080] 本实施例中,对于Iris数据集X,在步骤4-步骤7的执行过程中,有H(1)=0.7793,H(2)=0.7723,H(3)=0.7461,H(4)=0.8470;从而Δ(1)=-0.0068,Δ(2)=-0.0138,Δ(3)=-0.0400,Δ(4)=0.0609;即Iris数据集X的权值向量为ω=(-0.0068,-0.0138,-0.0400,
0.0609);
[0081] 步骤8、参数设置:
[0082] 定义种群大小为S、最大迭代次数为θ、进化次数为l;初始化h、S和θ均为正整数;l=0;
[0083] 实施时设置种群大小为S=30,种群大小一般设置在30到50之间,种群过小会导致进化次数变长,反之,运行时间将变长;设置最大迭代次数为θ=100;h=5;
[0084] 步骤9、随机生成由S个个体组成的初始种群;
[0085] 定义个体结构是由适应度值和基因组成;基因划分为基因头部和基因尾部;基因头部是由函数符号集F={∩,∪}中随机获得长度为h的函数符,基因尾部是由作物数据集合X中随机获得;初始适应度值设置为0;
[0086] 如图3所示,本实施例中,定义S=30个个体,对于每个个体,先随机生成长度为h=5的函数符号串作为基因头部,再从Iris数据集X中随机选择6组数据作为基因尾部,这里选择6组是因为在基因表达式编程中有:基因尾部长度=基因头部长度+1,最后,设置适应度值为0;
[0087] 步骤10、适应度计算:
[0088] 步骤10.1、对第l代的S个个体中任意第s个个体的基因进行解码,获得第l代第s个个体的c个聚类中心,记为 表示第l代第s个个体的第r个聚类中心;且 表示第l代第s个个体的第r个聚类
中心的第t个属性;1≤r≤c;1≤t≤p;
[0089] 这里,对第l=0代中的第s=1个个体的基因进行解码,获得第l=0代中的第s=1个个体的c=3个聚类中心为
[0090] 利用式(5)获得第i个作物数据xi到第l代第s个个体的第r个聚类中心 之间的加权距离
[0091]
[0092] 则对Iris数据集X中,第i=1个数据x1=(5.1,3.5,1.4,0.2)到第l=0代中的第s=1个个体的第一个聚类中心 之间的加权距离
[0093] 步骤10.2、利用式(6)获得第i个作物数据xi对第l代第s个个体的第r个聚类中心的隶属度 从而获得第l代第s个个体的隶属度矩阵
[0094]
[0095] 本实施例中,第i=1个作物数据x1=(5.1,3.5,1.4,0.2)对第l=0代第s=1个个体的第r=1个聚类中心 的隶属度
[0096] 步骤10.3、利用式(7)获得第l代第s个个体的适应度值Fs(l):
[0097]
[0098] 经计算得第l=0代第s=1个个体的适应度值F1(0)=0.1852;
[0099] 步骤10.4、重复步骤10.1-步骤10.3,从而获得第l代S个个体的适应度值,并标记(l) (l)拥有第l代最高适应度值的个体为B 和第l代最低适应度值的个体为W ;
[0100] 本实施例中,第l=0代S=30个个体中,最高适应度值的个体为B(0)第26个个体,最低适应度值的个体W(0)为第15个个体;
[0101] 步骤11、遗传操作:
[0102] 步骤11.1、利用轮盘赌将第l代最低适应度值的个体W(l)替换为第l代最高适应度值的个体B(l)后的S个个体进行选择操作;在每代种群中,总会有适应度值最高的和最低的个体,遍历种群中的个体,按照适应度值进行排序,将第l=0代最低适应度值的个体W(0)替换为第l=0代最高适应度值的个体B(0)可以加速最佳聚类中心的形成,可以在一定程度上提高第l+1=1代种群的质量;
[0103] 步骤11.2、根据单点重组概率对完成选择操作后的第l代S个个体进行单点重组操作;
[0104] 步骤11.3、根据变异概率对完成单点重组操作后的第l代S个个体进行变异操作,从而获得完成变异操作后的第l代S个个体;若变异过程中任一个体基因头部的第一位出现“∩”的函数符,则重新对相应个体进行变异操作;
[0105] 步骤12、生成新一代种群:
[0106] 步骤12.1、对完成变异操作后的第l代S个个体中任意第a个个体的基因进行解码,获得第l代第a个个体的c个聚类中心,记为 表示完成变异操作后的第l代第a个个体的第r个聚类中心;
[0107] 这里,选择完成变异操作后的第l=0代第a=1个个体的基因进行解码后获得聚类中心
[0108] 步骤12.2、获得第i个作物数据xi对第l代第a个个体的第r个聚类中心 的隶属度 从而获得第l代第a个个体的隶属度矩阵
[0109] 步骤12.3、根据第l代第a个个体的隶属度矩阵 对作物数据集合X划分为c类数据;根据第l=0代第a=1个个体的隶属度矩阵 对Iris数据集X划分为c=3类数据;
[0110] 步骤12.4、利用式(8)计算第l代第a个个体的c类数据中第r类数据的聚类中心Vr(a)(l):
[0111]
[0112] 式(8)中, 表示第l代第a个个体的第r类数据中第b个作物数据;且第l代第a个个体的第r类数据中共有w个作物数据;
[0113] 这里,经计算后,第l=0代第a=1个个体的c=3类数据中第r=1类数据的聚类中心为V1(1)(0)=0.3750,0.5428,0.7931,0.1744);
[0114] 步骤12.5、重复步骤12.2-步骤12.4,从而获得完成变异操作后的第l代第a个个体的c类数据的c个聚类中心;
[0115] 步骤12.6、对完成变异操作后的第l代第a个个体的c类数据的c个聚类中心进行编码,获得第l+1代第a个个体的基因;
[0116] 步骤12.7、重复步骤12.1-步骤12.6,从而获得第l+1代S个个体的基因;
[0117] 步骤13、判断l+1>θ是否成立,若成立,则执行步骤14;若不成立,则将l+1赋值给l,并返回步骤10顺序执行;
[0118] 步骤14、对第l+1代S个个体的基因进行适应度计算,获得拥有第l+1代最高适应度值的个体为B(l+1),并对第l+1代最高适应度值的个体B(l+1)的基因进行解码,获得第l+1代个体B(l+1)的c个聚类中心;根据第l+1代个体B(l+1)的隶属度矩阵对作物数据集合X划分为c类数据;并将分类结果输出。
[0119] 对Iris数据集X的最终分类结果如表1所示,为了说明本方法的性能,将本方法IGEPFCM与FCM-欧式距离法、FCM-GEP-欧氏距离法对Iris数据集X的分类结果进行对比,如表1所示:
[0120] 表1 Iris分类正确数对比
[0121]
[0122] 由表1的Iris分类结果可知,三种分类方法均能将Iris数据集中的Setosa类准确无误的分出来。由于Versicolour与Virginica在某些属性上相似度较高,使用欧式距离衡量的FCM算法分类效果较差。通过GEP的方式则明显提高了两者的识别率,当欧氏距离换成加权距离时,正确分类数又有了进一步的提高。
[0123] 使用本发明方法对UCI数据库中Seeds数据集进行分类实验,Seeds包含Kama、Rosa和Canadian在内的3类小麦种子各70组、共210组数据,每个数据由面积、周长、紧凑程度、核槽长度、内核的长、宽和不对称系数这7个属性进行描述。对Seeds数据集的分类结果如表2所示:
[0124] 表2 Seeds分类正确数对比
[0125]
[0126] 可见本发明对Kama、Rosa和Canadian品种的分类准确率分别为:91.4%、92.9%和94.3%,其中对Rosa的成功率较普通的FCM和GEP-FCM分类正确率分别提高7.1%和4.3%。
三种算法虽然对Canadian的正确分类数目相同,但引入GEP算法后被误分类的相对减少。同时使用加权方法后,分类正确数有了明显提高,各类中所含数据样本数也最接近真实情况。
[0127] 选择分类的正确率Cr和平均聚类纯度Purity指标来定量评价分类效果。
[0128] (1)分类正确率的指标Cr,如式(9),其中c为类别数,ci为第i类中正确聚类的数目,n为数据集样本总数;
[0129]
[0130] (2)平均聚类纯度Purity综合考虑各类和类内数据的状态,计算方法为:
[0131]
[0132] 其中, 表示第i类中成功分类的数据数目,|Ci|表示第i类中所含的数据数目,K为类的个数。平均聚类纯度越高,被正确分类的数目越多,被误分的越少,算法的分类效果越好。当平均聚类纯度为1时,说明所有数据点均被正确分类。表3为各分类方法的性能评估,其中,Acy为算法获得最优解时的迭代次数。
[0133] 表3 分类算法性能评估
[0134]
[0135] 可见,引入基因表达式编程后分类的成功率和平均聚类纯度均有所提高。同时,使用加权距离相比欧式距离可以更好地反应数据之间的相似性,从而提高分类效果。另外,基因表达式编程使用种群的概念,同时进行多次搜索,大大减少了求解过程的迭代次数。因此说明本发明方法在对作物数据的分类上表现出优异的性能。