トップページ -> MM Analyser の勝敗予想モデルについて

MM Analyser の勝敗予想モデルについて

WoWS MM Analyserで使用している勝敗予想モデルについて説明します.

【関連】WoWS MM Analyser
WoWSのマッチング履歴を保存し,統計データを分析できるツールです.今回,説明する予想モデルを使用しています.
【関連】WoWS Stats Analyser
戦績データを詳細に可視化し,「サーバー平均」や「他のプレイヤー」との差分を分析するためのツールです.
【関連】WoWS 艦艇マップ ~ t-SNEによる艦艇別勝利要因の可視化とプレイスタイル分析 ~
アジアサーバーの58000人のプレイヤーの艦艇別スタッツを利用して,勝利要因別に類似する艦艇を探し,地図のように可視化しています.

目次

1. 予想モデルの概要

学習データ

アジアサーバーのランダム戦の戦闘データ(800件~)を使用し,機械学習を行っています. ランダム戦以外のゲームモードでも予想は表示されますが,ランダム戦のルールで考えた時の予想勝率です.

予想の方法

使用艦のスタッツ,艦艇別のスタッツから全プレイヤーの実力を推定し,チームの平均勝率・ダメージ・経験値や分艦隊・駆逐艦の実力差などを使用して予想勝率を算出しています.

非公開アカウントの扱い

戦績非公開のアカウントについてはサーバー平均から実力を推定しています.

2. 予想精度について

以下に表示されているモデル評価は収集済みのデータセットに対する交差検証の結果です.
現状では3試合に2試合くらいの精度で勝敗を言い当てます. これは「既知のデータ内での一貫性」を示すものであり,未知のプレイヤーや異なるメタ環境でのモデルのパフォーマンスを保証するものではありません.(極端な例では空母の仕様変更やサーバーの違いがあると評価は意味を成しません) 現状は特定の時間帯・使用艦(開発者の環境)に偏って最適化されていますが,データ提供者が増えるにつれて汎化性能(汎用性)が上がるように設計されています.
「精度が低いな」と感じることが多い場合,モデルの知らない貴重なプレイ環境ですので,ぜひクラウド連携をONにして統計データ収集に協力していただけるとモデルの予想精度が向上します.
交差検証の結果
交差検証の結果
(青破線:正解率, 緑線:予想のズレ)

以下は予想勝率ごとの実績データ (検証試行回数 N=85,800) モデルの安定性を測るため,学習と評価を100回繰り返し実行した累積結果です. AIが算出した「予想勝率」と,その時の「実際の勝率」がおおむね比例しており,予測スコアが確率として信頼できることを示しています.

クロス表とキャリブレーション
モデルの評価

※ 上記は収集データを用いた100回の反復検証(延べ N=85,800)による結果です.
あくまで学習データ内での妥当性を示すものであり,あらゆる環境下での動作を保証するものではありません.

3. どのようなときに外れやすいか

予想モデルの設計上,以下のような場合に予想が外れやすくなっています. 現バージョンではデータ不足のため考慮できていませんが,データ数が増え次第,改善を検討しています.

4. 予想勝率の活用方法

将来的には,マップを考慮した予想モデルや艦艇の特徴を考慮した予想モデルなどを作ることによってマップの特性やゲームの構造をより深く理解することを目的としていますが,現状の簡単なモデルでも以下のように活用できます.

Q1. なぜ試合前に予想勝率が出ないのですか?

  1. 健全なゲーム環境を守るため
    極端に低い予想勝率が出た際に,意図的な自沈をして次の戦闘に行ったり,チームメイトへの暴言を誘発したりするなど,ゲーム環境に悪影響を及ぼすリスクを防ぐためです.
  2. 純粋な学習データを集めるため (正直、こちらが主目的です)
    試合前に予想勝率を見てしまうと,プレイヤーの行動が変化してしまいます.
    プレイヤーがバイアスなく全力で戦った結果こそが,AIにとって最も価値のある学習データとなるため,行動を変化させないよう配慮しています.

Q2. 予想勝率はどうやって使えばいい?

試合前に予想勝率を元に戦略を立てることはできませんが,予想勝率と実際の勝率の乖離を見ることで自分のプレイスタイルの分析が可能です.

✅ 予想より「実際の勝率」が高い場合

AIの実力評価以上の仕事をしています.
AIは主にダメージやキルを重視しますが,この場合はスタッツに残りづらい的確な視界提供・エリアへの関与・ヘイト管理でチームを勝たせている可能性があります.
このギャップが大きいほど,ダメージやキルなどの目立つ数字以上の実力を持っている可能性があります.
※ 初心者時代に開発したツリーを研究局でやり直すなど,スタッツと現在の腕が乖離している場合も実際の勝率の方が高くなります.


⚠️ 予想より「実際の勝率」が低い場合

勝敗予想モデルは,APIから取得できる「ダメージ総量」は評価できますが,「誰に、いつ与えたダメージか」までは判別できません.

そのため,イギリス戦艦のような「回復されやすい火災ダメージ(非効率なダメージ)」も,Slavaなどが出す「バイタルパートへの決定打(効果的なダメージ)」も,ダメージ量さえ同じならAIは同等の評価を下してしまいます.

この仕様上,ダメージが出やすい艦艇(HEスパム艦など)に乗っている場合は,実際の戦況よりも予想勝率が常に高めに出る傾向があります.