DOTA2:面對峰哥質疑,大老師為什麼這麼準?

電競杜淳何求知從專業角度為大家科普,走近科學,Dota Plus 大老師為什麼就那麼準!

DOTA2:面對峰哥質疑,大老師為什麼這麼準?

還記得一個多月前的 4月4日 DAC 主賽事 VG vs TNC 第三局,比賽進行到 45 分鐘 VG 被破一路、經濟落後近 3W,幾乎所有人都認為九一開、VG 將輸掉比賽之時,大老師卻堅信 VG 仍有五成勝率。最終 VG 成功翻盤,大老師一戰成名!

賽後眾多老鐵(雲玩家)們議論紛紛:難道大老師預言了瑞文同志的入黨?或者直接改寫了掉聖劍的劇本?大老師究竟有什麼奇技淫巧?

DOTA2:面對峰哥質疑,大老師為什麼這麼準?

問題:大老師到底從哪裡借了一雙慧眼,居然比打了10多年刀塔的知名玩家看得還準?

——最適合回答這個問題的人應該是大老師的作者度假社員工,其次是機器學習大牛。但是真正的大牛都很忙,畢竟往往沒時間做科普。

那麼,就由我這個初級數據分析師給大家簡單講一講吧。

實時預測 DOTA2 勝負有多難?

其實很多朋友被“預測賊準、從不失誤”的大老師嚇到了,甚至因此加深了對人工智能的恐懼...

DOTA2:面對峰哥質疑,大老師為什麼這麼準?

對此我只想說:兄 dei,你誤會了!

其實,這件事並沒有這麼難,大數據老師仍只是在弱人工智能的大框架下解決了一個不太複雜的問題。本質上講,實時預測 DOTA2 勝負和機器學習經典模式識別問題(比如垃圾郵件識別、圖像識別等)是一樣的(只是多了一個時間維度)。這類問題的數據源、特徵和常用模型都不復雜:

數據:海量數據(每天百萬級別的 DOTA2 遊戲局數)

特徵:特徵豐富,容易提取和勝負相關的特徵

模型:模型成熟,經典的邏輯迴歸或隨機森林就能取得很好效果

而 DOTA2 玩家熟知的更難的問題是:

【已解決】中路 SOLO 賽,AI 吊打人類最強選手(模型複雜)

【未解決】AI 預測 TI8 冠軍(數據樣本少,有效特徵提取難)

所以,不要慌。等 AI 在 5V5 正式比賽中吊打最強人類隊伍,或者微軟又跳出來預測 TI8 賽況非常準確時,才是我們真正該恐懼的時候~

(記得去年 TI 上吊打 Dendi 老司機的 OpenAI 嗎?)

大老師是怎麼做到的?

除非 V 社員工親自講解大老師的預測算法,否則我們無法確切知道底層實現細節。好在「DOTA2 勝負預測」這個問題已經有不少人研究過,並公開發表了論文。下面就以 UCSD 兩位刀友的論文「DOTA2 Win Prediction」為例,給大家介紹一下大老師的可能包含的算法之一。

和大老師主打的「實時預測DOTA2勝負」不同,這篇論文是在賽前(BP結束,陣容確定)和賽後對勝負進行預測。這兩個用邏輯迴歸做的預測模型,都取得了非常出色的準確率:

  • 賽前,僅根據雙方陣容預測勝負的準確率是73.0%

  • 賽後,根據雙方隊伍的 GPM\\XPM\\KPM 之差預測勝負的準確率接近 100%(有水友就要問了,比賽都結束了,勝負已分還需要預測嗎?下個段落說)

我們先詳細介紹一下論文中的兩個模型:「看陣容,猜勝負」和「看賽後統計,猜勝負」。然後再過渡、引申到大老師的「看賽中實時數據,猜勝負」模型。

先說數據源

該論文的作者用 V 社提供的 API 收集了 2015-11-20~2015-11-22 的 62,000 場遊戲數據作為數據源,選取限定條件是:

  • 遊戲等級為 “very high”:

研究者認為這些局裡面的選手都是會玩的,避免了由於選手實力導致的數據偏差。(是的,要是不努力提高自己的 DOTA2 水平,大老師都懶得分析你...)

  • 5V5 正常模式,中途無人退出;遊戲時長大於 10 分鐘。

  • 對每局遊戲,收集以下信息:獲勝方、遊戲時長、十名選手的賽後統計數據(GPM\\XPM\\Kills\\Assists\\Deaths)。

在分析之前,有必要了解一下數據源的基礎統計特徵:6W局遊戲平均時長30分53秒(標準差6分42秒),天輝勝率為56.5%。

看陣容,猜勝負

DOTA2:面對峰哥質疑,大老師為什麼這麼準?

陣容對 DOTA2 比賽的影響非常大,一般 BP 階段彈幕大神也會異常活躍。相信大家經常看彈幕大神根據陣容來預測比賽勝負:

  • 小魚人拿的好蠢,被對面血克!(剋制關係)

  • 這狗拿的不好,沒有車!(協同關係)

  • 又選主宰!不知道主宰已經不適合這個版本了嗎?(英雄在當前版本的表現)

那麼大老師是怎麼做的呢?其實和彈幕大神也沒差太多,這個模型關注每局遊戲的四個特徵:

  • offset:衡量天輝對於夜魘的優勢,也就是無腦預測天輝獲勝也可以擁有56%的準確率(高於擲硬幣的50%)

  • matchup:pick 英雄的二進制特徵(上場為1,不上場為0,形成一個一維向量),衡量天輝夜魘各自陣容中每一個英雄的影響

  • synergy:衡量英雄協作關係

  • countering:衡量英雄剋制關係

重點介紹兩個:synergycountering

前者反映了英雄兩兩之間的協同作用,後者反映了雙方陣容的剋制關係。

先看英雄搭配:如下圖所以,雖然大部分英雄組合的勝率接近50%,但仍然存在大量的異常值:

好組合:[獸王,狼人]、[露娜,狼人]、[獸王,露娜]的組合勝率超過90%

爛組合:[光法,小精靈]、[光法,小鹿]、[小鹿,小精靈]的組合勝率低於10%

正是因為不同英雄組合的勝率存在比較明顯的差異,才可以使用synergy特徵來預測勝負。(這些是2015年底的數據了,瞭解當時版本的朋友可以在留言中解讀一下這些異常值。)

DOTA2:面對峰哥質疑,大老師為什麼這麼準?

英雄剋制關係與協同關係的數據分佈類似,大部分英雄間剋制勝率是50%,但也存在許多強烈的剋制關係:

比如[狼人->小精靈]、[軍團->米波]、[拉席克->毒狗]的剋制勝率超過78%。

好了,對水友來講,不需要再說更多的技術細節了。只需要知道這個方法的邏輯是:大數據老師,把幾萬場 DOTA2 遊戲的陣容看了一遍,學習每一場遊戲的特徵,訓練邏輯迴歸模型,根據雙方陣容預測比賽勝負。

該模型的準確度是 73%

無需懷疑,這個準確度肯定可以吊打玩了 10 年(加 5 年雲)DOTA 的你。畢竟大數據老師是見的多了,哪一場高級比賽它沒看過?哪一種陣容組合它沒分析過?相比之下,任何人類選手輸入的遊戲信息量都不值一提,圖樣圖森破,上臺拿衣服。

但幸運的是,人類選手仍然可以創造新的陣容組合,上升空間並沒有被智子鎖死!

看賽後統計,猜勝負

這個模型的思想和「看陣容,猜勝負」相似,只是選取的特徵不同:

  • 賽後雙方 GPM 之差(不用總經濟,是為了排除比賽時間長短不同的影響)

  • 賽後雙方 XPM 之差

  • 賽後雙方 KPM(每分鐘擊殺)之差

這些指標大家都非常熟悉了,為什麼選這些指標?道理也是顯而易見的:這些指標和勝負的相關性特別高。以 GPM 為例,比賽結束時經濟領先的一方,絕大多數都取得了勝利。6W 場比賽中,一共只有 500 場比賽(不到1%)結束時,經濟高的一方輸掉了比賽。所以,哪怕僅用 GPM 這一個指標來預測勝負,也已經非常準確了。

同時使用 GPM+XPM+KPM 三個特徵預測時,準確度幾乎達到100%

現在回答問題:比賽結束後,勝負已分,為什麼還要進行預測?因為方法依然通用!可以把這個方法照搬到 VG 打 TNC 的第三局的任意時間點!舉例兩個時間點:

1. 37分鐘時,VG 經驗落後 2W7(整場比賽最大經驗差),人頭比 15:25(整場比賽最大人頭差),經濟落後2w4。

此時大老師給出了 VG 整場比賽的最低預測勝率 24% 左右。

2. 45分鐘,VG經濟落後 2w8(整場比賽最大經濟差),人頭比變成19:25(VG 能殺人了),經驗落後 1W8(經驗差在迅速縮小),大老師把 VG 的勝率提升到接近50%。

這下清楚了吧!我們大多數玩家把影響遊戲勝負的關鍵點限制在經濟差、破路等因素上(玩不了啦!隊友呢?隊友呢?隊友呢!),而大老師則是綜合考慮了更多的關鍵指標:GPM\\XPM\\KPM(甚至考慮了每分鐘回覆量、雙方護甲值\\攻擊力\\魔抗等等許多上文想得到或者沒想到的數據特徵)。

我們看比賽時很難獲得這些數據

當然,PLUS 會員提供的大數據老師,在處理時間維度的時候也極有可能採用了更加牛逼更加複雜的模型(而不是簡單的把比賽按每分鐘抽樣用來訓練)。但具體實現細節,我們就不得而知了。

不過寫到這裡,相信科普的目的已經達到,大家對大老師的手段應該有了比較清晰的認識。

如果你也想學數據分析,打造最牛逼算法和預測模型,從 DOTA 或任何其他行業數據中洞察更多秘密,成為數據分析師是不錯的職業選擇!特別是在最近火速崛起的電競行業,參考傳統競技發展,數據分析師也即將成為最搶手職業。

LinkedIn 統計,中國未來會缺少 150 萬數據人才,包括數據分析師,也包括能讀懂數據、用數據做出關鍵決策的市場/運營/產品/管理者。因為稀缺所以高薪,新一批人才缺口紅利下,動作快的人才能掌握先機。入門數據分析,硅谷前沿技術學習平臺

優達學城(Udacity)是你最高效、靠譜的選擇。

DOTA2:面對峰哥質疑,大老師為什麼這麼準?

優達學城(Udacity)由 Google 無人車之父 Sebastian Thrun 創立,與 Google、Facebook、亞馬遜、百度、騰訊等全球領先企業聯合前沿技術課程,結合專業代碼審閱、一對一在線答疑等輔導,讓每個人都能用遠高於線下教育的性價比和效率,掌握最熱技術應用,成為能驅動企業創新變革的搶手人才。

Udacity 聯手 Kaggle x Tableau 等全球數據領先企業推出的【數據分析師】認證課程,已在全球培養超過 20,000 名數據分析師,通過高效系統的學習曲線、緊貼市場需求的技能圖譜、緊密及時的答疑輔導,幫你最快入門、精通數據分析,快人一步成為稀缺人才。

Udacity 課程的一大特色,是通過挑戰實戰項目來學習,讓你通過動手真的深入掌握技能。一起來看看硅谷導師親自設計的實戰項目。

DOTA2:面對峰哥質疑,大老師為什麼這麼準?

揭秘北上廣空氣質量

獲得北上廣等 5 大城市 PM 2.5 數據,分析空氣質量變化趨勢,學習從提問到可視化分析結論的數據分析流程。

探索共享單車用戶行為規律

用 Python 分析共享單車行程和用戶數據,分析最熱路徑、最典型用戶等信息;編寫交互式代碼來查詢數據,使用描述性統計學分析。

DOTA2:面對峰哥質疑,大老師為什麼這麼準?

探索體育賽事/電影/槍支管理真實數據

獲得來自 TMDB、醫院管理系統、FBI 數據庫的精選真實數據集,使用 NumPy 和 Pandas 完整體驗分析流程,分析高票房電影有哪些共同點、什麼樣的球隊容易贏得比賽等真實世界問題。

DOTA2:面對峰哥質疑,大老師為什麼這麼準?

值得關注的是,本期 Udacity 課程開啟限量【7 天試學班】。如果你對數據分析感興趣,想給自己的職業發展來一次突破,但又不確定自己是否真的能學完,建議加入 7 天試學,在行業頂尖助教和班主任的幫助下,手把手帶你完成第一個屬於自己的數據分析項目,開啟新的職業規劃和真·彈幕大神之路!

對於想要成為專業電競數據分析師的學員來說,完成課程你即可加入由何校長 x Udacity 建立的【DOTA2 數據分析交流群】,為成為電競專業數據分析師而努力,為中國軍團的 TI8 征程獻出一份力!

DOTA2:面對峰哥質疑,大老師為什麼這麼準?


分享到:


相關文章: