龙源期刊网 http://www.qikan.com.cn
基于异常检测的K-means改进算法研究
作者:薛晨杰 林婷薇
来源:《软件导刊》2019年第04期
摘 要:K-means算法作为较为普遍的聚类算法,聚类效果受孤立点、噪声点和初始聚类中心影响较大。结合Isolation Forest算法计算数据中每个样本的异常度系数,根据离群值过滤比例计算得到异常度系数阈值,对高度异常值加以隔离,并对隔离后的数据集使用平均插值法求得初始聚类中心。运用改进K-means算法对真实数据集进行聚类分析,与此同时,通过比较多个离群值过滤比例下的聚类结果,找到离群值过滤比例的最优取值。仿真结果表明,相比于原始算法,新算法显著提升了聚类准确性,聚类效果更佳。
关键词:K-means算法;聚类算法;异常检测;异常度系数;离群过滤比例 DOI:10. 11907/rjdk. 182467
中图分类号:TP312 文献标识码:A 文章编号:1672-7800(2019)004-0074-05 0 引言
随着数据挖掘技术的迅速发展,日常生活产生的海量数据中隐含的信息及商业价值越来越多地被挖掘与展现出来。聚类分析是数据挖掘中的常用分析方法[1],其目的是将输入的数据样本通过聚类找到数据特征,然后根据样本相似程度将数据集合分成若干个簇,使每一个簇中的数据点达到最大同质化,而使不同簇之间的差异最大化。聚类算法研究历史悠久,早在1975年Hartigan[2]即在其专著《Clustering Algorithms》中对聚类算法进行了系统论述。研究者通过观察聚类分析结果可以发现数据中隐藏的联系与差异,从而将该数据分析结果作为新研究中的依据[3]。
K-means[4]聚类算法是目前最基本且被广泛应用的聚类分析方法之一,是由MacQueen总结Cox[5]、Fisher[6]、Sebestyen[7]等研究成果而提出的一种经典的以数据点到簇中心距离作为优化目标的函数聚类方法,但其仍然存在一些缺陷,比如受孤立点、噪声点以及初始聚类中心影响较大等。因此,学者们对此进行了大量研究。Metropolis等[8]提出的模拟物理学上固体退火过程的优化算法,有着更好的聚类效果,但会增加算法复杂度;Dong 等[9]首先通过二分K-means算法将数据集分为 K 个大类,再利用模拟退火算法优化聚类中心,从而提高了聚类准确度;Bhuyan等[10]提出可用遗传算法改进聚类效果,随后Jones等[11]、Babu等[12]也相继提出应用遗传算法改进K-means算法初始聚类中心的思路。以上改进算法都是基于优化算法,与此同时也有不少学者基于密度分布情况选择聚类中心。Katsavounidis等[13]提出一种通过尽可能分散初始聚类中心的解决方法,从而有效避免了被选择的聚类中心过于密集的情况;Khan等[14]提出的 CCIA 算法,利用数据点的均值、标准差、百分位数等统计信息提供数据点密度分布信息,从而得到初始聚类中心;牛琨等[15]提出基于密度指针的初始聚类中心选择算法DP,根据