アンサンブル学習とは、複数のモデルを組み合わせて学習器を生成する機械学習の手法です。

 

アンサンブル学習とは

アンサンブル学習とは、複数のモデルを組み合わせて学習器を生成する機械学習の手法です。
各学習器の予測結果から多数決を取ることで予測結果を出力します。アンサンブル学習に用いられる各学習機は弱学習器とよばれ、単体では精度のよいものではありませんが、複数組み合わせることで、精度の高いモデルを構成することができます。ランダムフォレストやXGBoostが知られています。

アンサンブル学習には、バギング、ブースティング、スタッキングの3つの手法が存在します。
バギングは予測値と正解値の誤差(バイアス)を最小にするように学習する手法で、ブースティングは予測値のばらつき(バリアンス)を最小に抑える手法です。
バイアスとバリアンスはトレードオフの関係にありますが、スタッキングはバイアスとバリアンスのバランスを取りながら学習します。
ブースティングはバギングに比べて精度が高いですが、バリアンスを抑えるように学習するため過学習に陥りやすい傾向にあります。
また、バギングは並列に、ブースティングは直列に学習を進めるため、バギングの方が高速に学習することができます。

アンサンブル学習のフロー

(1) 複数の学習器で学習用データを学習します。
(2) 各学習器について予測データで予測を行い、予測結果を出力します。
(3) 全ての学習器の結果を集計し、最終的な予測結果を出力します。

概念図

商品/デモ

作成中