岳阳建设企业网站,插画设计网站,食品包装设计论文,芒果视频怎样下载到本地1 异常检测方法适用范围
什么时候我们需要异常点检测算法呢#xff1f;常用的有三种情况。
1.做数据预处理的时候需要对异常的数据做过滤#xff0c;防止对归一化等处理的结果。2.对没有标记输出的特征数据做筛选#xff0c;找出异常的数据。3.对有标记输出的特征数据做二…1 异常检测方法适用范围
什么时候我们需要异常点检测算法呢常用的有三种情况。
1.做数据预处理的时候需要对异常的数据做过滤防止对归一化等处理的结果。2.对没有标记输出的特征数据做筛选找出异常的数据。3.对有标记输出的特征数据做二分类时由于某些类别的训练样本非常少类别严重不平衡此时也可以考虑用非监督的异常点检测算法来做。 在以上场景中异常的数据量都是很少的一部分因此诸如SVM逻辑回归等分类算法都不适用因为监督学习算法适用于有大量的正向样本也有大量的负向样本有足够的样本让算法去学习其特征且未来新出现的样本与训练样本分布一致。
2 基于统计学的方法来处理异常数据
(1) 标准差 (2) 箱型图 这两种方式源自统计学概念适用于一维数据集。
3 基于聚类的方法来做异常点检测 如k-means、层次聚类、DBSCAN集群等方法这类方法试图找到数据的正常区域然后将所定义区域外的任何值视为异常值通常如果我们聚类后发现某些聚类簇的数据样本量比其他簇少很多而且这个簇里数据的特征均值分布之类的值和其他簇也差异很大这些簇里的样本点大部分时候都是异常点。例如下图为k-means的一个聚类过程其中蓝色点可认为是异常点。 如DBSCAN算法Density-Based Spatial Clustering of Applications with Noise的输入和输出如下对于无法形成聚类簇的孤立点即为异常点噪声点。
输入数据集邻域半径Eps邻域中数据对象数目阈值MinPts;输出密度联通簇 「下面是一些常见的聚类算法及其基本原理」
「K-means聚类算法」K均值聚类是最常用的聚类算法之一。其基本原理是通过计算数据样本与聚类中心之间的距离来确定样本的归属并将样本分配到最近的聚类中心所代表的簇。然后根据已分配的样本重新计算聚类中心的位置迭代更新样本的归属和聚类中心的位置直到达到停止条件。「层次聚类算法」层次聚类是一种自下而上或自上而下的聚类方法。其基本原理是通过计算样本之间的相似性或距离将相似度高的样本逐步合并为越来越大的簇或者将所有样本初始为一个簇然后逐步分割为越来越小的簇。这种逐步合并或分割的过程称为聚类树、树状图或者树状结构。「密度聚类算法」如DBSCAN密度聚类是一种基于样本密度的聚类方法。其基本原理是通过确定样本周围邻域内的密度来判断样本是否属于一个簇。密度聚类可以自动发现任意形状和大小的簇并且对噪声和离群值具有较好的鲁棒性。
4 第三类是基于专门的异常点检测算法来做 这类方法是明确的孤立异常值而不是通过给每个点分配一个分数来构造正常的点和区域。它充分利用了这样一个事实异常值只占数据的小部分并且它们有与正常值大不相同的属性。该算法适用于高维数据集并且被证实是一种非常有效的检测异常值的方法。
以iForest 算法(Isolation Forest,孤立森林)为例由于异常数据较小且特征值和正常数据差别很大。因此构建 iTree的时候异常数据离根更近而正常数据离根更远。当然一颗ITree的结果往往不可信iForest算法通过多次抽样构建多颗二叉树。最后整合所有树的结果并取平均深度作为最终的输出深度由此计算数据点的异常分支。 由于在业务场景里通常是实时流数据。在面对流式数据时孤立森林会有以下几点问题 数据是随着时间的流逝而产生的孤立森林会遗漏时间这个维度孤立森林的每棵树在建立候选样本集合时采用的是针对整体样本的无放回抽样而在流式数据中我们需要每次对最新的数据进行采样构建出数据集孤立森林在面对流式数据时每次来一个点都要重新去构建树整体耗时以及复杂度较高 因此后续又在 iForest 算法基础上提出了RRCF(Robust Random Cut Forest,稳健随机采伐森林).
参考
1 异常检测算法-RRCF(Robust Random Cut Forest) | 秃头少年的boke (zuoxiang95.github.io)
2 独家 | 每个数据科学家应该知道的五种检测异常值的方法附Python代码-腾讯云开发者社区-腾讯云 (tencent.com)
3 官方rrcf代码https://github.com/kLabUM/rrcf
4 14种异常检测方法汇总附代码-腾讯云开发者社区-腾讯云 (tencent.com)