用語集

ランダムフォレスト

強力なアンサンブル学習アルゴリズムであるランダムフォレストが、分類、回帰、および実際のAIアプリケーションにおいてどのように優れているかをご覧ください。

Ultralytics HUB で
を使ってYOLO モデルをシンプルにトレーニングする。

さらに詳しく

ランダムフォレストは、機械学習(ML)において強力で広く使われているアンサンブル学習法である。学習中に多数の決定木を構築し、個々の木のクラスの最頻値(分類)または平均予測値(回帰)を出力することで動作する。教師あり学習アルゴリズムとして、ラベル付けされた訓練データを活用してパターンを学習し、予測を行う。Leo Breimanによって導入されたコア・アイデアは、単一の決定木と比較してより高い精度とロバスト性を達成するために、多くの装飾された木の予測を組み合わせることであり、オーバーフィッティングのリスクを大幅に削減する。

ランダムフォレストの仕組み

このアルゴリズムは、樹木間の多様性を確保するために、2つの重要なテクニックを使って決定木のアンサンブル(「森」)を構築する:

  1. バギング(ブートストラップ集約):フォレストの各ツリーは、元のデータセットから異なるランダムなサンプルを用いて学習される。つまり、1つのツリーのトレーニングセットで複数回使用されるデータポイントもあれば、まったく使用されないデータポイントもある。このプロセスは分散を減らすのに役立つ。
  2. 特徴のランダム性:木を構築する際にノードを分割する際、ランダムフォレストはすべての特徴を評価するのではなく、利用可能な特徴のランダムなサブセットのみを考慮する。これにより、木がさらに装飾され、アンサンブルがよりロバストになる。

フォレストがトレーニングされると、新しいデータポイントに対する予測を行うには、フォレスト内のすべてのツリーを通過させる必要がある。分類タスクの場合、最終予測はすべての木の多数決で決定される。回帰タスクの場合、最終予測はすべての木からの予測の平均となる。

主要コンセプトと利点

ランダムフォレストを理解するには、いくつかの核となる概念がある:

  • 決定木:基本的な構成要素。ランダムフォレストは、個々の樹木の単純さと解釈しやすさを活用すると同時に、過剰適合の傾向を緩和する。
  • アンサンブル法:複数のモデル(ツリー)を組み合わせて全体のパフォーマンスを向上させるもので、MLでは一般的な戦略である。
  • ハイパーパラメータの調整:フォレスト内の木の本数や、各分割で考慮する特徴の数などのパラメータは、多くの場合クロスバリデーションや専門的なハイパーパラメータチューニングガイドのような手法を使って、慎重に調整する必要がある。
  • 特徴の重要性:ランダムフォレストは、予測を行う際の各特徴の重要性を推定することができ、データに対する貴重な洞察を提供する。これは多くの場合、ある特徴がすべての木にわたって不純物を減らすのにどれだけ貢献したかに基づいて計算されます。

利点としては、高い予測精度、ノイズや外れ値に対する頑健性、多くの特徴を持つ大規模データセットの効率的な取り扱い、オーバーフィッティングを防ぐ組み込みメカニズムなどが挙げられる。しかし、単純なモデルに比べて訓練に計算量がかかることがあり、単一の決定木よりも解釈しにくいと考えられることが多い。

実世界での応用

ランダムフォレストは汎用性が高く、多くの領域で使用されている:

  1. 財務モデリング:銀行は信用リスク評価にランダムフォレストを使用し、融資希望者の財務履歴や特徴から貸し倒れの可能性を判断する。また、不正検知システムにも応用されています。金融におけるAIの詳細については、こちらをご覧ください。
  2. 医療診断 医療画像分析において、ランダムフォレストは医療画像(MRIスキャンなど)を分類し、臨床データに基づいて異常を検出したり、患者の転帰を予測したりするのに役立ち、より迅速で正確な診断に貢献します。ヘルスケアソリューションにおけるAIについて詳しくはこちら。
  3. 電子商取引:ユーザーの嗜好を予測し、商品を提案するレコメンデーションシステムに使用。
  4. 農業環境要因に基づいて作物の収量を予測し、農業ソリューションにおけるAIに貢献する。

他モデルとの比較

  • 対決定木: 決定木から構築される一方で、ランダムフォレストは、単一の木によくある高い分散とオーバーフィッティングの問題を克服するために、多くの木を集約します。
  • 対勾配ブースティング(XGBoost/LightGBM): XGBoostや LightGBMのようなアルゴリズムもツリーベースのアンサンブルだが、ツリーを順次構築し、それぞれの新しいツリーが前のツリーのエラーを修正しようとする。ランダムフォレストは独立して並列にツリーを構築する。ブースティング手法は、より高い精度を達成できる場合もあるが、より慎重なパラメータ・チューニングが必要になる場合がある。
  • 対ディープラーニングランダムフォレストは通常、構造化されたデータや表形式のデータを得意とする。画像やシーケンスのような非構造化データに対しては、通常、畳み込みニューラルネットワーク(CNN)やトランスフォーマーのようなディープラーニング(DL)モデルが好まれる。物体検出や 画像セグメンテーションのようなタスクでは、次のようなモデルに依存することが多い。 Ultralytics YOLOのようなモデルに依存することが多く、Ultralytics HUBのようなプラットフォームを使って学習・管理することができます。

テクノロジーとツール

人気のある機械学習ライブラリのいくつかは、ランダムフォレスト・アルゴリズムの実装を提供している。広く使われている Pythonライブラリは、ハイパーパラメータのチューニングオプションを備えた包括的なランダムフォレストの実装を提供している。多くの伝統的なMLタスクでは強力ですが、最先端のコンピュータビジョンアプリケーションではMLOpsライフサイクルをサポートする特殊なアーキテクチャとプラットフォームが必要になることがよくあります。実世界のビジョンAIの問題にYOLO モデルを活用した様々なUltralytics ソリューションをご覧ください。

すべて読む