ホールドアウト法の語源と定義
ホールドアウト法(Holdout Method)は、「保留する」という意味の英語"hold out"から名前がつけられています。この手法では、全データセットから一部を「保留」し、それをモデル評価のためのテストデータとして利用します。
ユースケース
あなたはスーパーマーケットの店舗で働いており、様々なデータ(例:曜日、時間、天気、祝日か否か、近くに開催されるイベントの有無など)をもとに、その日の売上を予測するタスクに取り組んでいます。ここではランダムフォレストを選択するケースを考えてみましょう。
ランダムフォレストを選択した上で考えられるハイパーパラメータは「決定木の数」や「各決定木の最大深度」等が考えられますが、これらはモデルが訓練データから自動的に学習できるものではありません。これらのハイパーパラメータは、事前にこちらで設定しなければなりません。
しかしここで問題が生じます。どのハイパーパラメータの組み合わせが最良の結果を生むのか、あらかじめ知ることは困難です。このため、一般的なアプローチは、異なるハイパーパラメータの組み合わせを試し、最良の結果を生む組み合わせを選ぶというものです。これをハイパーパラメータのチューニングと呼びます。
異なるハイパーパラメータの組み合わせを試し、最良の結果を生む組み合わせを見つけることが一般的に行われるハイパーパラメータのチューニングですが、このチューニングには訓練データだけでなく、検証データという別のデータセットが必要となります。なぜなら、モデルが訓練データだけに過度に最適化(過学習)されてしまうと、新たなデータに対する予測性能が下がってしまう可能性があるからです。
そこで利用されるのがホールドアウト法です。(訓練データからハイパーパラメータ検証用のデータを保留する手法)。この手法では、訓練データを用いてモデルの初期学習を行い、検証データを使ってハイパーパラメータのチューニングを行います。この段階でモデルの汎化性能を確認し、最適なハイパーパラメータの組み合わせを見つけることが可能になります。
他のデータセット分割手法
ホールドアウト法以外にも、データセットの分割を行う手法はいくつか存在します。これらもまた、モデルの性能評価やハイパーパラメーターの調整に利用されます。主な手法には以下のようなものがあります:
k分割交差検証(k-fold Cross Validation): データセットをk個の同じ大きさのサブセットに分割し、そのうちの1つをテストデータ、残りのk-1個を訓練データとして用います。これをk回繰り返し、k個全てのサブセットが一度はテストデータとして用いられるようにします。各試行の評価結果の平均を取ることで、モデルの性能を評価します。
これらの手法を適切に利用し、ハイパーパラメーターの調整を行うことで、機械学習モデルの予測性能を最大化することができます