Schede riassuntive

Introduzione a AutoML con MATLAB

Perchè AutoML?

Il Machine Learning automatizzato (AutoML) consente di automatizzare fasi complesse e iterative del workflow di costruzione dei modelli senza richiedere competenze specifiche in Machine Learning.

Fattori che limitano l’adozione del Machine Learning:

  • Alto costo delle competenze richieste
  • Workflow incrementale e iterativo
  • Ottimizzazione manuale non praticabile per molti modelli

Vantaggi di AutoML

  • Ingegneri ed esperti di dominio con poca o nessuna esperienza possono creare modelli efficaci.
  • Gli esperti di Machine Learning risparmiano tempo.
  • È possibile realizzare applicazioni che richiedono numerosi modelli ottimizzati.

Approcci all’automazione della creazione di modelli

1. Estrazione di feature

Wavlet

Le wavelet scompongono segnali complessi.

Wavelet Scattering

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

2. Selezione delle feature

Neighborhood Component Analysis

Individua un piccolo sottoinsieme di feature ad alto potere predittivo.

fscnca(data, labels, 'Lambda');
find(mdl.FeatureWeights > 0.2)
La NCA aiuta a selezionare le feature che conservano gran parte della precisione del modello.

Disponibili anche:

  • Max Relevance Min Redundancy
  • ReliefF
  • Selezione stepwise

3. Selezione del modello

Individua il miglior modello in un solo passaggio:

  • Per classificazione: fitcauto(data, labels, 'Options', …)
  • Per regressione: fitrauto

Opzioni

  • Limita le iterazioni di ottimizzazione:
    MaxObjectiveEvaluations
  • Attiva l’esecuzione in parallelo:
    UseParallel
  • Salva il modello dopo ogni iterazione:
    SaveIntermediateResults
  • Limita quali modelli e iperparametri considerare:
    Learners / OptimizeHyperparameters
  • Mostra errori:
    ShowPlots