【要約】決定木とアンサンブル学習——バギング・ランダムフォレスト・ブースティングの理論とコード【輪読会 section12 予習ノート】 [Zenn_Python] | Summary by TechDistill
> Source: Zenn_Python
Execute Primary Source
// Problem
機械学習エンジニアが、単独の決定木を用いてモデルを構築する際、精度と汎化性能のトレードオフという課題に直面する。決定木はif-thenルールに基づき解釈性が高いが、以下の問題がある。
- ・木を深くしすぎると訓練データに過剰適合し、過学習を引き起こす。
- ・単一のモデルではデータの変動に弱く、予測が不安定(高分散)になりやすい。
- ・単純な構造では、複雑なデータパターンを捉えきれない(高バイアス)。
// Approach
これらの課題を解決するため、複数の学習器を組み合わせるアンサンブル学習のアプローチを採用する。手法により、分散を抑えるかバイアスを抑えるかの戦略が異なる。
- ・バギング: ブートストラップ法で作成した複数のデータセットを用い、並列に学習して多数決や平均をとることで分散を下げる。
- ・ランダムフォレスト: バギングに変数選択のランダム性を加え、木同士の相関を下げて精度を向上させる。
- ・ブースティング: 弱学習器を逐次的に学習させ、前の学習器の誤りを補うことでバイアスを下げる。
// Result
手法の選択によって、モデルの精度と安定性が劇的に変化することが示されている。
- ・ランダムフォレストは、木を10本から1000本に増やしてもテスト誤差が悪化せず、過学習しにくい特性を持つ。
- ・ブースティング(XGBoost等)は、早期終了(early stopping)を活用することで、高い精度を維持しつつ過学習を抑制できる。
- ・アダブーストやXGBoost等の実装により、理論が具体的な予測精度として結実する。
Senior Engineer Insight
> 実戦では、モデルの「解釈性」と「精度」のバランスが鍵となる。決定木は説明しやすいが、実運用ではRFやXGBoost等のアンサンブル手法が標準的だ。RFは並列化が容易で安定しており、大規模データには向く。一方、GBDT系は精度が高いが、過学習を防ぐための早期終了やハイパーパラメータ調整の運用コストが高い。計算リソースと要求精度に基づいた使い分けが不可欠である。