Técnicas de aprendizaje Supervisado para detección de anomalías

Técnicas de Aprendizaje Supervisado para Detección de Anomalías

En el contexto del mantenimiento predictivo, la detección de anomalías mediante aprendizaje supervisado ha emergido como una técnica eficaz para anticipar fallos en equipos industriales. A diferencia de los enfoques no supervisados, este método aprovecha datos etiquetados para entrenar modelos que distinguen con precisión entre condiciones normales y anómalas.

Tipos de Anomalías en Entornos Industriales

Las anomalías pueden manifestarse de distintas formas, cada una requiriendo estrategias de detección especializadas:

Clasificación de Anomalías

  • Fácilmente detectables mediante métodos estadísticos como IQR o regresión simple.
Anomalía puntual
  • Requieren modelos que capturen la relación entre variables, como temperatura versus carga.
Anomalía contextual
  • Implican secuencias de datos y requieren modelos con memoria, como LSTM o TCN.
  • Anomalía colectiva
    • Más sutiles, requieren ingeniería de características como pendientes móviles o transformadas de frecuencia.
    Cambio de tendencia
    • Estructura de Datos: Un dataset típico para esta tarea podría lucir así:
    Estructura de datos

    Entradas:

    • Mediciones de sensores (temperatura, presión, vibración, corriente)
    • Variables operativas (velocidad, carga)
    • Variables derivadas (gradientes, estadísticas móviles, FFT)

    Salidas:

    • Clasificación binaria: Normal vs. Anómalo
    • Clasificación multiclase: tipos de fallos
    • Clasificación jerárquica: categoría y subcategoría del fallo

    Etiquetado:

    • Expertos humanos
    • Umbrales definidos por normativa
    • Simulaciones validadas

    Modelos Supervisados para Detección de Anomalías

    1. SVM (Support Vector Machines)

    Las SVM con kernels no lineales permiten modelar fronteras de decisión complejas:

    from sklearn.svm import OneClassSVM
    model = OneClassSVM(kernel='rbf', gamma=0.1, nu=0.01)
    model.fit(X_train)
    anomaly_scores = model.decision_function(X_test)

    2. Redes LSTM con Mecanismos de Atención

    Permiten detectar patrones temporales relevantes en secuencias largas:

    Arquitectura LSTM con atención

    Componentes clave:

    • Entrada: Secuencia multivariada (batch_size, seq_length, n_features)
    • LSTM Bidireccional: Captura dependencias hacia adelante y atrás
    • Atención: Asigna pesos a pasos temporales relevantes
    • Vector de contexto: Resume la secuencia ponderada
    • Clasificador: Capa final para salida binaria o multiclase

    Ecuación de Atención

    αₜ = softmax(score(hₜ))
    c = ∑ αₜ ⋅ hₜ

    La suma ponderada mejora la interpretabilidad y rendimiento del modelo.

    3. Gradient Boosting (XGBoost / LightGBM)

    Ideales para datos desbalanceados, con soporte para ajuste de pesos por clase:

    import lightgbm as lgb
    params = {
        'objective': 'binary',
        'metric': 'auc',
        'scale_pos_weight': 10
    }
    model = lgb.train(params, train_data)

    Métricas para Evaluación de Modelos

    La evaluación debe considerar el desbalance y el costo de los errores:

    • PR-AUC: Preferida sobre ROC-AUC en contextos desbalanceados
    • Fβ-score: Permite ponderar el recall
    • Matriz de confusión ponderada: Costos diferenciados por clase

    Estrategias de Balanceo

    • SMOTE: Sobremuestreo sintético
    • Undersampling dirigido: Eliminación selectiva
    • Pérdida ponderada: Ajuste en la función de costo

    Transfer Learning para Análisis de Anomalías

    Reutiliza modelos entrenados en dominios con muchos datos (Dominio A) para adaptarlos a entornos específicos (Dominio B) con pocos datos mediante ajuste fino.

    Transfer Learning

    Ejemplo de fine-tuning de capas finales:

    base_model = load_pretrained_industrial_model()
    for layer in base_model.layers[:-3]:
        layer.trainable = False
    
    x = base_model.output
    x = Dense(128, activation='relu')(x)
    predictions = Dense(1, activation='sigmoid')(x)
    model = Model(inputs=base_model.input, outputs=predictions)

    Referencias

    • Chandola, V., et al. (2009). Anomaly detection: A survey. ACM CSUR.
    • Ruff, L., et al. (2021). A unifying review of deep and shallow anomaly detection. IEEE.
    • Zhao, R., et al. (2019). Deep learning for machine health monitoring. MSSP.