アンサンブル学習では「バイアス」と「バリアンス」という二つの概念が重要。

アンサンブル学習は精度の低い情報を組み合わせて精度を上げる方法。
しかし、たくさん集めるだけでは必ずしも精度を上げられるとは限らない。
うまく精度が上がらない場合、この「バイアス」と「バリアンス」のバランスが悪い可能性がある。

バイアスとは「実際値と予測値の差」で、この差が小さいほど予測精度が高い。
高バイアスになってしまうのは、きちんと訓練を行えていないため。

バリアンスとは「予測値が散らばっている度合い」のこと。
予測値が「-1~1」と「-5~5」では、前者の方がバリアンスが低い。
後者のような「高バリアンス」状態では精度が低くなる。
高バリアンスになってしまうのは、訓練のし過ぎである「過学習」が原因。

バイアスとバリアンスはトレードオフの関係にある。


バギング

バギング

弱学習器を並列に学習して組み合わせる方法。
bagging = Bootstrap AGGrigatING ブートストラップ集約の略。
N個のデータから重複を許してN回サンプリングすること。
少しだけ違う独立したデータをたくさん作れる。
そこから弱学習器をたくさん作れる。
これらを集約する。

o 学習器は並列に学習できる。=学習時間が短い。
o データの一部だけを使うことで過学習を防ぎ、バリアンスを下げられる。
x 予測精度はブースティングが優れる場合が多い。

主なモデルはRF。

ブースティング

ブースティング

弱学習器を順番に学習して組み合わせる方法。
前の学習が誤分類したデータを優先的に正しく分類できるように学習する。

o 予測精度はブースティングが優れる場合が多い。=バイアスが低い。
x 学習に時間がかかる。
x 弱学習器の数を増やしすぎると過学習になる。
x 誤差や外れ値に影響されやすい。

主なモデルはAdaBoost、GBDT、XGboost、LightGBM。


スタッキング
データを積み上げて精度を上げる手法。
スタッキングは、二段階以上の段階を踏みながらデータを積み上げていく。
(第一段階)
学習器にランダムフォレストや勾配ブースティングなどを様々な計算法を使って、複数のモデルを用意する。
できるだけ多くの種類のモデルを使った方が精度の向上に繋がります。
(第二段階)
予測値をまとめたメタモデルを作成し、メタモデルから最終予測値を作成する。
ここで学習を終える場合もあれば、メタモデルをさらに複数個作成し、新たに予測値を出力する第三段階に移行することもある。

o 様々な計算方法(アルゴリズム)を使った結果を使用できるため、精度を上げられる可能性がある。(必ずしも精度が上がるとは限らない)
x スタッキング方式は積み上げ式なので単純に手間がかかる。


【参考】
ブースティング入門(Slide Share)
アンサンブル学習とは?仕組みやアルゴリズムを解説!バギング、ブースティング、スタッキングの違いも紹介(A-STAR)
アンサンブル学習とは?バギングとブースティングとスタッキングの違い(スタビジ)
Comparison and improvement of the predictability and interpretability with ensemble learning models in QSPR applications