6

对人们用于罕见事件检测的算法有什么好的参考吗?另外,如何考虑时间因素?如果我遇到连续数据点说明某些事情(t_1 到 t_n)的情况,如何将其纳入正常的机器学习场景?

任何指针将不胜感激。

4

1 回答 1

6

它可能有助于更多地描述您的场景。由于您正在尝试查找罕见事件,我假设您有一个不罕见的工作定义(对于某些问题空间,这真的很难)。

例如,假设我们有一些不是随机游走进程的进程,例如某些服务的 CPU 利用率。如果您想检测罕见事件,您可以获取平均利用率,然后查看几个标准偏差。来自统计过程控制的技术在这里很有用。

如果我们有一个随机游走过程,例如股票价格(打开蠕虫罐......为简单起见,请假设这一点)。从 t 到 t+1 的方向运动是随机的。随机事件可能是单个方向上一定数量的连续移动,也可能是单个时间步长上单个方向上的大移动。有关基本概念,请参阅随机微积分

如果步骤 t 的过程仅依赖于步骤 t-1,那么我们可以使用马尔可夫链对该过程进行建模。

这是您可以使用的数学技术的简短列表。现在开始机器学习。为什么要使用机器学习?(总是很好地考虑以确保您没有使问题过于复杂)让我们假设您这样做并且这是正确的解决方案。在这个阶段,您使用的实际算法并不是很重要。你需要做的是定义什么是罕见事件。相反,您可以定义什么是正常事件并查找不正常的事情。请注意,这些不是一回事。假设我们产生了一组罕见事件 r1...rn。这些罕见事件中的每一个都会有一些与之相关的特征。例如,如果一台计算机出现故障,可能会出现上次在网络上看到它的时间、它的交换机端口状态等特征……这实际上是机器学习中最重要的部分,训练集构建。它通常包括手动标记一组示例来训练模型。一旦您对特征空间有了更好的了解,您就可以训练另一个模型来为您标记。重复此过程,直到您满意为止。

现在,如果您能够定义您的稀有事件集,那么简单地生成启发式可能会更便宜。为了检测稀有事件,我一直发现这种方法效果更好。

于 2010-06-11T15:34:47.363 回答