Kaggleチェスのゲーム予測コンペティションでの勝利についてのTim Salimans

Kaggleは、データマイニングに携わる人々のためのコンテストを開催しています。 現在、2つのコンテストが開催されています。 300万ドルに1つ。その目標は、人々が病院に入れられるシステムを改善することです。 2番目-賞金プール3,000ドルで、銀河の楕円率の測定を改善し、宇宙のいわゆる「暗黒物質」をより良く測定します。



20のコンテストが既に通過しいます。 参加者は自分の経験をブログで共有します。 以下は、過去の結果に基づいたチェスの試合の予想競争に参加した経験に関するティム・サリマンの投稿の翻訳です。



競技者には、54,000人以上のチェスプレイヤーによる184万回以上の会議の結果が提供されました。 タスクは、次の3か月で同じプレイヤー間で100,000ゲームの結果を予測することでした。 このコンペティションには189チームが参加しました。



最初の人から来る。



私の名前はティムサリマンズです。私はエラスムス大学ロッテルダムの計量経済学の大学院生です。 私の仕事では、データ、モデル、アルゴリズムを常に使用しており、Kaggleコンテストは、社会的で競争的な環境でこれらのスキルを使用する興味深い方法であることが判明しました。 Kaggle、Delloitte、およびFIDEによるチェス大会の結果を予測する大会は、私が参加した最初の大会であり、優勝したことは非常に幸運でした。 同時に、私はKaggle-in-classプラットフォームを使用して、私が助手であった計量経済学コースの競争を主催しました。 両方のコンテストは非常に興味深いものでした。 この投稿では、チェス大会の技術的な詳細については述べていません。 私のコードを含む技術的な詳細に興味がある場合は、私のWebページを参照してください



チェスの評価


新しい問題の解決を始める前に、他の人があなたの前に何をしたかを見るのは良いことです。 Kaggleはすでに評価システムを改善するためのコンテストを開催していたため、受賞者のブログ投稿を見るのは論理的でした。 これらの投稿とさまざまな学術文献を読んだ後、チェスのレーティングシステムは、各プレーヤーの特徴を1つの数字で表すことができることを示唆していることに気付きました。 この場合、2人のプレーヤーの試合の予想される結果は、レーティング間の特定のファンキーな違いです。 最初のコンペティションの勝者であるYannis Sismanisは、この目的のためにロジスティックカーブを使用し、評価を評価して、モデルの正規化バージョンを最小化しました(彼のアプローチの詳細については、arxivに投稿された記事を参照)。 次点のJeremy Howardは、 代わりTrueSkillモデルを使用しました。これは、正規分布関数を使用し、ベイジアンの結論を通じて評価を評価します。



私はTrueSkillから始め、各プレイヤーのレーティングを最近のライバルのレーティングに制限することで拡張しました。これは、ヤニス・シスマニスが最初のコンテストで行ったことと同様です。 さらに、アルゴリズムに重みを導入しました。これにより、ランキングで最近の試合をより重要にすることができました。 いくつかの実験の後、Microsoftの優れたInfer.NETパッケージを使用して、すべてのコードをMatlabで作成しました。



試合スケジュールを使用する


私のメインモデルの予測は、競争のランキングでは高かったが、それでも1位になるには十分ではなかった。 この時点で、試合のスケジュールには結果を予測するのに役立つ情報も含まれていることに気付きました。他の参加者もこれに気づきました。 チェスでは、ほとんどのトーナメントはスイスシステムに従って開催されます。各ラウンドのプレイヤーは、前のラウンドで同様の結果を得る他のプレイヤーと対戦します。 スイスのシステムでは、プレイヤーAがプレイヤーBよりも優れた対戦相手に出会った場合、これはおそらくプレイヤーAがこのトーナメントでプレイヤーBよりも多くの試合に勝ったことを意味します。



スケジュールからこのような情報を使用するために、3か月のウィンドウを使用して過去1.5年間の予測を生成しました。 次に、これらの予測と実際の一致結果を使用して、2つの後処理ステップを実行しました。 最初のステップでは標準ロジスティック回帰を使用し、2番目のステップでは加重ローカルウェイトを使用したロジスティック回帰のバリエーションを使用しました。 後処理プロセスで最も重要な変数は次のとおりです。



この後処理により、トーナメントでの評価が大幅に向上し、他の参加者からはかなり離れました。 その後、他の参加者も同様の改善を行い、競争の最後の週は非常に興味深いものでした。 長い週末の後、私は評価ページに行き、PlanetThanetチームが私を置き去りにしていたことがわかりました。 私のアプローチを少し調整したので、私は再びトップに出てきました。 その後、アメリカの会議に行かなければなりませんでした。 到着すると、今度はShang Tsungによって再びバイパスされたことがわかりました。 セントルイスのホテルの部屋から最後の予測を送信することによってのみ、私はついに最初の場所を得ることができました。



おわりに


勝利への最大の貢献は、試合スケジュールを使用して行われました。 それ自体は興味深いものですが、チェスプレーヤーのレーティングシステムを改善することは、競技の当初の目標にとって理想的ではありません。 私が安心したのは、後でアップロードしたデータセットJeff Sonasが、私のモデルがこの情報を使用せずに良い予測をすることを示しました。 結論として、大会の主催者と参加者の両方に素晴らしいイベントを提供してくれたことに感謝したいと思います。



All Articles