对内存、cpu、io、net 等系统指标的无监督异常检测

数据挖掘 无监督学习 异常检测
2022-03-06 22:43:22

在我可以在网上看到的所有示例中,人们都使用了带标签的数据集。然而,我一直试图构建一个模型来对未标记的数据集执行异常检测(无监督异常检测)。

问题陈述:将异常点与正常点分开。我们提供的功能有 mem_usage、mem_total、cpu_usage_idle、cpu_usage_iowait 等

使用异常检测,我计划标记数据集是否异常。进一步的步骤是根据数据所属的服务器聚合每一行,并确定服务器是否健康、有问题。更进一步的是预测服务器何时可能面临类似问题,从而提出缓解问题的方法。

任何类型的资源(论文、代码博客、视频)都非常受欢迎。我刚刚开始,也愿意尝试新的东西。

3个回答

你有关于这些指标的序列数据吗?例如,它们是否会随着时间而演变,并且您想在这些序列中定位异常?

如果是这样,您可以查看此处描述的工具:

https://github.com/rob-med/awesome-TS-anomaly-detection

它们都是无监督的方法,因此您不需要无异常数据进行训练。

如果您不处理时间序列,也可以采取许多无监督的方法。这篇论文提供了一个很好的关于这个主题的调查

https://journals.plos.org/plosone/article?id=10.1371/journal.pone.0152173

https://medium.com/@curiousily/credit-card-fraud-detection-using-autoencoders-in-keras-tensorflow-for-hackers-part-vii-20e0c85301bd

在本系列的这一部分中,我们将以无监督(或半监督)方式训练自动编码器神经网络(在 Keras 中实现),用于信用卡交易数据中的异常检测。训练后的模型将在预先标记和匿名的数据集上进行评估。

您可以参考“基于隔离森林的异常检测”。我认为这会有所帮助。参考文献:Liu et al.,2008。这是一种无监督的异常检测。