使用自动编码器抑制异常检测中的误报(错误分类为 outlier/anomaly)

Suppressing false positives (incorrectly classified as outlier/anomaly) in Anomaly Detection using Autoencoders

如何抑制异常检测中的某些异常值?

我们使用自动编码器构建了一个模型,它检测到了异常。 一些被标记为异常(在正态分布之外)的数据点实际上并不是异常。

我们如何训练模型以不将这些识别为异常?

我们是将这些数据点的多个副本添加到数据集中,然后再次训练,还是我们可以在此处应用任何其他技术。

这里的正态分布是余弦相似度(距离),因为数据点是文本数据(日志条目)的矢量化表示。因此,如果输入和重构向量之间的余弦距离不属于正态分布,则将其视为异常。

由于异常检测器通常是在无人监督的情况下进行训练的,因此很难将标签直接合并到该过程中而不丢失离群值检测属性。 一个简单的替代方法是获取标记为异常的实例,并将它们放入分类器中,分类器将其分类为“真正的异常”与“非真正的异常”。该分类器将根据已标记的先前异常进行训练。它可以是二进制分类,也可以是 one-class wrt 已知的“非真实”样本。一个简单的起点是 k-Nearest-Neighbours 或 domain-specific 距离函数。分类器可以使用潜在特征向量作为输入,或者自己进行特征提取。

这种系统在Anomaly Detection with False Positive Suppression (relayr.io)中有描述。 本文使用相同的基本思想来最小化假阴性率: SNIPER: Few-shot Learning for Anomaly Detection to Minimize False-negative Rate with Ensured True-positive Rate