中文引用格式: 刘道君,刘帅,张玉松,等. 基于K-means的异常识别方法[J]. 电子技术应用,2025,51(5):62-67.
英文引用格式: Liu Daojun,Liu Shuai,Zhang Yusong,et al. Outlier detection method based on K-means[J]. Application of Electronic Technique,2025,51(5):62-67.
引言
异常识别在当今社会中具有重要意义,它可以帮助提高安全性、优化效率、预测未来、改善数据质量以及支持决策,在各个领域中推动进步和发展。随着技术的不断发展和应用范围的扩大,异常识别将继续发挥重要作用,并为人类社会带来更多的益处。
当前,已有上千种异常识别算法被陆续提出。它们大致可以被划分为基于统计、基于距离、基于深度学习、基于集成的算法。具体地,基于统计的算法使用数据的统计特性来识别异常值,常见的统计信息包括均值、标准差、中位数、百分位数等。基于距离的算法通过计算对象之间的相似度或距离来识别异常值。基于集成的算法结合多个基本异常检测模型的输出,以提高整体的性能和鲁棒性。基于深度学习的算法利用多层神经网络来学习数据的复杂特征,并在此基础上进行异常检测。尽管上述类型算法已经被验证可以在各样场景下很好地识别数据集中的复杂异常,但大多算法面临一个共同的问题,就是需要若干输入参数,且异常识别效果与参数值高度相关。然而,异常识别是一种无监督分析任务,这意味着面对未知数据集时,将无法客观地预测哪些参数值是适当的。一种名为DPC的算法解决了上述问题,它通过识别簇边界区域,然后将边界区域中密度小于密度均值的对象识别为异常,识别过程中不需要输入任何参数。然而,DPC的异常识别效果易受对象分布的影响。若簇间较为接近时,会有许多正常数据对象被错误地识别为异常。显然,如果构建一个既无输入参数又有优异的异常识别效果的算法模型将是有意义的。
为了实现上一目标,本文提出了一种全新的名为K-outlier的算法。具体地,K-outlier算法首先将数据集划分为个簇,其中为数据集中数据对象的数量。由于异常对象分布相对稀疏,因此异常对象将被划分到只包含少量对象的小簇中。然后,K-outlier算法统计每个簇中对象的数量,并生成数量概率图,称之为决策图。从决策图中,使用者可以很清晰地识别出哪些簇中的对象数量少且概率低,从而将它们识别为异常簇(因为异常对象的数量远小于正常对象,且异常对象所在簇中对象的数量也远小于正常对象所在簇中对象的数量),其中的对象识别为异常。K-outlier算法的主要贡献:
(1)首次将K-means引入异常识别任务。K-means是最经典的聚类算法,尽管它没有异常识别能力,但它具有低时间复杂的优势,可以帮助K-outlier算法快速识别出异常。
(2)生成可视决策图代替输入参数。K-outlier算法不再像其他异常识别算法需要输入参数来识别异常,使用者可以通过决策图提供的可视信息直接得到异常识别结果。
(3)K-outlier算法的异常识别效果不受对象分布的影响。由于将异常划分到小簇中,与正常对象进行了物理隔离,因此不受正常对象分布的影响。
(4)通过大量实验验证了K-outlier算法的有效性。实验表明K-outlier算法对密度不平衡数据集、复杂分布数据集具有一定的鲁棒性。在7个真实世界数据集上,相比于现有算法,K-outlier算法取得了最优的结果。
本文详细内容请下载:
https://www.chinaaet.com/resource/share/2000006527
作者信息:
刘道君,刘帅,张玉松,欧思程
(中国长江电力股份有限公司 三峡水利枢纽梯级调度通信中心 湖北 宜昌 443000)

