忍者ブログ
統計、機械学習、AIを学んでいきたいと思います。 お役に立てば幸いです。

【DS検定対策】交差検証が不要に!?「アウトオブバッグ(OOB)データ」の仕組み

ランダムフォレストなどのアンサンブル学習(バギング)では、データを復元抽出(重複ありで選ぶ)して複数のモデルを学習させます。このとき、「一度も選ばれずに余ったデータ」を活用する賢い仕組みが「アウトオブバッグ(OOB:Out-of-Bag)サンプル」です!

1. 【 問題 】

ランダムフォレストやバギングにおいて、ブートストラップサンプリング(重複を許してデータをランダム抽出する手法)を行った際、特定の決定木の学習データとして一度も抽出されなかったデータ(全体の約36.8%)を何と呼ぶでしょうか?

① アウトオブバッグサンプル(OOBサンプル / Out-of-Bag Sample)
② ホールドアウトサンプル(Hold-out Sample)
③ クロスバリデーションサンプル(Cross-Validation Sample)
④ 不均衡サンプル(Imbalanced Sample)


2. 【 解答 】

正解: ① アウトオブバッグサンプル(OOBサンプル / Out-of-Bag Sample)

3. 整理:なぜOOBデータがあると嬉しいのか?(最大メリット)

OOBデータ最大の強みは、「モデルの学習に一切使われていない未知のデータ」になっている点です。

通常のモデル評価:
交差検証(K-分割交差検証など)を行い、何度もデータを分割して学習と評価を繰り返す必要がある。

OOBを用いた評価(OOB Error):
学習に使わなかった約36.8%のOOBデータを「テストデータ代わり」にして精度を評価できる!

結論:
わざわざ交差検証を行わなくても、アンサンブル学習の構築と同時にモデルの汎化性能(未知データへの強さ)を高速に評価できるという大きなメリットがあります。

4. なぜ「約36.8%(約3分の1)」あまるのか?

データ数を N 件とし、N 件の中から重複を許して N 回ランダムに抽出する(ブートストラップサンプリング)場合、特定の1件のデータが1回の抽出で選ばれない確率は (1 - 1/N) です。

これを N 回繰り返したときに「一度も選ばれない確率」は、N を無限大に大きくしていくと数学的に 1/e (約0.368 = 約36.8%) に収束します。そのため、全体の約3分の1のデータが自然と「未抽出(OOB)」として残る仕組みになっています。


5. DS検定形式:実戦4択クイズ

问:ランダムフォレストにおける「アウトオブバッグ(OOB)エラ-(Out-of-Bag Error)」に関する記述として、最も適切なものはどれか。

① ブートストラップ抽出の過程で学習データに含まれなかったOOBサンプルを用いて算出されるため、交差検証(Cross Validation)を行わずに汎化性能を推計できる。
② OOBサンプルとは、外れ値(アウトライア)として前処理の段階でデータセットから削除されたデータのことを指す。
③ OOBエラーは訓練データ(学習に使ったデータ)に対する誤分率を直接計算したものであり、過学習の有無を検出することはできない。
④ ブートストラップ抽出において、データ数が十分に大きい場合、OOBサンプルが占める割合は全体の約50%になる。

【 正解: ① 】

解説: OOBの役割とメリットを問う実戦問題です。
①が正解です。OOBは学習に使われていないため、交差検証の代わりとして汎化性能を評価できます。
②前処理で削除された外れ値のことではありません。
③学習に使われていないデータで評価するため、過学習(汎化性能の低下)を正しく評価できます。
④OOBサンプルが占める割合は、数学的に約36.8%(1/e)となります。


6. まとめ

DS検定や資格試験で「ブートストラップで一度も選ばれなかったデータ」「テストデータの代わり」「交差検証をしなくても汎化性能を評価できる」「約36.8%(約1/3)」といったフレーズが出たら、正解は「アウトオブバッグ(OOB)」です! ランダムフォレストの処理効率の高さ(高速さ)を支える重要概念ですので、しっかり覚えておきましょう!

PR