自動化された機械学習 (AutoML) とは?
自動化された機械学習 (AutoML)は、データの探索、前処理、特徴抽出から予測モデルの作成までに必要な手順を自動化します。また、AutoMLは正確なモデルを構築するために必要な統計・プログラミングの専門知識の要求水準を引き下げることができるため、専門家であっても、機械学習も詳しくない方であっても利用することができます。繰り返し行われるタスクを自動化することで、AutoMLは機械学習のワークフローにおける以下のような作業を効率化します。
- データの調査と前処理:AutoMLにより予測精度の低い変数や相関性の高い変数を特定し、排除すべき変数を特定します。
- 特徴抽出と選択:AutoMLにより特徴を自動的に抽出し、数多くの特徴の中から予測精度の高い値を特定します。
- モデルの選択とチューニング:AutoMLによりモデルのハイパーパラメータを自動的に調整し、最も精度の高い機械学習モデルを特定します。
- システムへの実装:AutoMLのコードの自動生成機能により、高水準の機械学習のコードをC/C++などの低水準言語に変換して、限られたメモリと低消費電力の組み込みデバイスに配備することができます
MATLAB® with AutoMLを使用することで、特徴抽出と選択、モデルの選択とチューニングなど、多くのワークフローをサポートすることができます。
特徴抽出と選択
特徴抽出は、生のデータに存在する高次元性と変動性を削減し、入力信号に隠れている特徴的な変数(特徴量)を特定する作業のことを指します。通常、特徴エンジニアリングのプロセスは、生のデータから初期特徴量を生成し、その中から最適な特徴量を選択するところから始まります。しかし、特徴エンジニアリングは反復的なプロセスであり、特徴変換や次元削減などの他の方法を活用することもあります。
データの種類に応じて、生データから特徴量を生成する数多くの方法があります。
- ウェーブレット時間散乱では、事前定義されたウェーブレットとスケーリングフィルタを使用して、信号や画像データから低分散の特徴量を導出します。
- 再構成コスト付き独立成分分析 (Reconstruction ICA; RICA) やスパースフィルタリングなどの教師なし学習では、独立成分を明らかにし、特徴分布の疎性を最適化することで効率的な表現を学習します。
- 画像や音声信号に関するその他の機能については、Computer Vision Toolbox™やAudio Toolbox™を参照してください。
特徴選択により、より少ない特徴量、小さいモデルでも高い予測精度を発揮する特徴量を特定します。AutoMLの自動特徴選択では、予測精度に応じた特徴量のランク付けや、モデルパラメータと一緒に特徴の重要度を学習する方法など、さまざまな活用方法があります。他にも、モデルの性能を最適化する特徴集合を反復的に決定する方法もあります。
モデルの選択とチューニング
機械学習モデルの開発の核心は、多くのモデルの中から、実行中のタスクに最も適したモデルを特定し、そのハイパーパラメータを調整してパフォーマンスを最適化することです。AutoMLでは、モデルとその関連するハイパーパラメータをワンステップで最適化することができます。その実装においては効率よく最適解を求めるためにまずメタ学習を活用し、特徴の特性に基づいた優れたモデルの中から候補となるモデルのサブセットを絞り込みます。そして、計算量の多いグリッド検索やランダム検索の代わりにベイズ最適化を適用し、各候補モデルのハイパーパラメータを最適化します。
他の手段(例えば、トライアンドエラー)を用いて優れたモデルを特定した場合、そのハイパーパラメータは、グリッド検索やランダム検索、あるいは前述のベイズ最適化などの方法で個別に最適化することができます。
精度の高いモデルを導出した後、AutoMLでは追加のコーディングなしで最適化されたモデルを他の環境へ展開できます。このタスクを実行するには、自動コード生成を適用するか、Simulink®のようなシミュレーション環境に統合します。
活用例および役立つ使い方
ビデオ
ソフトウェア リファレンス
参考: Statistics and Machine Learning Toolbox, 機械学習, 教師あり学習, 特徴抽出, 機械学習モデル, biomedical signal processing