1行定義
バギングとは、復元抽出で作った複数の学習データでモデルを別々に学習させ、その予測を多数決や平均でまとめるアンサンブル学習の手法のことです。
くわしく
バギングは、アンサンブル学習の代表的な手法の1つです。名前は、bootstrap(ブートストラップ)とaggregating(集約)を組み合わせたbootstrap aggregatingの略です。1996年にレオ・ブレイマンが提案しました。
手順
- 元の学習データ(n件)から、重複を許してランダムにn件を抜き出し、新しいデータセットを作ります。これをブートストラップサンプリングといいます。同じデータが何度も選ばれる一方、一度も選ばれないデータも出ます。
- この操作を繰り返して、少しずつ中身の違うデータセットを複数作ります。
- それぞれのデータセットで、同じ種類のモデルを別々に学習させます。
- 予測するときは、分類なら多数決、回帰なら平均で、各モデルの出力をまとめます。
各モデルはほかのモデルの結果を必要としないため、並列に学習できます。
なぜ精度が上がるのか
深く育てた決定木のようなモデルは、学習データが少し変わるだけで予測が大きく変わります。この予測のばらつきをバリアンスといいます。少しずつ違うデータで学習した多くのモデルの予測を平均すると、個々のばらつきが打ち消し合い、全体として安定した予測になります。そのため、バギングは主にバリアンスを減らし、過学習を抑えます。
関連する手法との関係
ランダムフォレストは、バギングに加えて、決定木の分岐ごとに使う特徴量もランダムに絞り込む手法です。木どうしが似通うのを防ぎ、平均の効果をさらに高めます。
これに対しブースティングは、前のモデルの誤りを次のモデルが補うように、モデルを順番に学習します。「並列のバギング、逐次のブースティング」という違いがよく問われます。
G検定での出題
出題のされ方
ブートストラップサンプリングで学習データを作ること、モデルを独立に並列で学習できること、主にバリアンスを減らす効果、ランダムフォレストがバギングを発展させた手法であることが問われます。
混同しやすい用語
| 用語 | 意味 |
|---|---|
| バギングこのページの用語 | 復元抽出で作った複数の学習データでモデルを別々に学習させ、その予測を多数決や平均でまとめるアンサンブル学習の手法 |
| ブースティング | 前のモデルが苦手としたデータを次のモデルが重点的に学ぶように、弱学習器を1つずつ追加して組み合わせるアンサンブル学習の手法 |
違いを表で比べる
◯×チェック
次の文が正しいか、誤りかを選んでください。
-
n件の学習データから重複を許してn件を抜き出すと、nが大きいとき、元のデータの約37%は1つのブートストラップ標本に含まれない。
答えを見る
答え ◯ 正しい
ある1件がn回の抽出で一度も選ばれない確率は(1-1/n)^nで、nが大きいと1/e、つまり約0.37に近づきます。選ばれなかったデータは、OOB(out-of-bag)データとして検証に使えます。
-
バギングは、深く育てた決定木のように、学習データが少し変わるだけで予測が大きく変わるモデルと組み合わせると、効果が出やすい。
答えを見る
答え ◯ 正しい
ばらつきの大きいモデルどうしの予測を平均すると、ばらつきが打ち消し合います。もともと安定したモデルでは、改善の余地が小さくなります。
-
バギングの主な目的は、単純すぎて学習データにも十分に当てはまらないモデルの誤差(バイアス)を減らすことである。
答えを見る
答え × 誤り
バギングが主に減らすのはバリアンス(学習データによる予測のばらつき)です。バイアスの大きい弱いモデルを順に補強していくのは、ブースティングの考え方です。