【问题标题】:Multiple sensors = multiple deep learning models?多个传感器 = 多个深度学习模型?
【发布时间】:2017-04-30 20:43:59
【问题描述】:

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

【问题讨论】:

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


    【解决方案1】:

    这是一个有点模棱两可的问题,但是您可以按照以下广泛的步骤来执行异常检测:

    1. 将数据加载到您的计算环境中,可能是 Python、MATLAB 或 R。这是假设您的数据可以放入内存中,否则您可能需要考虑在 Amazon EC2 上设置 Hadoop 或 Spark 集群,或者其他虚拟集群。
    2. 您应该执行一些 EDA 以更好地了解您的数据。这将更多地揭示数据的底层结构、数据来自何种分布等。
    3. 如果可能的话,对您的数据进行粗略的可视化绘图。当您需要在报告分析时为演示文稿润色一些最终图表时,这将派上用场。
    4. 基于 EDA,您可以直观地准备数据以进行处理。在应用任何机器学习技术进行异常检测之前,您可能需要转换、重新缩放或标准化数据集
    5. 对于监督数据集(即提供标签),您可以考虑使用 SVM、神经网络、XGBoost 或任何其他合适的监督技术等算法。 但是,在评估结果时要非常小心,因为对于异常检测数据集而言,这是典型的,相对于总的数量而言,通常存在非常少量的正例 (y = 1)例子。这称为类不平衡。有多种方法可以缓解这个问题。见Class Imbalance Problem
    6. 对于无监督数据集,基于密度的方法(即局部离群因子 (LOF) 及其变体,k-最近邻 (kNN) -> 它是一种非常流行的方法)等技术,一个-class SVM 等。本研究详细介绍了用于异常检测的无监督方法的专着。 A Comparative Evaluation of Unsupervised Anomaly Detection Algorithms for Multivariate Data

    注意
    - 在构建模型时不要忘记考虑基本的 ML 实践,例如:拆分为训练集/测试集或探索重采样方法,例如 k-fold CV、LOOCV 等,以控制结果中的偏差/方差。
    - 探索其他技术,例如 Ensemble 方法(即 Boosting 和 Bagging 算法)以提高模型准确性。
    - 深度学习技术,如多层感知器可以在这个问题上进行探索。如果有一些时间序列组件,可以探索循环神经网络,RNN

    【讨论】:

      猜你喜欢
      • 2019-05-13
      • 1970-01-01
      • 1970-01-01
      • 2019-11-30
      • 2019-04-25
      • 1970-01-01
      • 2018-10-27
      • 2021-04-09
      • 2020-11-27
      相关资源
      最近更新 更多