Kaggle Tutorial

Public/Private LB と提出選択

Public と Private の違い、shake-up が起きる理由、最終提出の選び方を学びます。

Public と Private の違い#

提出はリーダーボードで採点されますが、見えているのは一部です。

  • Public LB:テストの一部で算出され、コンペ中に見えるスコア
  • Private LB残りで算出され、最終順位を決めるスコア(終了まで非公開)

つまり、コンペ中に最適化できるのは Public だけ。最後に効くのは Private です。

shake-up が起きる理由#

シェイクアップは、Public と Private で順位が大きく入れ替わる現象です。主因は次の通り。

  • Public への過学習:LB を見ながら合わせ込み、見えない Private で崩れる
  • 検証設計の甘さ:CV が本番を反映しておらず、選択を誤る
  • Public が小さい/偏り:少数サンプルのスコアを信用しすぎる

注意

Public LB は「もう一つの検証セット」にすぎず、しかも全員がそこへ最適化しています。 手元の交差検証を主軸に判断するのが、shake-up を避ける最大の防御です。

最終提出の選び方#

多くのコンペは最終提出を 2 つ選べます。定番は性質の異なる 2 つを残す戦略です。

  • 1 つ目:CV が最良の「手堅い」構成(CV を信頼)
  • 2 つ目:CV は同等でより多様な/攻めた構成、または Public 最良
最終提出:
  A) CV ベストのアンサンブル(堅実)
  B) 多様性重視 or Public ベスト(リスク)

ヒント

「Public が高いだけの単体モデル」を最終提出に選ぶのは危険です。CV で裏付けの取れた構成を 少なくとも 1 つは必ず残しましょう。

過学習を避ける運用#

  • 提出のたびに Public へ最適化しない(提出回数の上限も意識)
  • CV と LB の乖離を監視し、乖離が大きいときは検証設計を見直す
  • 怪しいほど高い単一特徴はデータリークを疑う

理解度チェック#

Quiz最終順位を決めるのはどちらのスコア?

次のステップ#

最後に、Discussion / 公開 Notebook から知見を取り込む方法と引用・倫理を学びます。