自動機械学習 (AutoML) とは?
自動機械学習 (AutoML) によって、機械学習をデータに適用するプロセスが自動化されます。 データセットが与えられると、AutoML を実行して、さまざまなデータ変換、機械学習アルゴリズム、およびハイパーパラメーターについて反復処理を行い、最適なモデルを選択できます。
Note
この記事では、現在プレビューの段階にある ML.NET AutoML API について説明します。 内容は変更される場合があります。
AutoML のしくみ
一般に、機械学習モデルをトレーニングするワークフローは次のとおりです。
- 問題を定義する
- データを収集する
- データの前処理
- モデルをトレーニングする
- モデルを評価する
前処理、トレーニング、評価は、満足のいく結果が得られるまで、複数の試行を必要とする実験的で反復的なプロセスです。 これらのタスクは繰り返し実行される傾向があるため、AutoML はこれらの手順を自動化するのに役立ちます。 自動化に加えて、アルゴリズムとハイパーパラメーターを探して選択するために、トレーニングおよび評価プロセス中に最適化手法が使用されます。
AutoML の使い時はいつですか?
利用者が機械学習の使用を開始したばかりであろうと、経験豊富なユーザーであろうと、AutoML にはモデル開発プロセスを自動化するためのソリューションが用意されています。
- 初心者 - 機械学習が初めての利用者に対しては、AutoML は、モデルのトレーニング時に行う必要がある決定の数を減らす一連の既定値を提供することで、モデル開発プロセスを簡略化します。 そうすることで、利用者はデータと解決しようとしている問題に集中し、AutoML に残りの作業を任せることができます。
- 経験豊富なユーザー - 利用者に機械学習の経験がある場合は、自動化機能を活用しつつも、ニーズに基づいて AutoML によって提供される既定値をカスタマイズ、構成、拡張できます。
ML.NET の AutoML
- Featurizer - データの前処理を自動化するための便利な API。
- 試行 - 1 回のハイパーパラメーター最適化の実行。
- 実験 - AutoML の試行のコレクション。 ML.NET は、スイープ可能パイプライン、検索スペース、およびチューナー コンポーネントのそれぞれに対して既定値を設定する、実験の作成用の高レベル API を提供します。
- 検索スペース - ハイパーパラメーターを選択できる利用可能なオプションの範囲。
- チューナー - ハイパーパラメーターを最適化するために使用されるアルゴリズム。 ML.NET では、次のチューナーがサポートされています:
- コスト フルーガル チューナー - トレーニング コストを考慮に入れるコスト関連ハイパーパラメーターのフルーガル最適化の実装
- Eci コスト フルーガル チューナー - 階層型検索スペース用のコスト フルーガル チューナーの実装。 AutoML で使用される既定のチューナー。
- SMAC - ランダム フォレストを使用してベイジアン最適化を適用するチューナー。
- グリッド検索 - 小さな検索スペースに最適なチューナー。
- ランダム検索
- スイープ可能推定器 - 検索スペースを含む ML.NET 推定器。
- スイープ可能パイプライン - 1 つ以上のスイープ可能推定器を含む ML.NET パイプライン。
- 試行ランナー - スイープ可能パイプラインと試行設定を使用して、モデルのトレーニングと評価から試行の結果を生成する AutoML コンポーネント。
初心者は、高レベル実験 API によって提供される既定値から開始することをお勧めします。 カスタマイズ オプションを探している経験豊富なユーザーは、スイープ可能推定器、スイープ可能パイプライン、検索スペース、試行ランナー、およびチューナー コンポーネントを使用します。
AutoML API の利用開始の詳細については、ML.NET 自動機械学習 (AutoML) API の使用方法ガイドを参照してください。
サポートされているタスク
AutoML には、次のタスクに対して事前構成済みの既定値が用意されています。
- 二項分類
- 多クラス分類
- 回帰
その他のタスクに対しては、独自の試行ランナーを構築して、それらのシナリオを可能にすることができます。 詳細については、ML.NET 自動機械学習 (AutoML) API の使用方法ガイドを参照してください。
次のステップ
.NET