根据 Andrew Ng 在 Coursera 的讲座,异常检测算法之一是使用多元高斯分布来构建概率密度。
如果数据显示出聚类结构(而不是单一的块状)怎么办?在这种情况下,我们是否应该使用无监督聚类来构建密度?如果是,如何操作?还有其他系统性的方法来发现这种情况的存在吗?
回答:
你可以使用常规的 GMM,并设置一个似然阈值来识别异常值。不符合模型的点就是异常值。
只要你的数据确实是由高斯分布组成,这种方法就还可以。
此外,聚类是相当昂贵的。通常,直接使用非参数的异常值模型如 KNN、LOF 或 LOOP 会更快。