【异常检测1】基本概念
什么是异常检测?
异常
在统计学中,离群值(Outliers)是与其他观测值显著不同的数据点,也成为异常点。异常点的出现可能是因为观测的可变性或实验的错误。异常是指在大量的数据中较为稀少的数据点、事件或者行为。异常通常与正常数据不同,通常代表着数据中出现的一些问题,如欺诈行为、网络、文字的错误等。异常也被成为噪音、偏差和异常。异常可以被分为三类:点异常、条件异常和群体异常。
异常检测
异常检测是在数据集中找到非正常的数据、条件或群体。找到异常节点面临着一些挑战,如用于异常检测的数据集有样本类别不均衡的问题,还有异常节点是不规则的,不同的异常可能表现上完全不同。
异常检测的方法有哪些?
有监督学习
有监督学习方法适用于有标签的数据集,也就是说在训练过程中会知道数据是否是异常的,这就相当于一个分类问题。可以用很多基础的机器学习分类算法进行检测,如SVM,决策树、GBDT、XGBoost等进行分类。但值得注意的是,包含异常的数据集是不均衡的,因此可能会影响性能。可以考虑使用集成学习的方法,如feature bagging。
无监督学习
无监督学习方法适用于没有标签的训练集,可以对数据集进行聚类。用于聚类的方法可以运用在异常检测的场景中,如DBSCAN算法、KNN算法、LOF(local outlier factor)算法等。但无监督学习聚类的方法,有时候会面临维度灾难,可能相似性的度量在高维数据重失效。
半监督学习
半监督学习的异常检测指的是在训练集中只有正常的数据集,没有异常的实例参与训练。然后会构造出一个表示正常行为的模型,然后会测试该模型生成的实例的可能性。比较适用于数据的标签不足的时候。
原文作者: Ruoting Wu
原文链接: https://codingclaire.github.io/2021/05/11/2021-05-11-anomaly-detection-1/
许可协议: 知识共享署名-非商业性使用 4.0 国际许可协议