UMコンペ上位解法MEMO

Kaggleコンペ (UM - Game-Playing Strength of MCTS Variants)の上位解法MEMOです。

ほとんど共通しているところ

  • 追加のデータ生成はやってない
  • 予測値に定数倍をかける(もしくはそれ相応のことをやっている)
  • StratifiedGroupKFold を GameRulesetNameで実施

1th place

  • 推論時に実際に数秒間tree検索を実行して、各ゲームのバランスが取れていたかどうかの補足的な指標を生成?(→よくわからなかった)
  • 追加のデータ生成
  • 自分で作成してデータには主催者側から提供された値と異なる特徴量が43個あった。
    これを削除するとCV向上
  • 予測値に定数倍かけて、-1, 1よりわずかに小さい範囲でclip
    • 1stageの予測値に対して、isotonic regression(中心等位回帰?) で予測値の調整を行っている
  • TabMもアンサンブルの一つとして利用

2nd place

  • 4 つのブースティング モデルと 3 つのニューラル ネットワーク (NN) モデルを含む 7 つのモデルの重み付けされたアンサンブル
  • 重み付けはOLS回帰によって決定
    • 負の重みも許容
  • リーダーボードのオーバーフィット アプローチが上手くいった。

3th place

  • 3stage
    • 2stage目をlightGBMとCatBoost
    • 3stageはBlender

4th place

  • 公開solutionのアンサンブル
    • カスケード方式で(?) 1つずつ順番にpredictionを追加して、publicLBにオーバーフィットさせた

5th place

  • catboost, および CatBoost + LightGBM + DeepTablesのブレンド

6th place

(ちょっと違うかも)

https://www.kaggle.com/competitions/um-game-playing-strength-of-mcts-variants/discussion/549582

  • agent1, 2のswap 時に、AdvantageP1だけでなく Balanceもflipしている
  • Feature EngineeringにOpenFEを利用
    https://github.com/IIIS-Li-Group/OpenFE
  • OOFを用いて 2 stage目でスタッキングを実施
    • 5foldでの単純な出力ではなく、nested CV で実施

7th place

  • 重要度の高い特徴量の掛け合わせ
  • 各エージェント固有のカテゴリ機能 (各カテゴリ値) についてターゲットエンコディング
  • lightGBMのdartはCV改善したがLBは悪化したらしい
  • 全体の rmseのために a * x + bを最適化
    • 重み 1、0.75 の LGB (10 フォールド) + NN (5 フォールド) の単純なブレンドになったらしい

8th place

  • シングルモデルらしい(強すぎ)
  • 公開note(MCTS Starter) を利用(public LB0.427)
  • Ludii ゲーム ライブラリのさまざまなゲーム タイプを閲覧して、ボードの形状、ピースの種類、ランダム性の有無、ルールの複雑さ、特殊な動きのパターンなど、複数のゲームに共通するパターンに基づいて特徴量を実装。
  • 予測値に1.2 かける
  • I added features such as CLRI in the public notebook ??

9th place

  • CatBoost、および異なるデータ/特徴量でトレーニングされた 2 つの LGBM Dart モデルのアンサンブル
  • agentのswap
    • 同じモデルではなく、swapしたデータを使用したモデル、元のモデルの2つに分けてアンサンブルした方がスコアが大幅に向上したらしい
  • advantage P1でターゲットを変換している
  • agentの3者間での勝ち負けを考慮したaugmentation

10th place

  • AdvantageP1のビニング。CV0.02増加
  • 5fold→10foldでLB0.001向上

11th place

13th place

  • 3stage model
    • 1stage:10 fold CVの10個のモデルの予測値*3セット
    • 2stage:1stageのそれぞれのセットで線形回帰
    • 3stage:3セットの中央値を取る
  • AdvantageP1を軸にした特徴量生成

以上

関連書籍