多元高斯分布(Multiplicate Gaussian Distrtibution)
以数据中心计算机监控为例,我们有如下数据分布图。当出现图中绿色标记点的数据时,根据高斯分布计算得到的p(x)值大于ε,因此异常检测算法认为该数据点为正常数据。而实际上,该点为异常数据。
![](http://upload-images.jianshu.io/upload_images/5983416-59374acb36f98424.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
为了避免这种情况,我们可以构建新的特征变量来帮助异常检测算法捕捉异常数据;我们也可以使用基于多元高斯分布的异常检测算法,图蓝色椭圆即为该方法划出的判定边界。
在基于多元高斯分布异常检测算法中,p(x)的计算方法为:
![](http://upload-images.jianshu.io/upload_images/5983416-77de622876f3ff02.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
其中,Σ为协方差,|Σ|为Σ的行列式(在Octave中使用det(Sigma)函数计算|Σ|),Σ-1为Σ的逆矩阵。
Anomaly Detection using the Multivariate Gaussian Distribution
多元高斯异常检测算法
在多元高斯分布模型中,我们首先应计算参数μ和Σ:
![](http://upload-images.jianshu.io/upload_images/5983416-24a02f6228a3464d.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
![](http://upload-images.jianshu.io/upload_images/5983416-e7f05505e7b7bfca.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
其中,μ∈Rn,Σ∈Rn*n。
然后,我们再计算p(x):
![](http://upload-images.jianshu.io/upload_images/5983416-4121a8324da19328.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
最后,如果p(x) < ε则表明数据异常。
协方差对模型的影响
![](http://upload-images.jianshu.io/upload_images/5983416-128b478b78810662.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
Original Model vs. Multivariate Gaussian
Original Model | Multivariate Gaussian |
---|---|
如需捕捉特征之间的相关性,应手动构建新的特征,即通过特征组合方式捕捉异常 | 自动捕捉特征之间的相关性 |
计算成本低,对于含有大规模的特征变量的数据集适应良好 | 计算成本高 |
即使训练集较小也能适用 | 必须满足m > n,否则协方差矩阵不可逆,一般要求m ≥ 10n |
其中,对于协方差不可逆的情况一般可分为两种情况:1)不满足m > n(m ≥ 10n);2)有多余或相同特征,使得xi = xj + xk或xi = xj。