Ch.07

アンサンブルとランダムフォレスト:集団の知恵

アンサンブルは複数のモデルの予測を合わせて、より良い一つの予測を得る方法です。バギング・ブースティング・スタッキング、そして多数の決定木で投票や平均をとるランダムフォレストまで、初心者にも集団の知恵の流れが分かるように説明します。

チャプター別 機械学習図

チャプターを選ぶと、下の図がそのチャプターの内容に切り替わります。機械学習の流れを一覧で確認できます。

複数モデル(木)の予測を投票または平均で合わせ、最終予測を得ます。

  • ① 訓練データからブートストラップサンプルを抽出し複数の木を学習
  • ② 各木が独立に予測
  • ③ 分類:多数決、回帰:平均 → 最終予測
  • ④ 最終予測が決まります
データ木1木2木3投票/平均予測

アンサンブルとランダムフォレスト:集団の知恵

アンサンブルの基本 — 複数モデルをチームにして、それぞれの予測を合わせて最終結論を出します。陪審の評決のように、1つのモデルより誤答(分散)が減り予測が安定します。分類では多数決、回帰では予測の平均を使います。
なぜ多数が有利か(集団の知恵) — 100人に牛の体重を目測させると、個人は外れても平均は本物に近くなります。モデルが独立に判定し結果を合わせると、個々の誤差は打ち消され共通のシグナルが残ります。
三つの代表手法:バギング・ブースティング・スタッキング
(1) バギング:各モデルに無作為に異なるデータを渡し、公平に投票。
(2) ブースティング:前のモデルが間違えた問題に次のモデルが集中し、順次弱点を補う。
(3) スタッキング:基本モデルの報告をメタモデルがまとめて最終決定。
ランダムフォレスト — バギング+決定木を数百本。多様性のため、各分割で特徴の無作為な一部だけを使います。ある木は「年齢」、ある木は「収入」中心に判断します。
投票と平均の式 — 分類の多数決は「最も多くの木が選んだクラス」。回帰(例:家賃)では全木の予測の平均:y^=1Bb=1By^b\hat{y} = \frac{1}{B}\sum_{b=1}^B \hat{y}_bBB=木の数、y^b\hat{y}_b=b本目の予測)。例:3本が100,150,200なら最終は150。
OOB(Out-of-Bag)評価 — バギング/ランダムフォレストでは各木がデータの一部だけを使って学習します。取り残されたサンプル(OOB)で、そのサンプルを見ていない木の性能を評価でき、別途検証セットを用意しなくて済みます。
揺れない森 — 1本の木はデータが少し変わるだけで形が変わりますが、数百本のなら数本が外れても全体の決定は安定します。
Ch06決定木の拡張 — 不純度・情報利得はそのまま。新しい規則ではなく「木をどう集めて投票するか」なので、前章の知識を100%使います。
現場・コンペの定番 — チューニングが少なくても性能が高く、特徴重要度でどの変数が効いているかも分かります。
分類・回帰の汎用 — 「スパムか?」から「明日の株価は?」まで、ほぼあらゆるビジネス問題に使われます。
要因分析(特徴重要度) — 融資モデルで木が共通して「年収」に依存していれば、年収が最重要変数だと分かります。
実用例 — 不正検知、推薦(Netflix等)、設備故障予測など、精度と安定性が重要な分野で中核です。
アンサンブル・ランダムフォレストの解法
(1) 多数決:クラス0の票数とクラス1の票数を比較し多い方が最終予測(0または1)。

(2) 票数:勝ったクラスに集まった票数が答え。

(3) 回帰平均:予測の合計÷木の数、必要なら四捨五入。

(4) OOB:そのサンプルが何本の木のブートストラップに含まれなかったかがOOB数。

(5) y^=1Bb=1By^b\hat{y} = \frac{1}{B}\sum_{b=1}^B \hat{y}_bBB は木の数。合計を BB で割ると平均。下の問題を解くための説明表を参照。