1本の決定木は分かりやすい反面、過学習しやすいのが弱点です。それなら「たくさんの木を育てて多数決を取ればいい」——この発想を形にしたのがランダムフォレストです。名前のとおり、ランダムに作った木の「森」で予測します。

📖 ひと言でいうと

ランダムフォレストとは、ブートストラップサンプリングでデータを、さらに特徴量もランダムに選んで多数の決定木を作り、それらの多数決(回帰なら平均)で出力を決めるアンサンブル学習の手法です。バギングの枠組みで決定木を使う代表的なモデルとして位置づけられます。

身近な例えでいうと、1人の専門家に全部を任せるのではなく、それぞれ違う資料の一部だけを読んだ大勢の審査員に判定させて多数決を取るイメージです。1人ひとりの判断は偏っていても、偏り方がバラバラなら、多数決では偏りが打ち消し合って安定した結論になります。

🖼 1枚でわかるランダムフォレスト

ランダムフォレストの要点
  • 決定木を多数使うアンサンブル学習 — バギング+決定木の代表格
  • データをランダムに — 各木にブートストラップサンプリングで別々の標本
  • 特徴量もランダムに — 木ごとに使う特徴量をランダムに選ぶ
  • 多数決で出力 — 複数の木の結果を統合して精度向上を狙う
  • 過学習しやすい弱点をある程度解消 — 単独の決定木より安定
つくもち屋「G検定対策」SUMMARY

📘 公式テキストの説明

「決定木」において特徴量をランダムに選びだす手法。ランダムフォレストでは特徴量をランダムに選び出す(ランダムに複数の決定木を作る)。学習に用いるデータも全データを使うのではなく、それぞれの決定木に対してランダムに一部のデータを取り出して学習を行う(ブートストラップサンプリング)。複数の決定木の結果から、多数決で出力を決定することで全体的に精度向上することを期待している。なお、複数のモデルで学習することをアンサンブル学習、全体から一部のデータを用いてアンサンブル学習する方法をバギングという。ランダムフォレストはバギングの中で決定木を用いている手法である。過学習しやすいという弱点がある程度解消される。

公式テキストの説明には、ランダムフォレストの「二重のランダム」が書かれています。1つ目は特徴量のランダム選択、2つ目はブートストラップサンプリングによるデータのランダム抽出です。この2つで互いに個性の違う決定木を量産し、多数決で統合します。さらに「アンサンブル学習」「バギング」との関係(ランダムフォレスト=バギング+決定木)も明記されており、この階層関係はそのまま試験で問われます。

🔍 しっかり理解する

出発点: 決定木の弱点

決定木は「もし年齢が30歳以上なら右へ、未満なら左へ」のようにYes/Noの分岐を繰り返して予測するモデルで、結果の理由を人間が読める強力な利点があります。しかし1本の木を深く育てると、学習データの細かい偶然まで分岐に刻み込んでしまい、過学習しやすいという弱点があります。しかも木の形はデータが少し変わるだけで大きく変わる、不安定なモデルでもあります。

この「不安定さ」は、実はアンサンブルとの相性の良さでもあります。ばらつきやすいモデルをたくさん作って平均すれば、ばらつき(バリアンス)が打ち消されて安定するからです。ランダムフォレストはこの性質を最大限に活かした設計です。

二重のランダム化と多数決

データを抽出
ブートストラップサンプリングで木ごとに標本を用意
特徴量を選択
使う特徴量もランダムに選ぶ
多数の木を学習
個性の違う決定木を並列に育てる
多数決で出力
分類は多数決・回帰は平均

なぜデータだけでなく特徴量までランダムにするのでしょうか。データだけを変えても、「圧倒的に強い特徴量」があると、どの木もその特徴量を最初の分岐に使ってしまい、似た者同士の木ばかりになります。似た木の多数決は多数決の意味が薄いのです。特徴量の候補を木ごと(厳密には分岐ごと)にランダムに絞ることで、あえて違う特徴量に頼る木を作り、木同士の相関を下げます。多様性の高い森ほど、多数決の効果=精度向上が大きくなります。

アンサンブル学習の中での位置づけ

用語の階層を整理しましょう。複数のモデルを組み合わせて学習する枠組み全体が「アンサンブル学習」。その中で、全体から一部のデータを取り出して(ブートストラップサンプリング)複数モデルを並列に学習し統合する方法が「バギング」。バギングの中で、ベースのモデルに決定木を使うのが「ランダムフォレスト」です。一方、モデルを逐次的に積み上げて前の誤りを補正していく方式は「ブースティング」(勾配ブースティングなど)と呼ばれ、並列型のバギングとは対照的です。

💡 具体例で考える

銀行の与信審査を例に考えます。顧客の年収・勤続年数・借入件数・年齢など20個の特徴量から返済延滞のリスクを予測するとしましょう。1本の決定木で作ると「たまたま学習データにいた特殊な顧客」に合わせた細かすぎる分岐ができ、新規顧客への判定がぶれがちです。

ランダムフォレストなら、たとえば100本の木を用意し、各木にはブートストラップサンプリングで選んだ顧客データと、20個のうちランダムに絞った特徴量の組を与えます。ある木は「年収と借入件数」を軸に、別の木は「勤続年数と年齢」を軸に育つ、というように視点の違う木がそろいます。新規顧客の審査では100本の木がそれぞれ「延滞リスクあり/なし」を判定し、多数決で最終判断を出します。1本の木の細かい癖は多数決に埋もれるため、単独の決定木より安定した審査になります。また、ランダムフォレストは「どの特徴量が判定にどれだけ効いたか」という特徴量の重要度を測る目安を出せるため、審査基準の説明材料としても実務で重宝されます。

⚠️ よくある誤解・紛らわしい用語

💡 ポイント
  • 「ランダム」はデータだけではない: ブートストラップサンプリングによるデータのランダム抽出に加えて、特徴量のランダム選択も行います。片方だけと覚えると正誤問題で失点します。
  • バギングとの関係の混同: バギングは手法の枠組み、ランダムフォレストは「バギングで決定木を使う具体的手法」です。「ランダムフォレストはブースティングの一種」という選択肢は誤りです。
  • 勾配ブースティングとの混同: 同じ決定木ベースのアンサンブルでも、ランダムフォレストは並列に独立した木を作り多数決、勾配ブースティングは逐次的に木を追加して誤りを補正します。動かし方が根本的に違います。
  • 「過学習が完全になくなる」わけではない: 公式テキストの表現は「弱点がある程度解消される」です。過学習が起こらなくなると断言する選択肢は言い過ぎで、誤りと判断できます。

📝 試験でのポイント

💡 ポイント
  • 「データはブートストラップサンプリング・特徴量はランダム選択・出力は多数決」という3点セットの穴埋め・正誤が中心と想定されます。
  • 「アンサンブル学習/バギング/ランダムフォレスト」の包含関係(広い順に並べる・対応づける)を問う形式に備えましょう。
  • バギング(並列)とブースティング(逐次)の対比の中で、ランダムフォレストをバギング側に正しく分類できるかが問われます。
  • 効果の記述は「過学習しやすい弱点が"ある程度"解消される」という控えめな表現まで含めて覚えておくと、極端な選択肢を切れます。

📚 まとめ

ランダムフォレストは、ブートストラップサンプリングによるデータのランダム抽出と特徴量のランダム選択で多様な決定木を多数作り、多数決で出力を決めるアンサンブル学習の手法です。バギングの中で決定木を用いる代表的手法であり、決定木単体の「過学習しやすい」という弱点をある程度解消します。「二重のランダム+多数決」と「アンサンブル学習>バギング>ランダムフォレスト」の階層関係を押さえることが試験対策の核心です。