什么是有监督异常检测?什么是半监督异常检测?

2024年12月25日15:19:43什么是有监督异常检测?什么是半监督异常检测?已关闭评论

什么是异常检测

异常检测(Anomaly Detection,或Outlier Detection)指对业务数据集中不符合常态分布或预期模式的数据进行识别的过程,其中异常(Outlier)也被称为离群值、新奇、噪声、偏差和例外,将正常类型(Normal Class)和离群值(Outliers)检测区分出来的过程如图4-1所示。

什么是有监督异常检测?什么是半监督异常检测?

图4-1 异常检测示意图

根据异常检测算法中样本数据标签的有无和检测识别应用方式的不同,异常检测算法可分为有监督异常检测、半监督异常检测和无监督异常检测三大类。

1 有监督异常检测

有监督异常检测方法需要一个已经被标记正常与异常的数据集,并涉及训练分类器,典型的方式如LR、XGBoost等。

在实际应用中,有监督异常检测方法虽然在某些场景下表现出色,但其面临的挑战也不可忽视。首先,学习一个合理的决策边界对于有效区分正常和异常样本至关重要。然而,在面对训练集中未出现的异常情况时,有监督模型可能无法准确捕捉这些新型异常,因为它们未被显式地训练过。

另外需要注意的是,不同于学术研究,在工业生产环境中,大规模标注样本的需求使得有监督异常检测方法在实际应用中成本高昂,获取足够数量的标注样本可能需要耗费大量时间和资源,不符合实际效益。这在风控领域更为显著,因为异常情况的多样性和变化性导致需要不断更新标注数据。

2 半监督异常检测

半监督异常检测方法根据一个给定的正常训练数据集建立一个表示正常行为的模型,然后检测由学习模型生成的测试实例的可能性。常见的半监督异常检测算法如LOF(Local Outlier Factor,局部异常因子)、AutoEncoder(自编码器)、One-Class SVM(单类支持向量机)、Isolation Forest(孤立森林)等。

在半监督异常检测中,LOF算法通过度量每个数据点与其邻近点的相对密度来评估其异常性,从而适应不同密度区域的数据分布。AutoEncoder则通过学习数据的压缩表示,尝试还原输入数据,将难以还原的实例视为异常。One-Class SVM使用单一正类别训练模型,尽量将正常数据映射到高维空间中的一个小区域,从而在该区域之外的实例被认为是异常。Isolation Forest则采用树结构逐步分割数据,通过异常点所需的分割次数来评估其异常性。

通过和有监督异常检测方法对比可以看出,半监督异常检测方法弥补了有监督异常检测方法对负样本标注的依赖性,但是对于正样本依然需要标注,无监督异常检测方法的提出解决了这个问题。

3 无监督异常检测

无监督异常检测方法在假设数据集中大多数实例都是正常的前提下,能通过寻找与其他数据最不匹配的实例来检测出未标记测试数据的异常,常用的方式如聚类、概率统计模型、基于相似近邻关系的异常检测、高维子空间异常检测等。

在工业生产界,异常检测面临的问题通常都是没有标签的,或者很难通过人工的方式打标。最典型的例子就是渠道异常流量识别,一天的日志量能够达到十亿甚至百亿级别,而单行日志能够提取出的特征则能达到上千列。根据笔者的从业经历,即使是一个有3~5年经验的反作弊从业者准确标注一条作弊样本也需要30~60秒不等,而面对上亿甚至百亿级别的流量样本标注,其时间和人力成本可想而知。因此,无监督异常检测算法是工业生产界更多实际采用的方式。

  • 版权声明:本篇文章(包括图片)来自网络,由程序自动采集,著作权(版权)归原作者所有,如有侵权联系我们删除,联系方式(QQ:452038415)。