论文部分内容阅读
优化问题已贯穿于社会的各个领域。最初人们都是采用传统的优化方法来解决工程应用中的相关优化问题,随着所要解决的优化问题复杂性的不断增加,传统方法己不能满足需求。在20世纪80年代出现的群智能算法弥补了传统优化方法的缺陷。在群智能算法中,遗传算法(Genetic Algorithm, GA)、蚁群优化(AntColony Optimization, ACO)算法、粒子群优化(Particle Swarm Optimization, PSO)算法以及人工鱼群(Artificial Fish Swarm, AFS)算法都是从高等生物中得到启发而产生的算法,而细菌觅食优化(Bacteria Foraging Optimization, BFO)算法是20世纪末相关学者通过模拟微生物寻找食物源的行为所形成的一种较新的优化方法。聚类分析是一种很重要的数据挖掘技术,它能高效地从一堆数据中提炼出人们所需要的有价值的信息。本文详细介绍了聚类算法的基本原理及其相关基础知识,重点介绍了K-means聚类算法,本文的研究工作主要包括BFO算法和K-means聚类算法的融合以及对BFO算法自身进行改进两方面,具体如下:以改进K-means为出发点,提出了基于BFO算法的K-means聚类算法——K-BFO,其基本思想是:利用BFO算法的全局搜索性,确定初始聚类中心,从而避免了K-means算法随机选取初始聚类中心的弊端。该算法具有四个优点:(1)对包含不同类别大小的数据集不敏感;(2)新算法具有并行性的特点,其收敛速度快;(3)算法可用来处理高维数据聚类的问题;(4)与基于PSO的聚类算法相比较,K-BFO算法过程简单,易于理解,并能取得更好的聚类效果。改进BFO算法。具体包括三方面工作:(1)标准BFO算法的趋向性操作中翻转方向的随机性会直接影响算法的寻优速度,对趋向性操作中随机的选择方向进行改进:让个体向最优方向的细菌学习,若当前没有最好则随机选择方向。(2)标准BFO算法复制操作中,适应度的排序是按照细菌进行一次趋向性操作后个体经过的所有位置的平均适应度排序,这样有可能使得适应度较优的细菌被淘汰,而且也会降低算法的寻优精度。对复制操作改进:按照细菌个体所有位置中的最优适应度值排序,这样可以确保在下一代适应度值最优的细菌个体一定能够被保留,进而提高算法收敛速度。复制操作中用能量高的一半细菌繁殖代替能量低的一半细菌,这会导致种群多样性的下降,为此本文借鉴用于全局优化的浮点数编码的差分进化思想,在趋向性操作后,利用父代个体的差异性来产生子代个体。实验表明改进的算法具有良好的性能。(3)在迁徙操作中采用自适应迁徙概率,避免了优秀个体的流失。将改进算法用于UCI数据集聚类问题中,实验结果表明算法的精度和效率都有所提高,今后的研究将着眼于解决工程实际中的优化问题。