2 回答
TA贡献1765条经验 获得超5个赞
这实际上是一个具有挑战性的问题。
标签的表示
很难表示您的学习目标标签。正如你所指出的,
If Server A1 has alarm 1 & 2 as DOWN, then we can say that service a is down on that server and is the cause of the problem.
If alarm 1 is down on all servers, then we can say that service a is the cause.
There can potentially be multiple options for the cause ...
我想您需要列出所有可能的选项,否则我们不能指望 ML 算法能够泛化。为简单起见,假设您只有两个可能的问题原因:
1. Service problem
2. Server problem
Site-wise 二元分类器
假设在您的第一个 ML 模型中,只有以上两个原因。然后你现在正在研究一个站点明智的二元分类器。可能逻辑回归更适合让您入门,因为它很容易解释。
要找出哪个服务器有问题或哪个服务有问题,这可以是您的第二步。解决第二步,根据你的例子,
如果是服务问题,我觉得可以手动推导出一些决策规则,这样可以精确定位服务名称。这个想法是您应该看到大量服务器触发相同的警报,对吗?另请参阅最后的高级阅读以检查更多选项。
如果是服务器问题,您可以构建第二个二元分类器(一个单独的服务器端分类器),该分类器仅使用来自该服务器的功能在每个服务器上运行并回答问题:“如果我有问题”。
站点级二元分类器的功能
我认为所有这些警报都是您功能的最佳来源。我想使用一些汇总统计数据作为特征可以为此处的站点分类器提供更多帮助。例如,
收到警报 A 为 DOWN 的服务器的百分比
警报 B 为 DOWN 的所有服务器的平均时间长度
在警报 B 已关闭的所有服务器中,警报 A 已关闭的服务器所占的百分比是多少。...
服务器端二进制分类器的功能
您应该明确使用所有警报信号作为服务器端分类器的特征。但是,在训练时,您应该从所有服务器获取所有数据。标签只是“有问题”或“没有问题”。训练数据将如下所示:
alarm A On, alarm B On, alarm C on, ..., alarm Z on, has-problem
YES, YES, NO, YES, YES
NO, YES, NO, NO, NO
?, NO, YES, NO, NO
注意我用了“?” 指出一些可能的警报,您可能缺少数据(未知状态),可用于描述以下情况:
All the appropriate alarms may not be triggered at once,
due to serial service checks, so it can start with one server down and
then another server down 5 minutes later.
TA贡献1807条经验 获得超9个赞
变量输入有许多选项,但有两个相对简单的选项是:
1) 不存在的输入被编码为 0.5,而存在的输入被编码为 0 或 1 2) 此外,您可以将输入分成两个,一个用于“存在”与“不存在”,另一个对于“主动”与“沉默”。然后,网络将不得不使用两者之间的交互来了解第二列仅在第一列为 1 时才重要,而在第一列为 0 时则不重要。但如果有足够的训练案例,它可能可以做到这一点。
当然,这些方法可以组合使用。
- 2 回答
- 0 关注
- 191 浏览
添加回答
举报