バギング(Bagging: Bootstrap Aggregating)とは、ブートストラップサンプリングで生成した複数のデータセットで個別にモデルを学習し、それらの予測を集約するアンサンブル手法です。1996年にLeo Breimanにより提案されました。
ブートストラップサンプリング
元のデータセットから復元抽出(同じデータが重複して選ばれることを許容)により、同じサイズの新しいデータセットを複数生成します。各データセットは元のデータの約63.2%のユニークなサンプルを含みます。
| ひとことで言うと | データを無作為に選び直して複数モデルを作り、平均を取る手法。 |
|---|---|
| 何がうれしいか | 予測のばらつき(バリアンス)が減り、過学習しにくくなる。 |
| 注意点 | 個々のモデルが同じ傾向で間違う場合は効果が薄い。 |
予測の集約
分類タスクでは各モデルの予測の多数決、回帰タスクでは平均値を最終予測とします。この集約により、個々のモデルの分散(バリアンス)が低減され、過学習が抑制されます。
1重複ありで抽出ブートストラップ標本
▶
2並列にモデル作成それぞれ独立に学習
▶
3全部で予測各モデルが答えを出す
▶
4平均/多数決まとめて最終予測
ランダムフォレストとの関係
ランダムフォレストはバギングに「特徴量のランダム選択」を追加した手法です。バギング自体は任意のベースモデルに適用可能で、不安定な学習器(決定木など)に特に効果的です。