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

时间:2017-04-30 20:44:00

标签: machine-learning artificial-intelligence deep-learning iot

假设我有30,000个振动传感器,可在不同的工作场所监测30,000个钻头(每个钻头1个传感器)。我需要检测振动模式中的异常。 鉴于我们有足够的历史数据,您将如何为此问题创建模型?

1 个答案:

答案 0 :(得分:1)

这是一个有点含糊不清的问题,但是您可以按照以下广泛步骤执行异常检测:

  1. 将数据加载到您的计算环境中,可能是Python,MATLAB或R.这是假设您的数据可以适合内存,否则您可能需要考虑设置Hadoop或Spark群集Amazon EC2或其他虚拟群集。
  2. 您应该执行一些 EDA 以更好地了解您的数据。这将揭示更多关于数据的基础结构,它来自何种分布等等。
  3. 尽可能粗略地视觉图。当您需要在报告分析时为演示文稿绘制一些最终图表时,这将派上用场。
  4. 根据EDA,您可以直观地准备数据以进行处理。在应用任何机器学习技术进行异常检测之前,您可能需要转换,重新缩放或标准化数据集
  5. 对于监督数据集(即提供标签),您可以考虑诸如SVM,神经网络,XGBoost或任何其他适当的监督技术等算法。 然而,在评估结果时非常谨慎,因为典型的异常检测数据集,相对于总数,通常会有非常少量的正例(y = 1)。例子。这称为类不平衡。有各种方法可以缓解这个问题。见Class Imbalance Problem
  6. 对于无监督数据集,诸如基于密度的方法(即局部异常因子(LOF)及其变体,k-最近邻(kNN) - >这是一种非常流行的方法),一类SVM等本研究详细介绍了无监督异常检测方法的专题论文。 A Comparative Evaluation of Unsupervised Anomaly Detection Algorithms for Multivariate Data
  7. <强> N.b。即可。
      - 在构建模型时不要忘记考虑基本的ML实践,例如:分成训练集/测试集或探索重新取样方法,如k-fold CV,LOOCV等,以控制结果中的偏差/方差。登记/>   - 探索其他技术,如Ensemble方法(即Boosting&amp; Bagging算法),以提高模型的准确性   - 可以在这个问题上探索深度学习技术,例如 Muli-layer Perceptron 。如果有一些时间序列组件,可以探索递归神经网络,RNN