Guides de référence

Guide de démarrage du Machine Learning automatisé (AutoML) avec MATLAB

Pourquoi utiliser l'AutoML ?

L'apprentissage automatique (AutoML) vous permet d'automatiser les étapes difficiles et itératives du workflow de création de modèles sans nécessiter d'expertise en Machine Learning.

Limites à l'adoption du Machine Learning :

  • Coût élevé de l'expertise requise
  • Workflow itératif incrémental
  • Optimisation manuelle impossible pour de nombreux modèles

Avantages de l'AutoML

  • Les ingénieurs et les spécialistes domaine, même sans expertise particulière, peuvent créer de bons modèles.
  • Les experts en Machine Learning gagnent du temps.
  • Il est possible de développer des applications qui nécessitent de nombreux modèles optimisés.

Approches pour automatiser la création de modèles

1. Extraction de caractéristiques

Ondelette

Les ondelettes permettent de décomposer des signaux complexes.

Diffusion en ondelettes

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

2. Sélection de caractéristiques pertinentes

Analyse NCA (Neighborhood Component Analysis)

Identification d’un petit sous-ensemble de caractéristiques présentant un pouvoir prédictif élevé.

fscnca(data, labels, 'Lambda');
find(mdl.FeatureWeights > 0.2)
L'analyse NCA permet de sélectionner les caractéristiques qui préservent au mieux la précision du modèle.

Également disponibles :

  • Pertinence maximale et redondance minimale
  • ReliefF
  • Sélection pas à pas (stepwise)

3. Sélection de modèle

Identification du meilleur modèle en une seule étape :

  • Pour la classification : fitcauto(data, labels, 'Options', …)
  • Pour la régression : fitrauto

Options

  • Limiter le nombre d'itérations d'optimisation :
    MaxObjectiveEvaluations
  • Activer l'exécution parallèle :
    UseParallel
  • Enregistrer le modèle après chaque itération :
    SaveIntermediateResults
  • Limiter les modèles et les hyperparamètres à prendre en compte :
    Learners / OptimizeHyperparameters
  • Afficher les erreurs :
    ShowPlots