ランダムフォレストは、分類、回帰、その他のタスクに使用されるアンサンブル学習法である。訓練中に多数の決定木を構築し、その出力を組み合わせる。分類では、最も多くの木が選択したクラスを返し、回帰では、個々の木の予測を平均する。この手法は、深い決定木が訓練セットに過適合する傾向を修正し、バイアスを低く保ちながら分散を減らす。
最初のランダムフォレストアルゴリズムは、1995年にTin Kam Hoによって、ユージン・クラインバーグが提案した確率的判別アプローチを実装するランダム部分空間法に基づいて開発された。レオ・ブレイマンとアデル・カトラーは後に、バギングとランダム特徴選択を組み合わせてこのアプローチを拡張し、2006年に「Random Forests」を商標登録した。2019年現在、この商標はMinitab, Inc.が所有している。
背景: 決定木とその限界
決定木はMachine learningで広く使用される手法である。バイナリスプリットの連続によって特徴空間を分割し、スケーラブルで解釈が容易である。しかし、深い木は高度に不規則なパターンを学習する傾向があり、低いバイアスだが非常に高い分散をもたらす。実際には、特定のデータセットで訓練された木は、少数の訓練点が変更されると劇的に変化する可能性があり、その予測は訓練データに対してのみ正確であることが多い。トレバー・ハスティらが指摘したように、未知のデータに対して正確であることは稀である。ランダムフォレストは、それぞれ異なるデータサブセットで訓練された多数の深い木を平均化することで、分散を大幅に減らし、この問題に対処する。
木手法の難しさは、同じデータで多くの木を成長させると、相関のある予測が生成されることである。木の相関をなくすために、ランダムフォレストはブートストラップとランダム特徴選択を使用し、個々の木を多様でありながら強力にする。
歴史と発展
ランダム決定フォレストの一般的なアイデアは、1993年のSalzbergとHeathの研究に登場し、ランダム化決定木アルゴリズムを使用して複数の木を生成し、多数決で組み合わせることを提案した。1995年、Tin Kam Hoはこのアイデアを拡張し、斜め超平面で分割する木のフォレストが、ランダムに特徴次元のサブセットのみに制限される場合、過訓練に苦しむことなく成長するにつれて精度が向上することを示した。Hoの手法はランダム部分空間法と呼ばれ、訓練データをランダムに選択された特徴部分空間に射影して木を構築した。このアプローチはランダムフォレストの発展における重要なステップであった。
その後のAmitとGemanによる研究は、各分割で利用可能な決定のランダムサブセットを検索するアイデアを独立に導入したが、単一の木に適用した。独立に、トーマス・ディータリッヒはランダム化ノード最適化のアイデアを導入し、各ノードで選択される属性が決定論的な最適性基準ではなくランダムな手順によって選択されるようにした。これらのアイデアは、レオ・ブレイマンの以前のバギングに関する研究と組み合わされ、現代のランダムフォレストの定式化につながった。ブレイマンの影響力のある2001年の論文は、機械学習で最も引用されたものの一つであり、これらのターゲットを組み合わせ、フォレスト内の木の強度と相関に基づく一般化誤差の理論的限界を提供した。
ブレイマンの論文はまた、実用的なツールを確立した。別の検証セットなしで一般化誤差を推定するためのアウトオブバッグ誤差と、特徴の値をランダムにシャッフルしたときに性能がどの程度低下するかを測定する置換ベースの変数重要度である。これらは今日でもランダムフォレストの中核的な側面である。
バギングとアンサンブル学習
ランダムフォレスト訓練の基本技術は、ブートストラップ集約、すなわちBaggingである。特徴Xと応答Yを持つ訓練セットが与えられた場合、アルゴリズムは訓練データからB回復元抽出を行い、毎回同じサイズの新しいデータセットを作成する。決定木は、通常深く成長させ剪定せずに、各ブートストラップサンプルに適合させる。訓練後、新しい点に対する予測は、回帰では平均を取るか、分類では多数決を取ることによって行われる。このメタアルゴリズムは、相関のない多くの木の平均が単一の木よりも安定しているため、バイアスを増やさずに広範な分散を減少させる。
ブートストラップサンプリングは、異なる訓練セットを木に示すことで木の相関をなくす。すべての木が同じ元のデータで訓練された場合、それらは非常に類似し、同じ誤差を起こしやすい。ブートストラップを使用することで、各木はランダムな変動を捉える。モデルはBが増加するにつれて分散削減を得るが、数百本の木の後、限界的な改善は減少する。実際には、Bはしばしば500または1000本の木に設定されるが、現代の実装はアウトオブバッグ誤差が安定したときに自動的に停止する。
ランダムフォレストの重要な側面は、各木が通常、復元抽出による異なるデータセットで訓練されることである。観測値の約3分の2が各ブートストラップサンプルに少なくとも1回出現し、残りの3分の1はアウトオブバッグである。アウトオブバッグ予測は、専用の検証セットを必要とせずに一般化誤差を推定するために使用できるが、各観測値について、その観測値が訓練データに含まれなかった木を使用した集約予測に基づく。
ランダム特徴選択
ランダムフォレストの重要な革新は、各ノード分割での特徴のランダム選択である。従来の決定木は、すべての特徴の中から不純度を最も減らす分割を各ノードで選択することで最適化される。例えば、分類ではジニ不純度、回帰では二乗誤差である。しかし、ランダムフォレストでは、各分割はランダムに選択された特徴のサブセットのみを考慮し、多くの場合、総特徴数の平方根程度のサイズである。これにより、木が異なる構造を持つように強制され、木間の相関が減少する。時には、いくつかのグローバルな特徴が他のすべてを支配し、多くの木がほぼ同一になる可能性があるため、代替分割が選択される。候補特徴をランダムに制限することで、フォレストは他の方法では不可能な順列を探索でき、より堅牢な予測を達成できる。
このランダム部分空間アプローチはHoによって導入され、後にAmitとGemanのノードランダム化と組み合わされた。ブレイマンの最終的な定式化は各ノードでのランダムサブセット選択を使用したが、いくつかの変種は各木を適合させる前のみランダム選択を使用する。現代の実装は異なり、多くのライブラリは「ランダム部分空間」または「ランダム分割」戦略をサポートしている。一般的に、特徴次元dが使用され、分類ではsqrt(d)、回帰ではd/3のサイズのサブセットが使用される。
モデルの挙動と過適合耐性
ランダムフォレストは過適合に対する耐性で知られている。各木は深く、過適合する可能性があるが、アンサンブルは分散を減らす。特徴のランダム化が木を制限する限り、より深いフォレストは木が追加されるにつれてより良い性能を発揮する傾向がある。これはブレイマンの論文の理論的結果によって支持されており、木の強度が高く相関が低いほど狭まる一般化誤差の限界を示している。しかし、木の数が多すぎる場合、モデルは過適合しない。誤差はBが増加するにつれて近づくが、ラベルのノイズの影響を受けやすい可能性がある。特徴がランダムに選択されない場合、木は相関し、利点を相殺する可能性がある。ランダム特徴選択により、フォレストは分類器の複雑さが増しても精度を維持する傾向がある。これは、単一の木の深さを増やすこととは対照的であり、過適合につながる。
分類では、フォレストの出力は最も多くの投票を得たクラスである。回帰では、予測は個々の木の平均であり、木予測の標準偏差は不確実性の自然な推定値である。
実用的な用途と拡張
ランダムフォレストは、リモートセンシング、バイオインフォマティクス、金融、コンピュータビジョンなど多くの分野で適用されている。無関係な特徴に対して堅牢であり、非線形性を処理でき、理解可能性を提供するが、単一の木よりも解釈性は低い。変数重要度メトリクスにより、研究者はどの特徴が関連するかを特定できる。ランダムフォレストは人工知能でも使用され、深層学習やニューラルネットワークと並んで、多くの現代の機械学習タスクのベースラインとして伝統的な運用における基本的なアルゴリズムである。
拡張には、さらにランダムな分割閾値を持つエクストラツリーや、異常検出、ランキング、欠損値補完へのランダムフォレストの使用が含まれる。また、Machine learningパイプラインにおけるバギングとアンサンブル学習の構成要素としても使用される。
他のモデルとの比較
ランダムフォレストは、深層学習ベースのモデル(ニューラルネットワークなど)とは異なり、解釈可能で、必要なデータが少なく、より単純である。CPUで訓練できる一方、深層ニューラルネットワークはしばしばアクセラレータを必要とする。しかし、高次元データでは苦戦する可能性があるが、バイアスと誤差のバランスを取ることができる。画像やテキストなどの非構造化データでは効果が低く、深層学習が優れている。トレードオフは顕著であり、ランダムフォレストは堅牢なベンチマークであり続けるが、階層的表現学習が欠けている。
現代の人工知能研究の最前線では、大規模言語モデルやTransformer (architecture)ベースのアーキテクチャなどの手法が言語タスクを支配しているが、ランダムフォレストや他の木アンサンブルは、表形式データや説明可能なAIなどの分野で依然として一般的である。
関連項目
参考文献
元の出典は記事内で引用されているが、外部URLは関連しない。