人工鱼群是一种随机搜索优化算法,具有较快的收敛速度,对问题的机理模型与描述无严格要求,具有广泛的应用范围。本文在该算法的基础上,结合传统的K-means聚类方法,提出了一种新的人工鱼群混合聚类算法(AFSMC),并给出相对熵混合聚类优化方法。文中将几种算法应用于大型水泵数据的分类,算例分析表明,基于相对熵的AFSMC算法在准确率与时间效益上都具有较明显的优越性。 Artificial Fish Swarm (AFS) is a stochastic search optimization algorithm with a fast convergence speed, and it is widely used in different areas due to its tolerance for descriptions and mechanism model of questions. In this paper, we propose a new clustering algorithm called Artificial Fish Swarm Mixed Clustering (AFSMC) by performing a combination of AFS and similarity based K-means. And we further propose a relative entropy based optimization method for AFSMC. Finally, we evaluate our proposal by conducting classification on the real data of large scale water pump, which is a new thought for analyzing the potential correlations among the different pumps. The experimental results show that our proposal outperforms the existing clustering approaches.
单丽1*,杨栋梁2,姚磊2,于文文1,段长余1
1合肥恒大江海泵业股份有限公司,大型潜水电泵装备安徽省重点实验室,安徽 合肥
2合肥三益江海智能科技有限公司,安徽 合肥
收稿日期:2016年12月8日;录用日期:2016年12月21日;发布日期:2016年12月29日
人工鱼群是一种随机搜索优化算法,具有较快的收敛速度,对问题的机理模型与描述无严格要求,具有广泛的应用范围。本文在该算法的基础上,结合传统的K-means聚类方法,提出了一种新的人工鱼群混合聚类算法(AFSMC),并给出相对熵混合聚类优化方法。文中将几种算法应用于大型水泵数据的分类,算例分析表明,基于相对熵的AFSMC算法在准确率与时间效益上都具有较明显的优越性。
关键词 :人工鱼群算法,相对熵,混合聚类,大型水泵
大型水泵是一种重要的防水、治水设备,是水利、矿山等部门安全生产的重要保障。目前对于大型水泵的物联网建设及实时运行数据管理,主要是从使用方的角度,即是基于某一泵站若干台设备进行的,实现实时监控、智能预警、报警等功能 [
K-means算法是一种经典的聚类分析算法 [
本文以AFS为主体,融合了K-means算法,提出了一种新的人工鱼群混合聚类算法(AFSMC)。并根据大型水泵数据特点,采用相对熵作为距离度量,对该算法做新一步的优化。利用合肥恒大江海泵业股份有限公司的真实数据,构建仿真实验对几种聚类方法进行验证,算例分析表明,采用相对熵度量的AFSMC兼具聚类的准确性和快速性,在大型水泵数据的聚类分析上具有很好的应用前景。
K-means是一种常用的聚类分析算法 [
该算法的最大优势在于简洁和快速。算法的关键在于初始中心的选择和距离公式。一般K-means聚类算法选择欧氏距离作为最常见的距离度量,衡量的是多维空间中各个点之间的绝对距离。
1: 适当选择k个类的初始中心; |
---|
2: 在某次迭代中,对任意一个样本,求其到k个中心的距离,将该样本归到距离最短的中心所在的类; |
3: 利用均值等方法更新该类的中心值; |
4: 对于所有的k个聚类中心,如果利用2、3的迭代法更新后,值保持不变,则迭代结束,否则继续迭代。 |
表1. K-means聚类算法
人工鱼群算法 [
采用面向对象技术重构人工鱼模型,将人工鱼封装成变量和函数两部分。表2、表3分别给出人工鱼模型中变量部分和函数部分定义。
人工鱼基本行为描述
① 随机行为Rand()
是作为人工鱼在觅食行为Prey()中的缺省行为,是在解空间中随机寻找大于自身状态的行为。
② 觅食行为Prey()
通过视觉或味觉来感知水中的食物量或浓度进而来选择趋向。设人工鱼i当前状态为
若Yi< Ytry,则向该方向前进一步:
反之,再重新随机选择状态
③ 聚群行为Swarm()
鱼在游动过程中为保证群体的生存和躲避危害,会自然的聚集成群。在算法中对该行为中的人工鱼有如下规定:一是尽量向邻近伙伴的中心移动;二是避免过分拥挤。设人工鱼当前状态为
否则,执行觅食行为。
④ 追尾行为Follow()
追尾行为是一种向邻近的有着最高适应度的人工鱼追逐的行为,在寻优算法中可以理解为是向附近
总数 | N |
---|---|
个体状态 |
|
人工鱼条数 | Total |
移动最大步长 | Step |
视野 | Visual |
尝试次数 | Try_Number |
拥挤度因子 |
|
人工鱼个体间距 |
|
表2. 人工鱼参数
食物浓度 |
|
---|---|
觅食行为 | Prey() |
聚群行为 | Swarm() |
追尾行为 | Follow() |
随机行为 | Rand() |
行为评价 | Evaluate() |
表3. 人工鱼函数
的最优伙伴前进的过程。设人工鱼当前状态为
否则,执行觅食行为。
由K-means模型给出分类模型结构,AFS算法将给出的模型在解空间中循环迭代到最优,由此消除K-means初始化随机性的影响,发挥AFS全局寻优特性。一条鱼代表一个K-means分类模型,若干鱼组成一个鱼群,在所有训练实例域空间中,每个鱼都各自按照一定的原则寻找最优值,循环修正自己的K-means模型,并将最优值对应的模型记录在公告板,直到达到迭代次数以后,公告板上模型即为最后的分类最优模型。算法流程如图1所示。
每条鱼中包含的参数除了基本AFS算法参数以外,还有K-means聚类模型
图1. 人工鱼群混合聚类算法(AFSMC)流程图
人工鱼按照一定规则在解空间中游动,比较执行觅食、聚群、追尾等行为。为使得鱼群能够最大范围覆盖到最优解,鱼群需要保持一个合适的密度,即人工鱼之间要保持相应的距离。每条人工鱼以自己状态为中心,搜索视野范围
计算两条人工鱼的相对熵距离,假设p,q代表两条不同状态的人工鱼,每条鱼的k分类模型编码为
则可计算两条鱼的概率分布
进一步可计算得两条鱼之间的相对熵:
相对熵越大,两条人工鱼的状态模型差异越大;反之,差异越小。
用欧式距离或相对熵距离法判别视野范围Visual的其他人工鱼,在Visual范围内计算人工鱼基本行为,评估并执行最优的人工鱼基本行为,得到此人工鱼最新的参数模型
1) 对大型水泵数据进行清理和集成,经过分析后选择其中5种不同类型水泵作为实验数据,汇总后数据集共包括6个属性,最后一个属性标记其真实类别;
2) 算法参数设置,人工鱼群的个体数Total = 15,迭代次数iterate_times = 2,尝试次数Try_number = 30,聚类中心个数K = 5,人工鱼群移动的最大步长,相对熵距离:Step = 60、视野范围Visual = 200,欧式距离:Step = 10、视野范围Visual = 2500,拥挤度因子
分别实现基本的K-means算法,基于欧氏距离的AFSMC算法和基于相对熵的AFSMC算法,应用于大型水泵数据集。
三种算法得出的聚类中心结果分别如表4、表5和表6所示。对比发现,三种算法给出的聚类中心大致吻合,证明了算法及仿真的可靠性。将聚类分析结果与水泵真实类型相比较,三种聚类方法的准确率分别为:K-means算法0.80;基于欧式距离AFSMC模型0.91;基于相对熵AFSMC模型0.96。证明三种算法均具有一定的有效性,且本文提出的基于相对熵AFSMC算法具有更高的准确率,并且其准确性也高于文献 [
中心 | 人工鱼(×1.0e+04) | ||||
---|---|---|---|---|---|
Center1 | 0.0576337 | 0.0545036 | 0.1276827 | 1.0260385 | 0.0097891 |
Center2 | 0.0219722 | 0.0571446 | 0.0502595 | 0.6014273 | 0.0057776 |
Center3 | 0.0003189 | 1.0512171 | 0.0130227 | 0.0380193 | 0.0257085 |
Center4 | 0.0968742 | 0.0311806 | 0.1210063 | 0.9876387 | 0.0089693 |
Center5 | 0.0253718 | 0.0575048 | 0.0587409 | 1.0003554 | 0.0043071 |
表4. K-means算法聚类中心结果
中心 | 人工鱼(×1.0e+04) | ||||
---|---|---|---|---|---|
Center1 | 0.0651670 | 0.0314778 | 0.1071545 | 1.0332536 | 0.0086398 |
Center2 | 0.0227489 | 0.0486605 | 0.0470335 | 0.5873838 | 0.0054763 |
Center3 | 0.0003531 | 1.0664919 | 0.0133296 | 0.0390437 | 0.0264963 |
Center4 | 0.0506997 | 0.0706579 | 0.1404607 | 1.0190835 | 0.0104566 |
Center5 | 0.0181779 | 0.0852772 | 0.0683022 | 0.9989775 | 0.0050150 |
表5. 基于欧式距离AFSMC聚类中心结果
中心 | 人工鱼(×1.0e+04) | ||||
---|---|---|---|---|---|
Center1 | 0.0727024 | 0.0427193 | 0.1323379 | 0.9958218 | 0.0096672 |
Center2 | 0.0237896 | 0.0484455 | 0.0471812 | 0.6018432 | 0.0054278 |
Center3 | 0.0003610 | 1.0348928 | 0.0140044 | 0.0381490 | 0.0278141 |
Center4 | 0.0540214 | 0.0619098 | 0.1294160 | 1.0232266 | 0.0097573 |
Center5 | 0.0235000 | 0.0760597 | 0.0704117 | 0.9985826 | 0.0051498 |
表6. 基于相对熵AFSMC聚类中心结果
图2. 两种人工鱼群混合算法(AFSMC)的收敛曲线对比
本文结合人工鱼群算法(AFS)和K-means聚类分析算法,提出一种新的人工鱼群混合聚类算法(AFSMC),并给出利用相对熵作为距离度量的优化方法。将几种聚类算法应用于真实的大型水泵数据集,算例结果表明:
1) 几种算法在大型水泵的聚类分析上均具有相当的有效性;
2) AFSMC在准确率上较传统的K-means聚类方法有明显的提高;
3) 利用相对熵优化的AFSMC比采用欧式距离的AFSMC具有更高的准确率和收敛速度。
本项目为“安徽省自然科学基金资助项目,项目编号1408085MKL82”,在此表示感谢。
单 丽,杨栋梁,姚 磊,于文文,段长余. 基于人工鱼群混合聚类的大型水泵分类研究 Research of Large-Scale Water Pump Classification Based on Artificial Fish Swarm Mixed Clustering[J]. 计算机科学与应用, 2016, 06(12): 794-801. http://dx.doi.org/10.12677/CSA.2016.612095
https://doi.org/10.1038/scientificamerican0682-114
https://doi.org/10.1145/192161.192170
https://doi.org/10.1016/j.patcog.2011.05.011