数据挖掘中常见的「异常检测」算法有哪些?

异常检测(Anomaly Detection或Outlier Detection)指的是通过数据挖掘手段识别数据中的“异常点”,常见的使用案例包括 风…
关注者
3,340
被浏览
1,529,188
登录后你可以
不限量看优质回答私信答主深度交流精彩内容一键收藏

无监督学习:异常检测入门

目的:

对于无标签样本,给出一个测试样本属于训练样本集的可能性,可用于欺诈检测(如 异常行为用户检测)等。

高斯分布参数估计(MLE):

注:1/m和1/m-1仅在理论特性上有区别,实际计算差别不大。

算法流程:

注:

μj为特征xj的均值;不要求各特征独立正态分布(但高斯分布效果更好); p<ε区域都认为异常。(此处p(x)表示为多个独立高斯乘积形式,对于2 维特征,在x1x2平面只能拟合出圆形、水平椭圆和垂直椭圆;不能很好的拟 合x1x2相关的倾斜椭圆情况,需要用到多元高斯分布来建模p(x))

如何选择ε及评价检测能力:

需要带标签数据构建训练集(正常类y=0(又叫负向类))、交叉集(正常类+异 常类)和测试集(正常类+异常类),并且由于异常样本少,需要用偏斜类评价参 数F1等评价。

由训练集估计正态分布参数计算p(x);

由交叉集在不同ε下分类结果计算F1选择ε;

由测试集根据偏斜类参数评价最终算法模型。

异常检测和监督学习的区别:

异常检测和监督学习都是利用带标记样本进行训练,有区别,可相互转换。

什么时候使用异常检测?

当正向类(positive,异常类)很少,种类很多,很难覆盖未来可能遇到的种 类时,我们只利用负向类高斯模型建模。如欺诈行为检测、飞机引擎检测、计 算机集群的计算机运行情况等。

什么时候使用监督学习?

同时有大量正向类和负向类,未来正向类和训练集类似时。如垃圾邮件分类、 天气预报、肿瘤分类等。

特征调优处理:

特征转换:

非高斯分布(hist观察)特征转(一般取log或次幂)高斯分布,不必须,但 转换后效果更好。(hist函数可将1维特征x转换成直方图,通过将x轴分段, 落入每段内点数作为纵坐标)

误差分析及特征选取:

分析错分样本,设计新特征或特征组合,将正常类和异常类区分开。

多元高斯分布:

对于特征相关的情况,多元高斯拟合效果更好,n为特征数,m样本数,x=[x1,x2,...], μ=[μ1,μ2,...]。

μ决定最高概率点位置,协方差sigma决定形状,对于2维特征分布如下:

注:

Sigma对角阵时,x1x2不相关,多元高斯和独立高斯乘积可相互先换:

p(x;μ,sigma)=p(x1;μ1,σ12)·p(x2;μ2,σ22);

其中μ=[μ1,μ2];sigma对角元素为σ12和σ22。

独立高斯乘积模型和多元高斯模型如何选择:

注:

(1)特征相关时两种模型都可以使用,但原始模型需要手动创建特征来捕获异常;

(2)多元高斯模型要对n×n的sigma矩阵求逆,n较大计算慢;

(3)多元高斯要求m大于n(10n)且选取特征线性无关,否则sigma奇异;

编辑于 2022-07-29 23:27・IP 属地黑龙江