十五: 异常检测

1 动机

异常检测问题,预测Xtest是否异常,用于非监督学习问题(又类似监督学习)

密度估计: 

                         十五: 异常检测 

                        十五: 异常检测

 

2 高斯/正态分布

规则:变量 x 符合高斯分布 x~N(μ,σ2)则其概率密度函数为

                     十五: 异常检测

                     十五: 异常检测  十五: 异常检测

图例:

             十五: 异常检测

 

 

3 算法

异常检测算法:使用训练数据计算均值与方差(利用正态分布),拟合Px,选定边界ε,当Px小于ε时预测为异常数据;

算法验证:(此处带有结果标记的数据是为了算法校验,算法本身采用的是无标签数据)

                  1. 60%正常训练数据计算均值方差,拟合Px。

                  2. 20%正常训练数据与50%异常数据交叉验证,通过查准率查全率选择合适的ε。

                  3. 20%正常训练数据与50%异常数据测试,校验预测值。

异常检测与监督学习的对比:

        十五: 异常检测

异常检测假设数据符合正态分布,若不符合,建议做转换如x = log(x+c)或 十五: 异常检测

为了更好的判定结果,我们可以组合不同的特征,如CPU负载与网络通信量比例,如果其过高即服务器陷入一些问题

 

4  多元高斯分布

普通高斯分布Px计算使用多特征概率累乘如下:

                       十五: 异常检测

多元高斯分布Px构建了特征的协方差矩阵去计算如下:

                         十五: 异常检测   十五: 异常检测

                        十五: 异常检测 

假设两特征数据存在相关性,分别使用以上两个分布绘制结果如下:

                                          十五: 异常检测

                                                       可见多元高斯分布考虑了特征间的相关性

模型对比:

                     十五: 异常检测

综上,建议训练集不是很大,特征不是特别多又存在相关性时可以选用多元高斯分布模型;

           当数据量较大选用高斯分布,若存在相关性特征,可以做特征组合构造新特征来模拟;

多元高斯分布异常检测

                       十五: 异常检测

补充:|Σ|->det(sigma)
 

 

 

 

 

 

------------------------------------------------------------------------------------------------------------------------------------

文章内容学习整理于吴教授公开课课程与黄博士笔记,感谢!