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

假设我有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

Keras Dense层输入未被展平

这是我的测试代码: from keras import…

无法将分类变量输入随机森林

我有10个分类变量和3个数值变量。我在分割后直接将它们…

如何在Keras中对每个输出应用Sigmoid函数?

这是我代码的一部分。 model = Sequenti…

如何选择类概率的最佳阈值?

我的神经网络输出是一个用于多标签分类的预测类概率表: …

在Keras中使用深度学习得到不同的结果

我按照一个教程使用Keras中的深度神经网络进行文本分…

‘MatMul’操作的输入’b’类型为float32,与参数’a’的类型float64不匹配

我写了一个简单的TensorFlow代码,但不断遇到T…

发表回复

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