北京161中學 柯嘉鑫
機器學習k-means算法在電競選手分析中的應用
北京161中學 柯嘉鑫
隨著計算機技術的發展,數據挖掘在很多方面得到應用,尤其是在電競行業發展迅速的今天,數據挖掘技術被應用到電競分析中。本研究用機器學習的方法進行數據挖掘,將機器學習中K-means算法應用于電子競技職業選手,對電競選手比賽數據的指標進行聚類,劃分為三個不同的等級,并對聚類結果進行分析,將個人能力水平數據化,用聚類結果指導職業選手今后的針對性訓練以及發展方向,為電子競技行業標準化、成熟化起到推動作用。本研究旨在推動計算機技術中機器學習的發展,為我國電子競技提供參考數據,對日后電競選手分析的亞那就具有很大的意義。
機器學習;數據挖掘;聚類K-means算法;電子競技;計算機技術
隨著信息化、數字化的發展,計算機技術滲透到人們生活的方方面面,在社會生活中展現出強大的力量,與此同時,機器學習作為一種新型的技術,在科研中占據扮演重要角色,其通過模擬或實現人類的學習行為,以獲取新的知識或技能,重新組織已有的知識結構使之不斷改善自身的性能的一項技術。作為人工智能的核心以及今后重要發展方向,機器學習在商務、生物學、地球環境學上都有不同程度的應用,在社會實用中有重要的應用價值和廣闊的前景,合理的將機器學習K-means算法應用于行業中,可以讓一個新興領域在數據挖掘,分析指導方面取得先機[1],[2]。
近些年來中國電子競技行業突破傳統,迅速崛起,方興未艾,逐漸走入了人們的視野,然而由于該領域在中國正處于起步階段,針對其產生的大數據的分析方法十分缺乏,導致在對于競技理念風格,以及變動方面發展緩慢。采用K-means算法對職業選手進行評估,是基于現在電競數據分析空白現狀的重要突破和創新。
本研究采用數據挖掘中典型的聚類K-means分析算法,針對Dota2項目選手展開初步研究,收集在國際賽事中參賽戰隊各選手的實戰數據以及細節成果,通過反復學習、調整,以獲得合適的聚類中心,將參賽選手劃分不同類別,使符合相應風格和打法理解的選手劃歸為一類,結合聚類結果對選手進行分析[3]-[5]。
1967年,Macqueen提出了K-means算法思想[6],把空間中數據集中的n個數據點分為k組,把每組的均值作為中心點,并以這k個點為中心進行聚類,對最靠近他們的對象劃為一類。通過t次迭代,重新計算數據點與各組中心的相似度,逐次更新各聚類中心的值,直至得到最好的聚類結果[7],[8]。
K-means算法作為數據挖掘中經典的聚類分析算法,是一種比較快速有效的聚類方法,能根據較少的已知聚類樣本的類別確定部分樣本的分類;其次,為克服少量樣本聚類的不準確性,該算法本身具有優化迭代功能,在已經求得的聚類上再次進行迭代修正,確定部分樣本的聚類,優化了初始監督學習樣本分類不合理的地方;第三,由于只是針對部分小樣本可以降低數據挖掘所需時間。
聚類開始,選取k個質心點,通過多次運行,每次運行都是隨機選取質心點,最終確定平均誤差和最小的幾個點作為質心點;接著進行距離的計算,求每個樣本與各個質心之間的距離,將該樣本數據歸為距離小的質心所在的類中,根據不同情況,可選用歐幾里德距離或曼哈頓距離,本論文采用歐幾里德距離;進而計算每個聚類的平均值,作為新的質心,不斷的重復第二步與第三步的計算過程,知道質心帶你收斂即不再發生變化,表示聚類結束。
各樣本與質心的距離表達式如下:

聚類質心的選取表達式:


圖1 k-means算法流程圖

圖2 分析流程圖

表1 選手電競得分結果表
(1)數據采集
本研究中數據來源于某游戲國際邀請賽通用平臺中部分選手數據作為本次的分析樣本數據,共計15位參賽選手的比賽數據,其中包含比賽中場均KDA、總擊殺數、總死亡數、總助攻數等數據信息,這些數據都快可以從比賽平臺上獲取,真實有效。
(2)數據預處理
對數據進行預先處理,是數據挖掘中數據分析的首要步驟,也是重中之重,對原數據進行篩選、去噪、標準化等操作,將數據變為有效數據,不僅可以提高數據挖掘的效率,同時決定了數據挖掘結果的準確性。
首先對數據進行集成、整合,將多位參賽選手的數據整合到一張表中,將參與聚類分析的14個屬性整合到表中,如表1所示。
數據清洗:將原數據進行標準化,從表1中可看出原始數據沒有統一,因此,對數據進行標準化處理,本研究采用經典的數據標準化方法極差法,表達式如下:

(3)聚類分析
本研究選取具有代表性的兩個屬性總擊殺數和場均XPM,對選手進行聚類,選用的開發工具是PyCharm,開發語言是Python。Python開發語言相對于其他語言,以腳本的形式存在,操作簡單,將選手聚集成三類,部分代碼如圖3所示:

圖3 部分代碼圖
仿真結果如圖4所示:

圖4 聚類結果圖
聚類結果表如表2所示。
從圖4中可以看出將15名選手分成3類,其中紫色表示偏重自身經驗獲取與發育,具備一定后期能力,團隊支撐的選手;中間綠色表示能夠在發育與參戰中權衡并保持自己的節奏,執行率較高,能在團隊中發揮應有的作用,全能型的選手;右下角黃色部分表示進攻性很強,但是容易丟失自己發育節奏的選手。從表2中可以看出第二名選手個人能力較強,應努力保持。第9,12,15打法較為積極主動,但是發育能力較差,要多多與隊伍磨合,穩中求彩。其余選手應更多的開發自己適合的戰術,以有更多發揮空間。

表2 電競選手聚類結果表
本文將電競選手的參賽成績采用數據挖掘中的經典算法k-means聚類算法,通過程序仿真,將選手的個人特色與能力客觀地展現出來,通過聚類分析,反映出比賽選手之間的競技水平存在明顯差異,該結果可以便于選手了解自己的不足之處,以及日后比賽的努力方向,為各大戰隊以及俱樂部選手提供有效參考;與此同時,還可以提供數據給開發公司及相關賽事負責人員提供決策支撐,便于了解每位選手以及當前版本的節奏和風格,方便游戲與賽制優化與完善,逐步推進電子競技科學化,成熟化。本文在電競選手聚類分析中取得一定的成果,為以后機器學習在電競分析中的應用奠定了良好的理論基礎;但仍然存在不足之處,比如以后的研究將關聯規則與聚類分析算法一同使用,可以提高算法的性能。
[1]徐衛廣.自動化機器學習領域中k-means聚類算法應用研究[J].工程技術全文版,2016(6):00212.
[2]熊志斌,朱劍鋒,王冬.K-means聚類算法的研究和應用[J].電腦編程技巧與維護,2014(8):10-12.
[3]李雙虎,王鐵洪.K-means聚類分析算法中一個新的確定聚類個數有效性的指標[J].河北省科學院學報,2003,20(4):199-202.
[4]方開泰,潘恩沛.聚類分析[M].地質出版社,1982.
[5]方方,王子英.K-means聚類分析在人體體型分類中的應用[J].東華大學學報(自然科學版),2014,40(5):593-598.
[6]張云濤.數據挖掘原理與技術[M].電子工業出版社,2004.
[7]Hartigan J A,Wong M A.A K-means clustering algorithm[J].Applied Statistics,1979,28(1):100-108.
[8]Jain, Anil K.Data clustering:50 years beyond K-means[J].Pattern Recognition Letters,2010,31(8):651-666.
[9]Hartigan J A,Wong M A.Algorithm AS 136:A K-Means Clustering Algorithm[J].Journal of the Royal Statistical Society,1979,28(1):100-108.
柯嘉鑫(2000—),男,廣東人,現就讀于北京161中學。