ランダムフォレスト(Random Forest)

Random Forest

機械学習 重要度:高

概要

ランダムフォレスト(Random Forest)とは、複数の決定木を組み合わせて予測を行うアンサンブル学習の代表的な手法です。個々の決定木は性能が低い場合でも、多数の決定木の予測結果を集約(分類では多数決、回帰では平均)することで、高い精度と安定性を実現します。

2001年にレオ・ブレイマン(Leo Breiman)によって提案されたランダムフォレストは、バギング(Bootstrap Aggregating)と特徴量のランダム選択という2つのランダム性を導入することで、個々の決定木の相関を減らし、アンサンブル全体の汎化性能を向上させています。チューニングが比較的容易で、分類にも回帰にも使える汎用性の高い手法として、実務で非常に広く活用されています。

詳細解説

決定木(Decision Tree)の基礎

ランダムフォレストの基本単位は決定木です。決定木は、データを特徴量の値に基づいて条件分岐し、木構造で分類・回帰を行う手法です。例えば、「年収が400万円以上か?」「年齢が30歳以上か?」といった条件で次々にデータを分割していきます。

決定木は解釈性が高い反面、単体では過学習しやすいという弱点があります。ランダムフォレストは、この弱点を複数の決定木のアンサンブルによって克服しています。

バギング(Bootstrap Aggregating)

バギングは、元のデータセットからブートストラップサンプリング(復元抽出)により複数の異なる訓練データセットを生成し、それぞれで独立に学習器を構築する手法です。各学習器の予測結果を集約することで、分散を減らし、過学習を抑制します。

ランダムフォレストでは、各決定木がブートストラップサンプルで学習されます。抽出されなかったデータ(Out-of-Bag: OOBデータ)は、モデルの性能評価に利用できるという利点もあります。OOBエラーを用いることで、交差検証を行わなくてもモデルの汎化性能を推定できます。

特徴量のランダム選択

ランダムフォレストがバギングと異なる重要な点は、各決定木の各ノードで分岐に使用する特徴量をランダムに選択することです。全ての特徴量を使うのではなく、特徴量のサブセットからのみ最良の分岐を選びます。

一般的に、分類タスクでは全特徴量数の平方根(√p)個、回帰タスクでは全特徴量数の3分の1(p/3)個の特徴量をランダムに選択します。この仕組みにより、個々の決定木間の相関が低くなり、アンサンブルの多様性が確保されます。

アンサンブル学習の考え方

アンサンブル学習とは、複数の学習器(弱学習器)を組み合わせて、単体よりも優れた予測性能を得る手法の総称です。ランダムフォレストはバギングに基づくアンサンブル手法であり、もう一つの代表的なアンサンブル手法としてブースティングがあります。

  • バギング:複数の学習器を独立・並列に学習し、結果を集約する。分散を減らす効果がある。
  • ブースティング:学習器を逐次的に学習し、前の学習器の誤りを修正していく。バイアスを減らす効果がある。

特徴量の重要度

ランダムフォレストは、各特徴量がどれだけ予測に貢献しているかを数値化する「特徴量重要度(Feature Importance)」を算出できます。これにより、どの変数が予測において重要なのかを解釈でき、特徴量選択やドメイン知識の獲得に活用できます。特徴量重要度の計算方法には、不純度の減少量に基づく方法やOOBデータを用いたPermutation Importanceがあります。

ランダムフォレストの長所と短所

  • 長所:過学習しにくい、パラメータチューニングが比較的容易、欠損値や外れ値に対して頑健、特徴量の重要度を算出できる、並列計算が可能
  • 短所:個々の木の解釈性が失われる、ブースティング手法(XGBoostなど)に精度で劣る場合がある、大規模データでは計算時間とメモリが必要

歴史・背景

ランダムフォレストの基礎となるバギングは、1996年にレオ・ブレイマンによって提案されました。ブレイマンは、1994年にティン・カム・ホーが提案したランダム部分空間法(Random Subspace Method)のアイデアも取り入れ、2001年に「Random Forests」として現在の形式を発表しました。この論文は機械学習分野で最も影響力のある論文の一つです。

レオ・ブレイマンはカリフォルニア大学バークレー校の統計学教授であり、決定木アルゴリズムCART(Classification and Regression Trees)の開発者としても知られています。ランダムフォレストは、実装の容易さと高い性能から、Kaggleなどのデータサイエンスコンペティションでも広く使われてきました。

具体的な事例

  • 医療診断支援:患者の検査値や症状データから疾患を予測するモデル構築に活用されています。特徴量重要度により、どの検査値が重要かを特定できます。
  • 信用スコアリング:銀行や金融機関で、顧客の信用リスクを予測するモデルとして活用されています。
  • リモートセンシング:衛星画像データから土地被覆分類(森林、農地、都市域など)を行う際に利用されています。
  • Eコマース:顧客の購買行動予測やレコメンデーションシステムにおいて活用されています。
  • 製造業の品質管理:製品の不良予測やプロセス最適化に活用され、重要な品質因子の特定にも利用されています。

G検定での出題ポイント

  • ランダムフォレストは複数の決定木を組み合わせたアンサンブル学習手法であることを理解する
  • バギング(ブートストラップサンプリング+集約)の仕組みを説明できること
  • 特徴量のランダム選択により個々の決定木の相関を減らす工夫を押さえる
  • バギングとブースティングの違いを区別できること
  • Leo Breimanが2001年に提案したことを知っておく
試験対策のポイント
  • ランダムフォレスト = バギング + 特徴量のランダム選択で決定木をアンサンブル
  • バギングは独立・並列に学習器を構築して結果を集約する手法。分散を減らす
  • ブースティングは逐次的に学習器を構築して誤りを修正する手法。バイアスを減らす
  • 決定木単体は過学習しやすいが、ランダムフォレストは過学習しにくい
  • 特徴量重要度を算出でき、モデルの解釈に役立つ