Cheat Sheets

Getting Started with AutoML Using MATLAB

Why AutoML?

Automated machine learning (AutoML) lets you automate difficult and iterative steps in the model building workflow without requiring machine learning expertise.

What limits adoption of machine learning:

  • High cost of required expertise
  • Incremental iterative workflow
  • Manual optimization not feasible for lots of models

Benefits of AutoML

  • Engineers and domain experts with little to no expertise can build good models.
  • Machine learning experts save time.
  • Applications that require lots of optimized models can be realized.

Approaches to Automating Model Building

Feature Extraction

Wavelets decompose complex signals.

Wavelet Scattering

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

Note:

Works well for signal and image data

Feature Selection

Neighborhood Component Analysis

Identify small subset of features with high predictive power.

fscnca(data, labels, 'Lambda');
find(mdl.FeatureWeights > 0.2)

Also available:

  • Max Relevance Min Redundancy
  • ReliefF
  • Stepwise selection

Model Selection

Identify best model in one step:

  • For classification: fitcauto(data, labels, 'Options', …)
  • For regression: fitrauto

Options

  • Limit optimization iterations:
    MaxObjectiveEvaluations
  • Activate parallel execution:
    UseParallel
  • Save model after each iteration:
    SaveIntermediateResults
  • Limit which models and hyperparameters to consider:
    Learners / OptimizeHyperparameters
  • Display errors:
    ShowPlots

Notes:

  • Not guaranteed to find best model
  • Good results after 50–150 iterations