アンサンブル学習(スタッキング・ブレンディング)

バギング・ブースティングに加えて、Kaggle上位の常套手段スタッキングとブレンディングを理解します。

複数モデルを組み合わせて精度を上げるアンサンブル学習。 バギング・ブースティングに加えてスタッキングを学びます。

白峰 リリ(普段) 白峰 リリ

前にバギングとブースティングって学んだよね。 他にも組み合わせの手法ってあるの?

神楽 モニカ 先生(笑顔) 神楽 モニカ 先生

あるわよ。 大きな3手法がバギング・ブースティング・スタッキングね。 さらに簡略版のブレンディングもあるのよ。

紅林 かえで(普段) 紅林 かえで

スタッキングは『複数の異なる弱学習器の予測値を、メタ学習器(別のモデル)が統合する』2段構造のアンサンブル。 各層の役割が違うのが特徴。

藍沢 しずく(普段) 藍沢 しずく

うぅ〜ん…層が2つもあるのぉ?

紅林 かえで(普段) 紅林 かえで

Level-0(ベース層): ロジスティック回帰・決定木・SVM・LightGBM 等の異種モデル群が予測。 Level-1(メタ層): その予測値を入力として、最終的な予測を出すモデル(通常シンプルな線形回帰やロジスティック回帰)。

白峰 リリ(普段) 白峰 リリ

なんでわざわざ違う種類のモデルを混ぜるの?

神楽 モニカ 先生(普段) 神楽 モニカ 先生

各モデルが異なる弱点を持つので、組み合わせで弱点を補い合う多様性効果が得られるから。 同じモデルを並列にしても効果は薄い。

紅林 かえで(普段) 紅林 かえで

ブレンディングはスタッキングの簡略版。 訓練データを更に分割して、片方でベース層、もう片方でメタ層を学習する。 シンプルだがホールドアウト分のデータが減るデメリットあり。

藍沢 しずく(普段) 藍沢 しずく

これってKaggleで使われるのぉ?

神楽 モニカ 先生(普段) 神楽 モニカ 先生

そうそう、Kaggle上位陣はスタッキングをほぼ必ず使うわ。 単一モデルで90%精度の問題でも、スタッキング・ブレンディングを駆使すれば92〜93%まで伸びることも珍しくないのよ。

白峰 リリ(普段) 白峰 リリ

実務では?

紅林 かえで(普段) 紅林 かえで

実務では運用コストとのトレードオフですね。 ベースライン+LightGBM単体で十分な精度なら、わざわざスタッキングしない選択も賢明です。 Kaggleのトリックではありますが、DS検定★では概念を押さえれば十分ですよ。

紅林 かえで(普段) 紅林 かえで

DS検定★では『3手法の違い』『スタッキングは異種モデル+メタ学習器』を押さえて。

確認クイズ

スタッキングの説明として最も正しいのはどれか。

  1. 同じ決定木をたくさん並列に並べる
  2. 弱学習器を逐次追加して誤差を補正する
  3. 異種のベース学習器の予測を、メタ学習器が統合する2段構造
  4. 全データを使って1モデルだけ学習する
こたえを見る

正解: 3. 異種のベース学習器の予測を、メタ学習器が統合する2段構造

異種のベース学習器の予測を、メタ学習器が統合する2段構造がスタッキングの特徴。並列同種=バギング、逐次=ブースティングと区別しましょう。

🔖 この記事の関連書籍

Amazonアソシエイトリンクを含みます。他分野は おすすめ書籍ページ へ。