アンサンブル理論 — 多様性と相関
なぜ複数モデルを束ねると強くなるのか、誤差の多様性と相関の観点から理解します。
このトラックで学ぶこと#
このトラック(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 を変える
メモ
アンサンブルは「弱い土台」を救う魔法ではありません。まず各モデル単体を 交差検証で十分に仕上げ、その上で多様性を足すのが順序です。
理解度チェック#
次のステップ#
次は、最も手軽なアンサンブルである平均・加重平均・ランク平均・blending を学びます。