複数のモデルを組み合わせて単一モデルより高い性能を得るのがアンサンブル手法です。バギング・ブースティング・スタッキングという3大方式と、その基盤となるブートストラップを整理します。
📖 概要
アンサンブル手法は、複数のモデル(弱学習器)の予測を統合することで、単一モデルよりも汎化性能の高い予測器を構成する枠組みです。個々のモデルの誤りが互いに独立に近いほど、多数決や平均によって誤りが打ち消し合い、全体の誤差が減ります。つまりアンサンブルの鍵は「精度がそこそこあり、かつ多様性のあるモデル群」を作ることにあります。
多様性の作り方によって方式が分かれます。バギングは訓練データをブートストラップで復元抽出し、並列に学習した複数モデルの予測を平均・多数決します。ブースティングは前のモデルの誤りを重視するように逐次的にモデルを追加していきます。スタッキングは複数モデルの予測値自体を入力として、さらに上位のモデル(メタモデル)に統合を学習させます。バギングは主にバリアンス(予測のばらつき)の低減、ブースティングは主にバイアス(系統的な誤り)の低減に効くと整理されるのが一般的です。
🔍 キーワード解説
ブートストラップ
ブートストラップは、元の訓練データセットから同じサイズのデータセットを復元抽出(同じサンプルの重複を許して抽出)でランダムに作り直す統計的手法です。復元抽出のため、各ブートストラップ標本には元データの一部が複数回含まれる一方、選ばれないサンプルも生じます。この「選ばれなかったサンプル」はOOB(Out-Of-Bag)と呼ばれ、そのモデルの検証に利用できることも知られています。こうして少しずつ異なるデータセットを多数作れるため、モデルに多様性を持たせる手段としてバギングの基盤になっています。
バギング
バギング(Bagging; Bootstrap Aggregatingの略)は、ブートストラップで作った複数のデータセットでそれぞれ独立にモデルを学習し、回帰なら予測の平均、分類なら多数決で統合する手法です。各モデルは並列に学習でき、統合によって予測のばらつき(バリアンス)が低減されるため、決定木のような不安定でバリアンスの大きいモデルと相性が良いことが知られています。代表例がRandom Forestで、バギングに加えて分岐に使う特徴量もランダムに選ぶことで木の間の相関を下げています。
ブースティング
ブースティングは、モデルを1つずつ逐次的に追加し、それまでのモデルがうまく予測できなかったサンプルや残差を重点的に学習させることで、弱い学習器を組み合わせて強い学習器を構成する手法です。誤分類したサンプルの重みを増やして次の学習器を訓練するAdaBoostや、損失関数の勾配に基づいて残差を逐次フィッティングする勾配ブースティングが代表的です。バイアスを下げる効果が高い一方、逐次学習のため並列化しにくく、ノイズの多いデータでは過剰適合に注意が必要とされます。
スタッキング
スタッキングは、性質の異なる複数のモデル(第1段の学習器)の予測値を特徴量として並べ、それらを入力とする上位のメタモデル(第2段の学習器)に最終予測を学習させる手法です。たとえば決定木・ニューラルネットワーク・k近傍法など性質の異なるモデルの予測を、ロジスティック回帰などのメタモデルで統合する、といった構成がとられます。単純な平均や多数決と違い、「どのモデルの予測をどう重視するか」自体をデータから学習できる点が特徴です。メタモデルの学習には、第1段のモデルが訓練に使っていないデータへの予測(交差検証による予測など)を使うのが一般的で、これを怠ると情報漏えいにより過剰適合しやすくなります。
📝 試験でのポイント
- バギング=並列・復元抽出・バリアンス低減/ブースティング=逐次・誤りの重点学習・バイアス低減、という対比が最頻出
- ブートストラップは「復元抽出」であることが核心。非復元抽出と混同させる選択肢に注意
- Random Forestはバギング系、AdaBoostや勾配ブースティングはブースティング系という手法の分類も問われる
- スタッキングは「予測値を入力にメタモデルを学習する」点で単純な多数決・平均と区別する
- 深層学習の文脈では、ドロップアウトが「多数の部分ネットワークのアンサンブルの近似」と解釈されることも関連知識として押さえておく
📚 まとめ
アンサンブルは多様なモデルの統合で汎化性能を高める枠組みです。ブートストラップ(復元抽出)を基盤とするバギングは並列学習とバリアンス低減、ブースティングは逐次学習によるバイアス低減、スタッキングはメタモデルによる統合の学習が特徴です。3方式の学習の仕方と効果の違いを対比で覚えましょう。
