Guías prácticas

Introducción a AutoML con MATLAB

Relevancia de AutoML

Machine Learning automatizado (AutoML) permite automatizar pasos difíciles e iterativos del flujo de trabajo de creación de modelos sin necesidad de experiencia en Machine Learning.

Límites de adopción de Machine Learning:

  • Coste elevado por necesidad de personal especializado
  • Flujo de trabajo iterativo e incremental
  • Optimización manual no factible de muchos modelos

Ventajas de AutoML

  • Profesionales de ingeniería y personal experto del dominio con poca o ninguna experiencia puede crear modelos de calidad.
  • Ahorro de tiempo para personal experto en Machine Learning.
  • Pueden implementarse aplicaciones que requieren muchos modelos optimizados.

Enfoques para automatizar la creación de modelos

1. Extracción de características

Wavelet

Las wavelets descomponen señales complejas.

Dispersión de wavelets

sf = waveletScattering (SignalLength);
Loop over signal
   waveletFeature = featureMatrix(sf,signal)
   Append waveletFeature to feature table
   Add labels 
end

2. Selección de características

Análisis de componentes vecinos

Identifique un subconjunto pequeño de características con una alta capacidad de predicción.

fscnca(data, labels, 'Lambda');
find(mdl.FeatureWeights > 0.2)
NCA ayuda a seleccionar las características que conservan la mayor parte de la precisión de un modelo.

También disponible:

  • Máxima relevancia, mínima redundancia
  • ReliefF
  • Selección por pasos

3. Selección de modelos

Identifique el mejor modelo en un solo paso:

  • Para clasificación: fitcauto(data, labels, 'Options', …)
  • Para regresión: fitrauto

Opciones

  • Limitar las iteraciones de optimización:
    MaxObjectiveEvaluations
  • Activar la ejecución en paralelo:
    UseParallel
  • Guardar el modelo después de cada iteración:
    SaveIntermediateResults
  • Limitar los modelos e hiperparámetros que se deben tomar en cuenta:
    Learners / OptimizeHyperparameters
  • Mostrar errores:
    ShowPlots