多个传感器=多个深度学习模型?
Multiple sensors = multiple deep learning models?
假设我有 30,000 个振动传感器监测不同工作场所的 30,000 次训练(每次训练 1 个传感器)。我需要检测振动模式中的异常情况。
如果我们有足够的历史数据,您将如何为这个问题创建模型?
这是一个有点模棱两可的问题,但是您可以按照以下主要步骤执行异常检测:
- 将数据加载到您的计算环境中,可能是 Python、MATLAB 或 R。这是假设您的数据可以装入内存,否则您可能需要考虑在 Amazon EC2 或其他虚拟集群上设置 Hadoop 或 Spark 集群。
- 您应该执行一些 EDA 以更好地理解您的数据。这将揭示更多关于数据的底层结构,它来自什么样的分布等等。
- 如果可能,请粗略地绘制数据的视觉图。当您在报告分析时需要为演示文稿完善一些最终图表时,这会派上用场。
- 基于 EDA,您可以直观地准备要处理的数据。在应用任何机器学习异常检测技术之前,您可能需要转换、重新调整或标准化数据集。
- 对于监督数据集(即提供标签),您可以考虑 SVM、神经网络、XGBoost 等算法或任何其他适当的监督技术。 但是,在评估结果时要格外小心,因为典型的异常检测数据集,关于示例总数。这叫做class失衡。有多种方法可以缓解此问题。参见 Class Imbalance Problem。
- 对于无监督数据集,基于密度的方法等技术(即局部离群因子(LOF)及其变体,k-最近邻(kNN)->它是一个非常popular method), One-class SVM等。本研究详细介绍了用于异常检测的无监督方法的专着。 A Comparative Evaluation of Unsupervised Anomaly Detection Algorithms for Multivariate Data
N.b..
- 在构建模型时不要忘记考虑基本的 ML 实践,例如:拆分为训练集/测试集或探索重采样方法,如 k-fold CV、LOOCV 等,以控制结果中的偏差/方差。
- 探索其他技术,例如 Ensemble 方法(即 Boosting 和 Bagging 算法)以提高模型准确性。
- 可以在这个问题上探索 多层感知器 等深度学习技术。如果有一些时间序列组件,可以探索 循环神经网络 RNN。
假设我有 30,000 个振动传感器监测不同工作场所的 30,000 次训练(每次训练 1 个传感器)。我需要检测振动模式中的异常情况。 如果我们有足够的历史数据,您将如何为这个问题创建模型?
这是一个有点模棱两可的问题,但是您可以按照以下主要步骤执行异常检测:
- 将数据加载到您的计算环境中,可能是 Python、MATLAB 或 R。这是假设您的数据可以装入内存,否则您可能需要考虑在 Amazon EC2 或其他虚拟集群上设置 Hadoop 或 Spark 集群。
- 您应该执行一些 EDA 以更好地理解您的数据。这将揭示更多关于数据的底层结构,它来自什么样的分布等等。
- 如果可能,请粗略地绘制数据的视觉图。当您在报告分析时需要为演示文稿完善一些最终图表时,这会派上用场。
- 基于 EDA,您可以直观地准备要处理的数据。在应用任何机器学习异常检测技术之前,您可能需要转换、重新调整或标准化数据集。
- 对于监督数据集(即提供标签),您可以考虑 SVM、神经网络、XGBoost 等算法或任何其他适当的监督技术。 但是,在评估结果时要格外小心,因为典型的异常检测数据集,关于示例总数。这叫做class失衡。有多种方法可以缓解此问题。参见 Class Imbalance Problem。
- 对于无监督数据集,基于密度的方法等技术(即局部离群因子(LOF)及其变体,k-最近邻(kNN)->它是一个非常popular method), One-class SVM等。本研究详细介绍了用于异常检测的无监督方法的专着。 A Comparative Evaluation of Unsupervised Anomaly Detection Algorithms for Multivariate Data
N.b..
- 在构建模型时不要忘记考虑基本的 ML 实践,例如:拆分为训练集/测试集或探索重采样方法,如 k-fold CV、LOOCV 等,以控制结果中的偏差/方差。
- 探索其他技术,例如 Ensemble 方法(即 Boosting 和 Bagging 算法)以提高模型准确性。
- 可以在这个问题上探索 多层感知器 等深度学习技术。如果有一些时间序列组件,可以探索 循环神经网络 RNN。