异常检测
对于给定数据集 x1,x2,…,xm ,假设数据集是正常的,我们希望知道新的数据 xtest 是不是异常的,即这个测试数据不属于给定数据集所构成的那个数据组的几率。构建出的模型应该能够根据该测试数据的位置告诉我们其属于一组数据的可能性p(x)。异常检测算法虽然主要用于非监督学习问题,但从某些角度看,它又类似于一些监督学习问题。
如上图所示,在蓝色圈内的数据属于该组数据的可能性较高,在中心区域的这些数据有很大的概率值,而稍微远离中心区域的数据概率会小一些 ,更远的地方的数据,它们的概率将更小,而外面的数据将成为异常数据,这种方法称为密度估计。
这里采用的是高斯分布开发异常检测算法,对于给定的数据集 x1,x2,…,xm ,我们要对每一个特征计算 μ 和 σ 2 的估计值。
μ j=1m∑mi=1x(i)
σ 2j=