十五: 异常检测
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)
------------------------------------------------------------------------------------------------------------------------------------
文章内容学习整理于吴教授公开课课程与黄博士笔记,感谢!