如何在异常检测中抑制某些异常值?
我们使用自动编码器建立了一个模型,它检测到了异常。一些被标记为异常(正态分布之外(的数据点实际上不是异常。
我们如何训练模型不将这些识别为异常?
我们是否将这些数据点的多个副本添加到数据集中,然后再次训练,或者我们是否可以在这里应用任何其他技术。
这里的正态分布是余弦相似性(距离(,因为数据点是文本数据(日志条目(的矢量化表示。因此,如果输入和重构向量之间的余弦距离不属于正态分布,则将其视为异常。
由于异常检测器通常是在无监督的情况下训练的,因此很难在不失去异常检测特性的情况下将标签直接纳入该过程。一个简单的替代方案是取被标记为异常的实例,并将它们放入分类为"异常"的分类器中;真实异常";vs";不是真正的异常";。该分类器将针对已标记的先前异常进行训练。它可以是二进制分类,也可以是一个已知的"类";不是真的";样品。一个简单的起点是k-最近邻或域特定的距离函数。分类器可以使用潜在特征向量作为输入,也可以自己进行特征提取。
在具有假阳性抑制的异常检测(relayr.io(中描述了这种系统。本文中使用了相同的基本思想来最小化假阴性率:SNIPER:用于异常检测的少镜头学习,以确保真阳性率最小化假阴性率