本文へ移動

G検定(ジェネラリスト検定)

ほーるどあうとけんしょう

ホールドアウト検証

Holdout Validation

ホールドアウト検証は、手元のデータをランダムに訓練データと検証データの2つに分け、訓練データで学習させたモデルの誤差を検証データで測ることで、未知のデータに対する誤差(テスト誤差)を見積もる評価方法です。手順が簡単な一方で、分け方によって結果が変わりやすいという弱点があります。

詳しい説明

手元のデータを訓練用と検証用に分ける

ホールドアウト検証(validation set approach)は、あるモデルを使ったときのテスト誤差、つまりまだ見ていないデータに対する誤差を見積もるための、とても単純な方法です。

手順は次のとおりです。

1. 手元にあるデータを、ランダムに2つに分けます。一方を訓練データ、もう一方を検証データ(ホールドアウトセット、hold-out set)と呼びます。
2. 訓練データだけを使ってモデルを学習させます。

3. 学習したモデルで検証データの値を予測し、実際の値との誤差を求めます。

こうして得た検証データでの誤差を、テスト誤差の見積もりとして使います。数値を予測する問題では、誤差の指標として平均二乗誤差(MSE)がよく使われます。

自動車の燃費を予測するモデルを比べる例

392台の自動車について、燃費(mpg)と馬力(horsepower)の関係を記録したデータを例にします。このデータをランダムに196件の訓練データと196件の検証データに分けました。訓練データで線形・二次・三次の3つの回帰モデルを学習させ、それぞれの性能を検証データのMSEで比べます。

結果は、二次モデルのMSEが線形モデルよりかなり小さくなりました。一方、三次モデルのMSEは二次モデルよりわずかに大きくなりました。このように、ホールドアウト検証を使うと、複数のモデルのうちどれが未知のデータでよく当たりそうかを比べられます。

分け方しだいで結果が変わる

同じデータでも、ランダムな分割をやり直すと、テスト誤差の見積もりは少しずつ変わります。上の例で分割を10通り試したところ、10本のMSEの曲線はそれぞれ異なる見積もりを示しました。どのモデルのMSEが最も小さいかについても、曲線どうしで意見がそろいませんでした。どのデータが訓練側に入り、どのデータが検証側に入るかによって、見積もりが大きくばらつくことがあるのです。

学習に使えるデータが減る

ホールドアウト検証では、データの一部を検証用に取っておくため、モデルの学習には訓練データの分しか使えません。一般に、少ないデータで学習したモデルは性能が下がりやすくなります。そのため、検証データで測った誤差は、データ全体で学習したモデルの誤差よりも高めに出る(性能を悪く見積もる)傾向がありえます。

交差検証との関係

ホールドアウト検証は、考え方が単純で実装もしやすい方法です。上に挙げた2つの弱点を改善するために考えられたのが交差検証です。交差検証の手順は別の用語で扱います。なお、ホールドアウト検証は、G検定シラバス2024の中項目10 モデルの選択・評価のキーワードに含まれています。

試験で問われること

G検定

  • ホールドアウト検証では、手元のデータをランダムに訓練データと検証データ(hold-out set)の2つに分ける。訓練データでモデルを学習させ、検証データでの誤差をテスト誤差の見積もりとして使う。
  • 数値を予測する問題では、検証データでの誤差の指標として平均二乗誤差(MSE)がよく使われる。検証データでのMSEを比べることで、複数のモデルのうちどれが良さそうかを選べる。
  • 弱点の1つ目は、どのデータが訓練側と検証側に入るかによって見積もりが大きくばらつくことである。
  • 弱点の2つ目は、学習に使えるデータが検証データの分だけ減ることである。そのため、データ全体で学習したモデルに比べて誤差を高めに見積もる傾向がありえる。
  • 交差検証は、ホールドアウト検証のこの2つの弱点を改善するための方法として位置づけられている。

最終更新日: 2026/09/23