Kaggle Tutorial

アンサンブル理論 — 多様性と相関

なぜ複数モデルを束ねると強くなるのか、誤差の多様性と相関の観点から理解します。

このトラックで学ぶこと#

このトラック(L6)では、上位入賞に欠かせない**アンサンブル学習**と、 コンペ全体のワークフロー・戦略シェイクアップを避ける運用、提出選択、知見の活用)を学びます。 L5 までで作った個々のモデルを、ここで「束ねて」さらに伸ばします。

なぜ束ねると強くなるのか#

複数モデルの予測を組み合わせると、単体より精度・安定性が上がることがよくあります。 鍵は 誤りの多様性 です。各モデルが違うところで間違えるなら、平均すると誤りが打ち消し合います。

モデルA の誤り + モデルB の誤り(別の場所)→ 平均で相殺されやすい
モデルA の誤り + モデルB の誤り(同じ場所)→ 相殺されない(効果が薄い)

多様性は「相関の低さ」#

アンサンブルが効くのは、メンバーの予測(特に誤差)の相関が低いときです。 精度が少し劣るモデルでも、他と相関が低ければアンサンブルに貢献します。

import pandas as pd

# 各モデルの OOF 予測を並べ、相関を見る
oof = pd.DataFrame({"lgbm": oof_lgbm, "xgb": oof_xgb, "linear": oof_linear})
oof.corr()

ヒント

「同じ系統の強いモデルを 3 つ」より、「系統の違うモデル(GBDT・線形・NN)を混ぜる」方が 多様性が出やすく、アンサンブルの伸びも大きくなりがちです。

多様性の作り方#

  • アルゴリズムを変える勾配ブースティング(GBDT)・線形・ニューラルネット
  • 特徴量を変える:使う列・エンコード・変換を変えたバリエーション
  • データの見方を変える:シード・サンプリング・fold を変える

メモ

アンサンブルは「弱い土台」を救う魔法ではありません。まず各モデル単体を 交差検証で十分に仕上げ、その上で多様性を足すのが順序です。

理解度チェック#

Quizアンサンブルが最も効きやすいのはどんなモデルを組み合わせたとき?

次のステップ#

次は、最も手軽なアンサンブルである平均・加重平均・ランク平均・blending を学びます。