アンサンブル学習
アンサンブル学習(Ensemble Learning)とは、弱い機械学習モデルを組み合わせて精度の高いモデルを構成する学習手法のことで、音楽用語で二人以上が同時に演奏することを「アンサンブル」というところから名付けられているそうです。
アンサンブル学習の種類
このアンサンブル学習には、「バギング」「ブースティング」「スタッキング」の主に3種類が存在し、それぞれの違いを説明するためには「バイアス」と「バリアンス」が重要となります。
名前 | 説明 |
---|---|
バイアス(Bias) | 予測が実際の値からどれくらいズレているかを表す指標 |
分散(Variance) | 予測がどれくらい変動するかを示す指標 |
バイアスと分散はトレードオフの関係となっており、バイアスが高いと訓練不足によってモデルの予測精度が低くなっているとみなされ、分散が高いと過学習によって予測精度がばらついているとみなされます。そのため、両方の指標が低くなっていることが望ましいです。
バギング
バギングとは、ブートストラップ集約法(bootstrap aggregating)の略で、ランダムに複数の学習データから選んだデータを使って学習器を作成し、学習で得た結果を全て集めて最終決定を行います。学習データの多様性などを考えながらモデルを構築するため、モデルの予測結果のバリアンスを低くすることができます。
ブースティング
ブースティングとは、弱い学習器を次々に学習させて最終的に高い精度の学習器を作成します。過去の学習の誤差・誤りに注目し、その誤差を修正を次々に行うため、モデルの予測精度に対してバイアスを下げることができます。
スタッキング
スタッキングとは、二段階以上の複数の学習器を組み合わせて高い精度の学習器を作成します。上手く利用することで、バイアスとバリアンスをバランスよく調整することができます。