论文部分内容阅读
磷虾群算法(Krill Herd algorithm,KH)是一种求解优化问题的生物启发算法,于2012年由美国学者Gandomi和伊朗学者Alavi提出。作为一种随机搜索算法,KH因其包含了基于觅食运动和受其他个体诱导运动的探索和开发策略,一经提出便被成功地应用于解决不同领域的许多优化问题。然而,与大部分知名的优化算法类似,磷虾群算法在优化过程中的全局勘探能力与局部开发能力之间始终难以达到最佳的平衡,故导致KH易出现求解精度较低,易陷入局部最优点和搜索效率较低等不足。鉴于此,本文在前人工作的基础上对标准磷虾群算法进行改进并将其用于解决数据聚类问题,主要内容概述如下:(1)提出一种基于广义反向学习的磷虾群算法及其在数据聚类中的应用。针对磷虾群算法在寻优过程中因种群多样性降低而过早收敛的问题,提出基于广义反向学习的磷虾群算法。首先,通过余弦递减策略确定步长因子以平衡算法的探索与开发能力;然后,加入广义反向学习策略对每个磷虾进行广义反向搜索,增强磷虾探索其周围邻域空间的能力。将改进算法在20个标准测试函数上进行测试,并与标准KH、粒子群算法及其四种改进算法比较,实验结果表明:改进算法可有效避免早熟且具有较高的求解精度。同时为体现改进策略的有效性,将改进的KH与K均值算法融合用于解决数据聚类问题,即在每次迭代后用最优个体或经过K均值迭代一次后的新个体替换最差个体,使用UCI五个真实数据集进行测试并与K均值及六种求解聚类问题的优化算法比较,结果表明:融合后的聚类算法适用于解决数据聚类问题且具有较强的全局收敛性和较高的稳定性。(2)提出一种基于改进KH与KHM聚类混合的数据聚类算法。为解决K-means聚类过于依赖随机初始聚类中心和全局收敛性较差的问题,提出一种基于改进磷虾群算法与K-Harmonic Means混合的数据聚类算法。首先,提出一种具有莱维飞行和交叉算子的磷虾群算法以改进磷虾群算法易陷入局部极值和搜索效率低的不足。即在每次标准磷虾群位置更新后加入新的位置更新方法进一步搜索以提高种群的搜索能力;同时交替使用莱维飞行与交叉算子对当前群体位置进行贪婪搜索以增强标准KH的全局勘探能力。将改进算法与相关算法进行对比实验:改进后的算法可在较少的迭代次数下快速有效地搜索到精度较高的最优解。然后将改进的磷虾群算法与K调和均值聚类融合,即在每次迭代后用最优个体或经过K调和均值迭代一次后的新个体替换最差个体。5个UCI真实数据集的测试结果表明:融合后的聚类算法克服了K-means对初始聚类中心敏感的不足且具有较强的全局收敛性。