多传感器=多深度学习模型?

假设我有30,000个振动传感器监控着30,000个钻机(每个钻机一个传感器),这些钻机位于不同的工作场所。我需要检测振动模式中的异常。鉴于我们有足够的历史数据,你会如何为这个问题创建模型呢?


回答:

这个问题有些模糊,但你可以遵循以下大致步骤来进行异常检测:

  1. 加载数据到你的计算环境中,可能使用Python、MATLAB或R。这假设你的数据可以装入内存,否则你可能需要考虑在Amazon EC2或其他虚拟集群上设置Hadoop或Spark集群。
  2. 你应该进行一些探索性数据分析(EDA)来更好地理解你的数据。这将揭示数据的底层结构、数据来自何种分布等更多信息。
  3. 如果可能,尽量制作一些数据的粗略可视化图表。这在你需要为报告分析结果时润色一些最终图表时会派上用场。
  4. 基于EDA,你可以直观地准备数据进行处理。你可能需要在应用任何用于异常检测的机器学习技术之前转换、重新缩放或标准化数据集
  5. 对于有监督数据集(即提供了标签),你可以考虑使用SVM、神经网络、XGBoost或其他任何合适的有监督技术。然而,由于异常检测数据集的典型特征,必须非常小心地评估结果,因为相对于总样本数,正样本(y = 1)的数量通常非常少。这被称为类别不平衡。有各种方法可以缓解这个问题。详见类别不平衡问题
  6. 对于无监督数据集,可以使用基于密度的方法(如局部异常因子(LOF)及其变种、k最近邻(kNN)——这是一种非常流行的方法)、单类SVM等。关于无监督方法用于异常检测的专题研究详见此研究。多变量数据无监督异常检测算法的比较评估

注意
– 构建模型时,不要忘记考虑基本的机器学习实践,如:将数据分成训练集/测试集,或探索重抽样方法(如k折交叉验证、留一法交叉验证等)以控制结果中的偏差/方差。
– 探索其他技术,如集成方法(即提升与装袋算法)以提高模型精度。
– 可以探索深度学习技术,如多层感知器来解决这个问题。如果存在时间序列成分,可以探索递归神经网络(RNN)

Related Posts

使用LSTM在Python中预测未来值

这段代码可以预测指定股票的当前日期之前的值,但不能预测…

如何在gensim的word2vec模型中查找双词组的相似性

我有一个word2vec模型,假设我使用的是googl…

dask_xgboost.predict 可以工作但无法显示 – 数据必须是一维的

我试图使用 XGBoost 创建模型。 看起来我成功地…

ML Tuning – Cross Validation in Spark

我在https://spark.apache.org/…

如何在React JS中使用fetch从REST API获取预测

我正在开发一个应用程序,其中Flask REST AP…

如何分析ML.NET中多类分类预测得分数组?

我在ML.NET中创建了一个多类分类项目。该项目可以对…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注