ブートストラップ集約(Bootstrap aggregating)は、一般にバギング(bagging)と呼ばれ、機械学習におけるアンサンブルメタアルゴリズムであり、分類および回帰アルゴリズムの安定性と精度を向上させることを目的としている。これは分散を低減し、過学習を軽減するのに役立つ。バギングは決定木法に頻繁に適用されるが、任意のタイプのモデルで使用できる。これは、複数のモデルを組み合わせて単一の予測を生成する、より広範なアンサンブル平均化アプローチの特殊なケースである。
この手法は1990年代にThomas Dietterichによって導入されたが、「バギング」という用語は1994年の論文でMichael Jordanによって造られた。バギングはそれ以来、機械学習における基礎的なツールとなり、特にランダムフォレストやその他のアンサンブル手法の開発において重要な役割を果たしている。
核となるアイデア
バギングの背後にある核となるアイデアは、平均化の力を活用することである。トレーニングデータのわずかに異なるサブセットで訓練された個々のモデルは、無相関な誤差を持つ傾向がある。それらの予測を平均化することで、これらの誤差は相殺され、より堅牢で正確な最終モデルが得られる。これは、トレーニングデータの小さな変化が学習モデルの大きな変化につながる可能性がある不安定なアルゴリズムにとって特に有益である。
バギングアルゴリズム
サイズ \( n \) の標準的なトレーニングセット \( D \) が与えられた場合、バギングは \( D \) から一様に復元抽出(ブートストラップ)を行うことにより、それぞれサイズ \( n' \) の \( m \) 個の新しいトレーニングセット \( D_i \) を生成する。このサンプリングプロセスはブートストラップとして知られている。\( n' = n \) の場合、大きな \( n \) に対して、各 \( D_i \) は \( D \) からのユニークなサンプルの約63.2%を含み、残りは重複であると期待される。この割合は極限 \( 1 - 1/e \) から生じる。復元抽出により、各サンプルの選択が以前の選択に依存しないため、各ブートストラップサンプルは他から独立していることが保証される。
\( m \) 個のブートストラップサンプルを生成した後、各サンプルに対して \( m \) 個のモデルが適合される。回帰タスクの場合、最終的な予測は個々のモデル出力の平均である。分類タスクの場合、最終的な予測は投票、通常は多数決によって決定される。
主要な用語:元データ、ブートストラップ、およびアウトオブバッグデータセット
ブートストラップ集約では、元データセット、ブートストラップデータセット、およびアウトオブバッグデータセットの3種類のデータセットが関連する。元データセットは与えられたトレーニングデータである。ブートストラップデータセットは、元データセットから復元抽出によってランダムにサンプリングして作成され、元と同じサイズである。例えば、元データセットがEmily、Jessie、George、Constantine、Lexi、Theodore、John、James、Rachel、Anthony、Ellie、Jamalという12人で構成されている場合、ブートストラップサンプルにはJames、Ellie、Constantine、Lexi、John、Constantine、Theodore、Constantine、Anthony、Lexi、Constantine、Theodoreが含まれる可能性がある。ここで、Constantineは4回、Lexiは2回、Theodoreは2回出現する。
アウトオブバッグデータセットは、ブートストラップサンプルで選択されなかった観測値で構成される。この例では、アウトオブバッグセットはEmily、Jessie、George、Rachel、Jamalとなる。セットは重複を無視するため、元のセットとブートストラップセットのユニークな要素との差が取られる。
決定木とランダムフォレストへの応用
バギングは決定木とともによく使用され、ランダムフォレストの作成につながる。ランダムフォレストでは、各木がブートストラップサンプルで訓練され、さらに各分割で特徴の小さなランダムサブセットのみが考慮される。これにより、木間の多様性がさらに高まり、アンサンブルがより堅牢になる。
ブートストラップデータセットから決定木を構築するために、アルゴリズムは各特徴を調べ、それがサンプルを正クラスと負クラスにどれだけうまく分離するかを決定する。これは、真陽性、偽陽性、真陰性、偽陰性をリストする混同行列を使用して行われることが多い。特徴は、情報利得や「良さ」の尺度などのメトリクスに基づいてランク付けされる。最上位の特徴を使用して、サンプルを特徴を持つセットと持たないセットの2つに分割する。このプロセスは、最大深さなどの停止基準に達するまで、各サブセットに対して再帰的に繰り返される。葉では、サンプルは多数派クラスに基づいて正または負に分類される。
バギングとランダム特徴選択を組み合わせたランダムフォレストは、高い精度を達成することが示されており、実際に広く使用されている。フォレスト内の木の数はパフォーマンスに影響を与える。例えば、50本の木を持つモデルは一般に10本の木を持つモデルよりも優れたパフォーマンスを発揮する。これは、より多くの木があると、観測値がすべてのブートストラップサンプルから除外される可能性が低くなるためである。
異なるアルゴリズムへの影響
バギングは、人工ニューラルネットワーク、分類および回帰木、線形回帰におけるサブセット選択を含む不安定な手順の改善につながる。また、プレイメージ学習を改善することも示されている。一方、バギングはk近傍法などの安定した手法のパフォーマンスをわずかに低下させる可能性がある。これは、類似したモデルを平均化しても分散が大幅に減少せず、バイアスが導入される可能性があるためである。
理論的洞察
バギングの有効性は分散低減に根ざしている。深い決定木のような高分散のモデルでは、トレーニングデータの小さな摂動が非常に異なるモデルにつながる可能性がある。ブートストラップサンプルで訓練された複数のモデルを平均化することにより、最終予測の分散は、バイアスの大幅な増加なしに低減される。これは、深層学習や人工知能アプリケーションで遭遇するような高次元設定において特に重要である。
実用的な考慮事項
バギングは、各モデルを独立して訓練できるため計算効率が高く、並列化が容易である。これは、Amazon Web ServicesやGoogle Cloudなどのクラウドプロバイダーが使用するものを含む、大規模な機械学習パイプラインでの人気に貢献している。実際には、ブートストラップサンプルの数 \( m \) は利用可能な計算リソースに基づいて選択されることが多く、典型的な値は10から数百の範囲である。
他のアンサンブル手法との関係
バギングは、ブースティングやスタッキングなどの他のアンサンブル手法と密接に関連している。ブースティングは誤差を修正するためにモデルを順次訓練することに焦点を当てているが、バギングはモデルを並列に訓練し、平均化または投票によってそれらを組み合わせる。この区別により、バギングは分散の低減に特に適しており、ブースティングはバイアスの低減により効果的である。決定木を用いたバギングの特定の実装であるランダムフォレストは、機械学習で最も広く使用されているアンサンブル手法の1つである。
結論
バギングは機械学習における基本的な手法であり続け、モデルの安定性と精度を向上させるためのシンプルでありながら強力な方法を提供している。その原理は、より高度なアンサンブル手法の開発に影響を与え、従来の表形式データからニューラルネットワークや大規模言語モデルなどの複雑な領域まで、現代のアプリケーションで関連性を持ち続けている。