DAGMM :Deep Autoencoding Gaussian Mixture Model for Unsupervised Anomaly Detection
2018年ICLR 引用量1000+基于密度的异常检测存在的问题:Especially, when the dimensionality of input data becomes higher, it is more difficult to perform density estimation in the original feature space, as any input sample could be a rare event with low probability to observe。简单来说,就是在高维空间中,整体的密度分布都会比较低,难以有效地通过密度来区分异常点。为了解决该问题,现有方法通过降维+密度估计的二阶段形式来进行异常检测,这样做的问题在于第一步的降维对于后续行为并不感知,可能会导致异常的信息被舍弃了。为了解决这一问题,该方法提出了Deep Autoencoding Gaussian Mixture Model(DAGMM,深度自编码高斯混合模型)首先,DAGMM提出了一个Compression Network,通过一个自编码器同时得到降维结果和重构误差,作者认为这两部分特征可以更为充分地表示异常点;其次,DAGMM使用一个Gaussian Mixture Model(GMM,高斯混合模型)来进行密度估计。GMM通常利用EM算法进行求解(为什么不用梯度下降呢?可以参考https://spaces.ac.cn/archives/4277),但EM算法无法与前面的降维过程进行联合优化。为了解决该问题,DAGMM提出了一个Estimation Network,该网络以Compression Network的结果作为输入,输出每一个样本的Mixture Membership Prediction,即将EM算法的E步骤中的样本属于各子分布的概率替换为端到端架构中子Estimation network的输出。E步(根据现有MLN的参数,得到z的分布,也就是样本隶属于不同高斯分布的概率分布):正常来说,这一部分应该是根据GMM的参数来算的,但是为了联合优化,改用了一个MLN用来代替。M步(根据z的分布,估计高斯分布的参数,并对E步中的参数进行更新):这三项分别表示第k个高斯分布的混合概率、均值和协方差。Loss函数:Loss分为三个部分,分别是:
自编码网络的重构误差;
高斯混合模型的似然函数;
正则化,防止 GMM 中的协方差矩阵的对角线上的值变为0 并最终导致矩阵不可逆。
基于聚类的方法
SVDD:Support Vector Domain Description
SVDD属于是One Class SVM问题的一种解决方法。One Class SVM问题是指在仅有一类数据的情况下进行分类,比方说,有一个小和尚,他从小在寺庙长大,从来都只见过男生,没见过女生,那么对于一个男性,他能很快地基于这个男性与他之前接触的男性有类似的特征,给出这个人是男性的答案。但如果是一个女性,他会发现,这个女性与他之前所认知的男性的特征差异很大,进而会得出她不是男性的判断。这类方法主要应用于新值检测(novelty detection),要求数据中不含有异常点。但在实际场景中,由于样本空间并不会找得特别好,也可以尝试用于异常值检测。SVDD的主要思想在于,找一个采用一个超球体来对空间进行划分。该算法在特征空间中获得数据周围的球形边界,期望最小化这个超球体的体积,从而最小化异常点数据的影响。其中,R是超球体半径,a是超球体的球心,具体的求解过程不在此阐述。
Revisiting Time Series Outlier Detection: Definitions and Benchmarks :Tsb-uad: an end-to-end benchmark suite for univariate time-series anomaly detection