アンサンブル学習は、「三人寄れば文殊の知恵」を機械学習で実現する手法です。1つの賢いモデルに頼るのではなく、複数のモデルの意見を組み合わせて精度を高めます。G検定では定義に加えて、代表的な方式であるバギングとブースティングの違いまで問われる頻出テーマです。
📖 ひと言でいうと
アンサンブル学習とは、複数の学習器(モデル)をそれぞれ学習させ、その出力を多数決や平均などで組み合わせて、1つの学習器よりも良い予測を得る手法です。例えるなら、診断の難しい病気について複数の医師にセカンドオピニオンを求め、多数派の意見を採用するようなものです。一人ひとりの医師が時々間違えても、間違え方がバラバラであれば、多数決を取ることで誤診の可能性を減らせます。厳密には、各学習器の誤りに多様性があることが効果の前提になります。
🖼 1枚でわかるアンサンブル学習
📘 公式テキストの説明
複数の学習器を個別に学習し、それらの出力を組み合わせることによって問題を解く手法。出力の組み合わせ方は、平均だけでなく、多数決や重み付きの投票なども含まれる。
短い定義ですが、2つの要素が詰まっています。1つ目は「複数の学習器を個別に学習する」こと。1つの巨大モデルを作るのではなく、独立した複数のモデルを用意します。2つ目は「出力の組み合わせ方」にバリエーションがあることです。数値を予測する回帰問題なら各モデルの予測値の平均、カテゴリを当てる分類問題なら多数決が基本で、さらに成績の良いモデルの意見を重視する重み付き投票もあります。
🔍 しっかり理解する
なぜ「寄せ集め」が強いのか
個々のモデルには、たまたま学習データの偏りを拾ってしまった誤りグセがあります。重要なのは、モデルごとに誤りグセが異なる(多様性がある)ことです。あるモデルが間違えるケースでも、他の多くのモデルが正解していれば、多数決の結果は正解になります。逆に、全員が同じ間違いをするなら組み合わせても意味がありません。そのためアンサンブル学習の各方式は、「いかに互いに違うモデルを作るか」を工夫しています。
二大方式——バギングとブースティング
- データを復元抽出で少しずつ変えて複数モデルを並列に学習
- 結果は多数決・平均で統合
- 予測のばらつき(バリアンス)を抑え、過学習に強い
- 代表例: ランダムフォレスト
- モデルを順番に学習し、前のモデルの誤りを次のモデルが重点的に補う
- 弱い学習器を段階的に強くしていく
- 高精度を狙えるが、学習は逐次的で時間がかかりやすい
- 代表例: AdaBoost、勾配ブースティング
バギングは、元の学習データから復元抽出(同じデータの重複を許して引き直す方法)で少しずつ異なるデータセットを複数作り、それぞれで学習器を並列に育てる方式です。決定木をバギングで多数束ね、さらに使う特徴量もランダムに変えて多様性を高めた手法がランダムフォレストです。
ブースティングは、まず1つ目のモデルを学習させ、それが間違えたデータを重視して2つ目を学習させる、という工程を直列に繰り返す方式です。一人ひとりは単純な「弱い学習器」でも、誤りを補い合う形で積み重ねると強力な予測器になります。並列に独立して学習するバギングに対し、ブースティングは前の結果に依存して順番に学習する——この対比が試験の急所です。
組み合わせ方の使い分け
出力の統合方法は問題の種類で変わります。カテゴリを当てる分類問題では各モデルの投票による多数決、数値を予測する回帰問題では予測値の平均が基本です。さらに、検証データでの成績に応じて各モデルの票の重みを変える重み付き投票を使えば、優秀なモデルの意見をより強く反映できます。
なお、バギング・ブースティングのほかに「スタッキング」と呼ばれる方式もあります。これは複数のモデルの予測結果を新たな入力とみなし、それらをどう組み合わせるべきかを別のモデルに学習させる方法で、単純な多数決よりも柔軟な統合ができます。まずは二大方式を軸に、発展形としてスタッキングがあると覚えておけば十分です。
💡 具体例で考える
アンサンブル学習の威力を体感できる例が、機械学習コンペティションです。世界中のデータ分析者が精度を競うコンペでは、上位入賞者の解法の多くが勾配ブースティング系の手法や、複数モデルの予測を組み合わせる戦略を採用していることで知られています。単一の凝ったモデルより、性質の異なるモデルの合議のほうが最後のひと伸びに効く、というのが実務でも定番の知見です。
もうひとつの身近な例がランダムフォレストです。たとえば銀行の融資審査モデルで、年収・勤続年数・借入履歴などから返済可能性を予測する場合、1本の決定木では学習データの偶然の偏りに引きずられがちですが、数百本の木の多数決にすると判定が安定します。「木(決定木)を集めて森(フォレスト)にする」という名前自体が、アンサンブル学習の発想をそのまま表しています。しかも各決定木は使うデータも特徴量も少しずつ異なるため、誤りグセの多様性が自然に確保される——アンサンブル学習の成功条件を仕組みとして満たしている点も、代表例とされるゆえんです。
⚠️ よくある誤解・紛らわしい用語
- バギングとブースティングの取り違え — バギングは「並列・独立に学習して合議」、ブースティングは「直列・前の誤りを次が補う」。この対比の入れ替えが誤答選択肢の定番です。
- 「組み合わせ方は平均だけ」は誤り — 公式テキストのとおり、平均のほか多数決や重み付きの投票も含まれます。
- 「モデルを増やせば必ず精度が上がる」は誤り — 各学習器の誤りが似通っていると効果は出ません。多様性が効果の源泉です。
- ランダムフォレストとの関係 — ランダムフォレストはアンサンブル学習(バギング系)の代表的な具体例であり、アンサンブル学習と並列の概念ではありません。
📝 試験でのポイント
- 定義「複数の学習器を個別に学習し、出力を組み合わせて問題を解く手法」はそのまま正誤判定で問われます。
- 出力の組み合わせ方として「平均・多数決・重み付きの投票」を選ばせる問題が想定されます。
- バギング=並列=ランダムフォレスト、ブースティング=直列=AdaBoost・勾配ブースティング、という対応は頻出です。
- 「単一の学習器で学習する手法である」といった記述は誤りと即断できるようにしておきましょう。
📚 まとめ
アンサンブル学習は、複数の学習器を個別に学習させ、平均・多数決・重み付き投票などで出力を組み合わせて問題を解く手法です。効果の源泉はモデル間の多様性にあり、代表的な方式として、並列に学習するバギング(例: ランダムフォレスト)と、前の誤りを次が補う直列型のブースティング(例: AdaBoost)があります。定義と二大方式の対比を押さえれば、試験対策として十分な土台になります。
