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

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

【技术实现步骤摘要】

本专利技术涉及农业信息学领域,具体涉及一种改进型基因表达式编程-模糊C均值作物数据分类方法,适用于特征用实数描述的各种作物信息的分类或识别。
技术介绍
作物数据样本的分类或识别对于作物学研究和农业生产管理具有重要意义。聚类是实现分类与识别的主要方法,而在众多的聚类算法中,模糊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”因其算法简单且收敛速度快而被广泛使用,但使用欧式距离无法很好对多维数据进行距离衡量,同时容易陷入局部极值,所以分类准确率需要进一步提高。聚类的样本数据集往往具有多个描述属性的特征,每个特征对于样本被成功聚类的贡献程度有所不同,此时使用欧式距离或余弦相似度进行距离计算就略显不足。目前的改进思路大都是通过引入信息熵的概念设置权值,并对FCM中的距离计算式进行改写,如“王国伟,闫丽,姚玉霞.基于熵权法加权的模糊C均值聚类算法研究[J].农业网络信息,2010(8):148-150.”,聚类效果较用欧式距离时略有提高,但未考虑求解过程中的耗时问题。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进行优化,但解决问题集中在图像处理上,且分割效果不够理想。
技术实现思路
本专利技术为克服上述技术中存在的不足之处,提供一种改进型基因表达式编程-模糊C均值作物数据分类方法,一方面能够更好地对作物数据间的距离进行衡量,大大提高分类结果的准确率;另一方面,能够以更少的迭代次数获得最佳的分类结果。本专利技术为解决技术问题采用如下技术方案:本专利技术一种改进型基因表达式编程-模糊C均值作物数据分类方法的特点是按如下步骤进行:步骤1:将待分类的作物数据集合记为X={x1,x2,…,xi,…,xn本文档来自技高网
...

【技术保护点】
一种改进型基因表达式编程‑模糊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:si,j=e-d(xi,xj)p×μi,j---(1)]]>式(1)中,μi,j表示第i个作物数据xi与第j个作物数据xj之间的标准偏差;p表示作物数据属性的个数;d(xi,xj)表示第i个作物数据xi与第j个作物数据xj之间的距离,并有:d(xi,xj)=Σe=1p(xie,xje)m---(2)]]>式(2)中,m=2或3;xie表示第i个作物数据的第e个属性;xje表示第j个作物数据的第e个属性;步骤2、利用式(3)计算第i个作物数据xi与第j个作物数据xj之间的信息熵Hi,j:Hi,j=-1ln2[si,j×lnsi,j+(1-si,j)×ln(1-si,j)]---(3)]]>步骤3、利用式(4)计算作物数据集合X的平均信息熵H:H=1n2Σi=1nΣj=1nHi,j---(4)]]>步骤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个聚类中心之间的加权距离Dri(s)(l)=Σt=1p(ωtxit,vrt(s)(l))m---(5)]]>步骤10.2、利用式(6)获得第i个作物数据xi对第l代第s个个体的第r个聚类中心的隶属度从而获得第l代第s个个体的隶属度矩阵Uri(s)(l)=1/Σz=1c(Dri(s)(l)/Dzi(s)(l))2m-1---(6)]]>步骤10.3、利用式(7)获得第l代第s个个体的适应度值Fs(l)=1/Σi=1nΣr=1c(Uri(s)(l))m(Dri(s)(l))2---(7)]]>步骤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类数据的聚类中心Vr(a)(l)=Σb=1w(Urb′(a)(l))mxb(a)(l)(r)Σb=1w(Urb′(a)(l))m---...

【技术特征摘要】
1.一种改进型基因表达式编程-模糊C均值作物数据分类方法,其特征是按如下步骤...

【专利技术属性】
技术研发人员:江朝晖李婷婷闵文芳饶元马友华
申请(专利权)人:安徽农业大学
类型:发明
国别省市:安徽;34

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1