前処理とモデルハイパーパラメーターのためにブループリントをチューニングする¶
機械学習において、ハイパーパラメータチューニングとは、XGBoostモデルの学習率やニューラルネットワークの活性化関数など、機械学習アルゴリズムの「設定」(ハイパーパラメータと呼ばれる)を調整することです。 これを行う方法は多く存在し、最も単純な方法は、実行可能なすべての組み合わせをブルートフォース検索することです。 これは労力が少ないですが、各組み合わせに機械学習アルゴリズムを適用する必要があるため、非常に時間がかかります。 このため、実践者は与えられた予測問題で使用する最適なハイパーパラメータの組み合わせを探索するためのより効率的な方法を見つけようと努めています。 DataRobotは、機械学習アルゴリズムの特定のハイパーパラメータだけでなく、アルゴリズムに適合させるために必要なデータ前処理についても最適化するための独自バージョンのパターン検索を採用しており、目的はデータセットに適した高性能モデルを迅速に生成することです。
DataRobotで使用されているアプローチはほとんどの場合で十分ですが、Autopilotモデリングプロセスにカスタムチューニングメソッドを構築したい場合もあります。 このAIアクセラレータでは、DataRobotの微調整APIコールに慣れ、DataRobotのパターン検索アプローチを制御するとともに、XGBoostモデルのテキストおよびカテゴリカルデータパイプラインとハイパーパラメータに対する変更されたブルートフォースグリッドサーチを実装します。 このアクセラレータは、他のアプローチを構築するための導入学習例として機能します。 例えば、ベイジアン最適化は、確率的モデルを利用して、ハイパーパラメータ空間を慎重にふるいにかけ、最適な解に収束するためのもので、このアクセラレータバンドルの次に紹介されます。
なお、ハイパーパラメータの最適化を行う前には、すでにモデリングの際に必要な以下の要素が確定されていることが重要です: 具体的には以下の要素が確定している必要があります。
- トレーニングデータ(例:使用するデータソース)
- モデル検証方法(例:グループクロスバリデーション、ランダムクロスバリデーション、バックテスティング。 問題の定義はエラー最小化の戦略に影響を与えるため重要です。)
- 特徴量エンジニアリング(特に、専門知識を活かした計算)
- 前処理とデータ変換(例:単語や文字のトークナイザ、PCA、埋め込み、正規化など)
- 使用するアルゴリズムの種類(例:GLM、ツリーベース、ニューラルネット)
これらの要素は、特にDataRobotを使用する場合(自動的に選択されるハイパーパラメータが競争力があるため)、機械学習アルゴリズムのハイパーパラメータを調整することよりも、モデルのパフォーマンスに大きな影響を与える傾向があります。
このAIアクセラレーターでは、前処理とモデルハイパーパラメータのブループリントにアクセスし、理解し、チューニングする方法を学びます。 DataRobotの高度なチューニングをプログラム的に操作し、他のプロジェクトに適用する方法を学びます。
以下の方法を学びます。
- DataRobot APIを使用したモデルのチューニングの準備
- チューニング用のプロジェクトとモデルのロード
- エラーを最小限に抑えるための検定タイプの設定
- モデルメタデータの抽出
- モデルパフォーマンスの取得
- ハイパーパラメータの確認
- 単一の高度なチューニングセッションの実行
- 単一および複数のモデルに対するカスタムグリッドサーチの実装と評価