チューニング

チューニングとは

注: この項目を読む前に、データマイニングとアルゴリズムの内容を理解しておくことをお勧めします。独自のキャラクターをデザインできるビデオゲームをプレイしたことがありますか?プレイしたことがあるなら、ほとんどのゲームに「プリセット」キャラクターが多数用意されていて、自分の好みに合うように微調整できることをご存知でしょう。これが、機械学習アルゴリズムにとってのチューニングです。すべてのアルゴリズムに、「デフォルト」のハイパーパラメーターセットがあります。ハイパーパラメーターは、Machine Learning Mastery で「モデル内部の設定の変数であり、その値をデータから推定できる」と定義されています。アルゴリズムごとに、構成するハイパーパラメーターは異なります。たとえば、正規化された回帰モデルには係数ペナルティがあり、決定木には指定された数の枝があり、ニューラルネットワークには指定された数のレイヤーがあります。モデルを構築する場合、複数のデータセットに対してモデルを実行した後で初めて、これらのハイパーパラメーターのデフォルト設定を選択します。汎用のハイパーパラメーターセットは分析の開始点となり、一般的にアルゴリズムのパフォーマンスは十分なものとなりますが、特定のデータセットおよびビジネス問題に最適な設定がある場合があります。データにとって最適なハイパーパラメーターを見つけるには、チューニングが必要です。通常、チューニングは試行錯誤の繰り返しです。一部のハイパーパラメーター(ツリーベースのアルゴリズムでの木の数、線形アルゴリズムでのアルファの値など)を変更し、アルゴリズムを再び実行し、検定セットでパフォーマンスを比較して、どのパラメーターセットが最も精度の高いモデルを構築するかを判断します。

 

チューニングが重要な理由とは?

予測モデルを開発するときの第 1 の目標は、可能な限り最も精度の高い予測を生成することです。そのための方法として最適なのは、入力データにとって最適であるようにモデルをカスタマイズすることです。これこそまさにチューニングの目的です。モデルがデータに対してチューニングされればされるほど、より適切な予測が得られ、より多くのビジネス価値を獲得できます。データセットはすべて異なるのに、なぜ異なるデータセットにまったく同じモデルを適用しようとするのでしょうか。理にかなっていません。この落とし穴から救ってくれるのがチューニングです。

 

チューニング + DataRobot

DataRobot には、手動で多くの微調整やコーディングを実行しなくてもモデルをチューニングできる機能が複数あります。データセットに対してブラケットスタイルでアルゴリズムの競争を初めて実行するとき、DataRobot は一連の値から特定のハイパーパラメーターを検索します。たとえば、検定セットに基づいて、50 ツリー、100 ツリー、または 200 ツリーを試します。アルゴリズムが実行を終了したら、モデルを選択し、[高度なチューニング]セクションでグリッド検索の結果を視覚化できます。別のハイパーパラメーターセットを試して初回の精度を上回ることができるかどうかを確認する場合は、値を変更するだけで、すぐに新しいモデルを実行できます。終了すると DataRobot のリーダーボードに表示され、そのパフォーマンスを元のモデルと比較できます。 チューニング DataRobot でのチューニングの最大のメリットとは?専門的すぎるように見える場合も心配は要りません。DataRobot は、精度の高いモデルを構築するプリセットのハイパーパラメーターを使ってモデルを自動的に実行します。したがって、データにとって最も精度の高いモデルを選択することだけに集中できます。モデルを手動でチューニングする必要がある場合も、DataRobot なら簡単です。