在当今许多工业和在线应用中,从实时数据流中识别异常——即罕见、意外的事件——至关重要。异常可能表明制造缺陷、系统故障、安全漏洞或其他重大事件。典型的基于机器学习的异常检测系统使用带标签的示例进行监督式训练。但在许多在线环境中,数据极其多样化,且其分布不断变化,收集和标注数据的成本高得令人望而却步。
此外,没有单一的异常检测模型能适用于所有数据类型。例如,观察发现,某些异常检测模型对一类客户效果很好,而不同的模型则对另一类客户效果很好。但对于给定的客户,事先并不明确该部署哪个模型,因为客户的工作负载经常随时间变化,因此,性能最佳的异常检测模型也随之变化。
在一篇提交给2025年国际机器学习大会的论文中,研究者尝试用一种称为SEAD(流式异常检测器集成)的方法来解决这些问题。SEAD使用异常检测模型的集成,因此它总能针对每种数据类型采用最佳模型,并且它以无监督方式运行,因此在训练期间不需要标记的异常数据。它在在线环境中高效运行,随着数据流入进行处理,并能动态适应数据变化。
为了评估SEAD,研究者将其与三个先前的异常检测模型(每个模型有四种超参数设置)以及一种基于规则的方法进行了比较,总共13个基线模型。在15个不同的任务上,SEAD具有最高的平均排名和最低的方差。
奖励“保守”
SEAD背后的基本见解是,异常是罕见的。因此,SEAD为集成中那些持续产生较低异常分数的模型(或称“基检测器”)分配更高的权重。由于不同的基检测器使用不同的评分系统,SEAD通过根据历史分数分布将分数分配到不同分位数来对其进行归一化。
为了计算权重,研究者使用乘法权重更新机制,这是专家系统中的一种标准方法。使用乘法权重更新时,每个基检测器都初始化为一个起始权重。每轮结束后,每个基检测器的新权重是其旧权重与学习率乘以该轮输出的归一化异常分数的负指数幂的乘积。
在所有基检测器都以这种方式更新后,它们的权重会被归一化,使其总和为1。通过这个过程,持续输出较大分数的检测器将开始获得较低的权重。这项工作的技术见解在于,将这种最初为监督环境提出的经典乘法权重更新思想,应用于无监督的异常检测场景。
在模型评估过程中,研究者能够看到算法根据输入数据对基检测器进行重新加权。在一个数据集上,SEAD为两个不同的模型分配了高权重,这两个模型在涉及真实异常数据的测试阶段都持续识别出异常。然而,在该阶段之后,面对干净数据时,其中一个模型继续触发警报,而SEAD迅速降低了其权重。
为了进一步研究SEAD合理加权模型的能力,研究者在集成的13个模型中额外加入了13种仅随机生成分数的算法。在测试集上,SEAD的准确率仅下降了0.88%,这表明更新算法能够很好地快速剔除不可靠的模型。
计算效率
像SEAD这样的集成方法的一个缺点是,同时运行多个模型会带来计算开销。为了解决这个问题,研究者尝试了一种称为SEAD++的方法,该方法以与权重成正比的概率随机抽取集成模型的一个子集。与原始SEAD相比,这带来了大约两倍的加速,而准确率损失极小。因此,在计算资源紧张的使用场景中,SEAD++是一个有前途的替代方案。
SEAD代表了流式数据异常检测领域的重大进步。通过从候选池中实时智能地选择性能最佳的模型,它确保了可靠高效的异常检测。其无监督、在线的特性,结合其适应性,使其成为一系列应用中的宝贵工具,为流式环境下的异常检测设立了新标准。FINISHED