电子商务服务器

时间:2018-01-31 08:47:58

标签: neural-network anomaly-detection

目前我正在为我的电子商务服务器构建我的监控服务,主要关注CPU / RAM使用情况。这可能是对时间序列数据的异常检测。

我的方法是构建LSTM神经网络以预测图表趋势中的下一个CPU / RAM值与STD(标准偏差)值进行比较乘以某个数字(当前为10)

但在现实生活中,它取决于许多不同的条件,例如:

1-维持时间(此时“异常”不是“异常”)

2-休息日,节假日等的销售时间,RAM / CPU使用率增加是正常的,课程

3-如果CPU / RAM减少的百分比在3次观察中相同:5分钟,10分钟和10分钟。 15分钟 - >异常。但是如果5分钟减少50%,但是10分钟它没有减少太多(-5%〜+ 5%) - >不是“异常”。

目前,我在公式上检测到异常,如下所示:

isAlert = (Diff5m >= 10 && Diff10m >= 15 && Diff30m >= 40)

其中Diff是绝对值的不同百分比。

不幸的是,我没有保存用于构建神经网络的“纯”数据,例如,当它检测到异常时,我修改它不再是异常。

我想在模型的输入中添加一些属性,例如 isMaintenance,isPromotion,isHoliday等,但有时会导致过度拟合。

我也希望我的NN可以随时调整基线,例如,当我的服务更受欢迎等时。

这些目标有什么暗示吗?

由于

1 个答案:

答案 0 :(得分:0)

我会说异常是一种不寻常的结果,即在给定输入的情况下不会产生预期的结果。正如您所知,有一些 的变量会影响CPU和RAM的使用。那么为什么不把它们送到网络呢?这就是机器学习的重点。您的网络将根据销售量,是否存在维护窗口等来预测CPU使用率。

请注意,如果您包含实际销售量,则可能不需要isPromotion输入。前者是离散输入,仅捕获totalSales输入

中存在的一小部分信息

机器学习肯定需要数据。如果你扔掉它,你将不得不重新开始捕获它。至于调整基线,您可以通过增加最近的输入数据来实现这一点。