チートシート

MATLAB を使用した AutoML 入門

AutoML を使用する理由

自動機械学習 (AutoML) は、機械学習の専門知識を必要とせずに、モデル構築ワークフローにおける複雑で反復的な工程を自動化します。

機械学習の導入を妨げる要因:

  • 必要な専門知識の確保にコストがかかる
  • 段階的な試行錯誤を伴うワークフロー
  • 大量のモデルを手作業で最適化できない

AutoML のメリット

  • 専門知識のないエンジニアや産業分野の専門家でも適切なモデルを構築できる。
  • 機械学習の専門家の時間を節約できる。
  • 最適化された大量のモデルを必要とする用途にも対応可能。

モデル構築を自動化するためのアプローチ

1.特徴抽出

ウェーブレット

ウェーブレットは複素信号を分解します。

ウェーブレット散乱

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

2.特徴選択

近傍成分分析

予測精度の高い特徴量の小さな部分集合を特定します。

fscnca(data, labels, 'Lambda');
find(mdl.FeatureWeights > 0.2)
NCA 手法により、モデルの精度を最大限に保持する特徴を選択します。

その他の手法

  • Max Relevance Min Redundancy
  • ReliefF
  • ステップワイズ選択

3.モデル選択

ワンステップで最適なモデルを特定します。

  • 分類: fitcauto(data, labels, 'Options', …)
  • 回帰: fitrauto

オプション

  • 最適化の反復を制限する:
    MaxObjectiveEvaluations
  • 並列実行を有効にする:
    UseParallel
  • 各反復後にモデルを保存する:
    SaveIntermediateResults
  • 考慮するモデルとハイパーパラメーターを制限する:
    Learners / OptimizeHyperparameters
  • 誤差を表示する:
    ShowPlots