バギング

Bagging (Bootstrap Aggregating)

バギング(Bagging: Bootstrap Aggregating)とは、ブートストラップサンプリングで生成した複数のデータセットで個別にモデルを学習し、それらの予測を集約するアンサンブル手法です。1996年にLeo Breimanにより提案されました。

ブートストラップサンプリング

元のデータセットから復元抽出(同じデータが重複して選ばれることを許容)により、同じサイズの新しいデータセットを複数生成します。各データセットは元のデータの約63.2%のユニークなサンプルを含みます。

表:バギングの要点まとめ
ひとことで言うとデータを無作為に選び直して複数モデルを作り、平均を取る手法。
何がうれしいか予測のばらつき(バリアンス)が減り、過学習しにくくなる。
注意点個々のモデルが同じ傾向で間違う場合は効果が薄い。

予測の集約

分類タスクでは各モデルの予測の多数決、回帰タスクでは平均値を最終予測とします。この集約により、個々のモデルの分散(バリアンス)が低減され、過学習が抑制されます。

図:バギングのしくみ
1重複ありで抽出ブートストラップ標本
▶
2並列にモデル作成それぞれ独立に学習
▶
3全部で予測各モデルが答えを出す
▶
4平均/多数決まとめて最終予測

ランダムフォレストとの関係

ランダムフォレストはバギングに「特徴量のランダム選択」を追加した手法です。バギング自体は任意のベースモデルに適用可能で、不安定な学習器(決定木など)に特に効果的です。