Re: [閒聊] Riot版上校? 設計師證實正在開發勝率演算

作者: MoriNakamura (森)   2019-10-04 16:52:05
回個文簡單分享一下個人見解好了 雖然很懶得改論文不過至少稍微做點動腦的事
文中提到的勝率分析基本上是黑客松的產物,看作者的部落格看起來重點更放在各種技術
的串接還有後續要做的即時串流分析,預測模型本身只是個雛形,也沒有時間做微調
文中有提到使用的模型是random forest而不是神經網路
當然也不是說一定得用神經網路才是好,很多時候簡單的模型就能得到好結果,訓練也快
不過看原始碼,除了決策樹的數量(22)之外也沒改其他參數了
至於為什麼那四個因子會這麼廢話,重點還是在輸入到底有哪些
原始碼裡面可以看到,模型的輸入有:
遊戲時間(ms)
雙方最低牌位
雙方最高牌位
雙方巴龍擊殺數
雙方小龍擊殺數
雙方推塔數
雙方金錢量
雙方擊殺數
雙方死亡數
雙方助攻數
雙方整隊等級
雙方CS數
這邊可以看到兩個重點
第一,資料幾乎都是以"整隊"為單位
擊殺數、金錢量、CS數甚至等級都是整隊加起來
而雖然原始資料有給兩邊英雄的ID,不過也沒餵進模型
所以只能看出來整體哪邊比較肥而已,看不出來肥的到底是寇格魔還是瑟雷西
第二,上述資料完全沒有前處理,就是餵進去而已
牌位對電腦來說就是不同字串,沒有誰比誰高的概念
雙方擊殺數和死亡數幾乎是重複的資料
而很多資料(金錢量、擊殺死亡推塔等)是相對的,必須互相比較才有意義
而這些數據也都和遊戲時間有關
但是很多預測模型,包含random forest,都不會去做這種比較
因此必須要自行做資料前處理
例如把雙方的金錢量相減,變成"雙方經濟差"再餵進去,絕對會比各自餵有用的多
因為這樣模型就可以根據這個差距有多大做預測
而不是像原始作法,模型很可能會變成看到"藍方經濟>50K"就猜藍方會贏
卻沒注意到紅方經濟70K了
除此之外,沒有把經濟量對遊戲時間做調整(變成金錢/時間)也會對模型有很不好的影響
我猜這就是這四個廢話因子裡面有兩個重複的東西(擊殺/死亡),卻沒有經濟量的原因
而且只要猜哪隊贏的二元預測,正確率只有到75%,說實在也沒高到哪去
不過就像一開始說的,他們的project重點在短時間內搞出這麼多技術的串接
多花點時間做資料前處理和微調的話,預測結果一定能做得更好
而他們也在github上放了原始碼還有資料,有閒的鄉民可以自己fork下來試著調調看
感覺滿有趣的,我畢業完也會考慮來玩玩看
https://github.com/igwp/igwp
大概是這樣
※ 引述《turningright (Right)》之銘言:
: Reddit原串:https://redd.it/dcpli3
: 來源:https://reurl.cc/9zG0aO
: 擅長在《英雄聯盟》中抓出各種 Bug 的知名人物 Vandril 日前又抓到了一隻大蟲,當他
: 在測試伺服器玩阿福快打的時候,遊戲內的聊天室突然跳出一大串有著 DEBUG 字眼的字
: 串,而這些字串似乎有著一些不同凡響的意義。
: https://youtu.be/5DuLPpScQhs
: 這些字串顯示出的資料包含雙方隊伍的經濟量、經濟差距、賞金分析,甚至還會顯示出個
: 別英雄的弱點以及目前的勝率。
: Vandril 的 Bug 影片被轉載到 Reddit 之後獲得官方人員的回覆,名為 RiotBoatStuff
: 的 Rioter 承認他們確實在用機器學習來試著能否分析出勝率,透過輸入經濟差距、地圖
: 物件、隊伍組成等參數來訓練模型。
: https://i.imgur.com/gQ48Npa.png
: 不過其實早在 2016 年時就有類似的東西了,當時有人在 Riot 自辦的黑客松中以實時勝
: 率為主題製作了一個分析程式,以三萬場鑽石積分場作基底去餵機器,並得出了死亡數、
: 擊殺數、推塔數和擊殺的小龍數是影響勝利的四個重要因子。
: RiotBoatStuff 在轉貼文章底下也提到了推薦出裝的系統,目前仍有些英雄的資料仍未更
: 新到最新版,若可透過AI分析戰況來進行自動化的話應該會很棒,他也打趣的表示如果在
: 玩達瑞文時送掉首殺,系統有可能會誤推薦你買六水滴。

Links booklink

Contact Us: admin [ a t ] ucptt.com