999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于AdaBoost的某競技游戲得分預測的應用

2020-07-15 06:41:18
福建質量管理 2020年13期
關鍵詞:模型

(云南財經大學 云南 昆明 650221)

一、機器學習概述

主流的機器學習算法包括支持向量機、神經網絡、集成學習和邏輯回歸。本節對這些算法的基本原理進行簡要介紹。

(一)支持向量機

支持向量機(SupportVectorMachines,SVM),其早期工作來自前蘇聯學者VladimirN.Vapnik和AlexanderY.Lerner在1963年發表的研究,是一類按監督學習方式對數據進行分類的廣義線性分類器。其核心思想即,二維數據分布在樣本空間上,由一個超平面對多維數據進行分割,這個平面叫做分類的決策邊界,支持向量就是離決策邊界最近的一些點,支持向量機的目的就是最大化支持向量到決策邊界的距離,從而,如果數據犯錯的話,分類器會盡可能的健壯。

當遇到多維或者復雜數據時,就需要引用核函數將數據轉換成易于分類器理解的形式,其中最流行的一種成為徑向基函數(radialbasisfunction),利用核函數講數據映射到高維空間,可以將在低維空間中的非線性問題轉換成高維空間下的線性問題來求解。支持向量機是一個二分類器,當用其解決多分類問題時,則需要額外的方法對其進行擴展。SVM效果取決于優化參數和和函數中的參數設置。

(二)神經網絡

1958年,計算科學家Rosenblatt提出了由兩層神經元組成的神經網絡。他給它起了一個名字——“感知器”(Perceptron),也就是單層神經網絡,它由一個輸入層和輸出層組成,每一個特征屬于代表一個神經單元,輸入層只負責傳輸數據,不做計算。在輸出層則需要對前一層的數據進行計算,連接輸入層和輸出層的帶有箭頭的線表示一個權重,預測值則是輸入和權值之間的線性加權和疊加了一個激活函數g的值,即Z=g(W*a),在單層神經網絡中,g函數使用sgn函數,也就是取符號函數。這個函數當輸入大于0時,輸出1,否則輸出0。

但是Minsky在1969年出版了一本叫《Perceptron》的書,里面用詳細的數學證明了單層神經網絡的弱點,尤其是對異或這樣的簡單分類任務都無法解決[2]。

兩層神經網絡,在單層神經網絡基礎上,增加一個中間層,此時,中間層和輸出層都是計算層,激活函數也由sgn變為sigmoid。我們將yp作為預測值,y為真實值,將loss=(yp-y)2定義為損失函數,因此我們做的工作就是讓loss值盡可能的小,一般采用梯度下降法,直到梯度接近零,在神經網絡中,由于結構復雜,每次計算梯度的代價很大。因此1986年,Rumelhar和Hinton等人提出了反向傳播(Backpropagation,BP)算法,解決了兩層神經網絡所需要的復雜計算量問題。也就是經典的BP神經網絡,反向傳播法利用神經網絡的結構,首先計算輸出層的梯度,然后是第二個參數梯度,接著計算中間層梯度,再然后計算第一個參數的梯度,最后計算輸入層梯度。盡管使用了BP算法,一次神經網絡的訓練仍然耗時太久,而且困擾訓練優化的一個問題就是局部最優解問題,這使得神經網絡的優化較為困難。同時,隱藏層的節點數需要調參,這使得使用不太方便。

多層神經網絡,隨著計算機硬件性能提升(如GPU圖形加速卡),在二層的基礎上,中間層的層次繼續擴張,參數也隨之增加,通過研究和實踐發現,更深的網絡層次往往比淺層有更好的識別率,這點在ImageNet大賽上獲得的證實。因為通過每一層,對前一層的抽象表示更加深入。ReLU函數(f(x)=max(0,x))在訓練多層神經網絡時,更容易收斂,并且預測性能更好。

(三)集成學習

俗話說,三個臭皮匠頂個諸葛亮,這就是元算法的思路,集成學習就是對其它算法進行組合的一種學習方式。集成方法主要包括Bagging和Boosting兩種方法。Bagging方法即在原始樣本中,根據Bootstraping方法,隨機抽取一部分數據集作為訓練數據,一共抽取K次,每一次的訓練集訓練出一個模型,一共訓練出K個模型,最后再由K個模型投票得出結果,如果是對于回歸問題,則計算K個模型的均值為最后的結果[3]。Boosting則是每一輪訓練集相同,但是會賦予訓練集一個權重,根據模型的錯誤率來調整權值,錯誤率越高,權值越高。其中具有代表性的AdaBoost分類器,具有泛化錯誤率低,可以應用在大部分分類器上,無需調參。但是對離群點敏感等特點。

二、數據說明

本文數據來自國內某款流行競技游戲官網RiotAPI中,通過玩家ID獲取到前十分鐘的游戲狀態數據,玩家水平控制在一定范圍,即代表玩家水平大致相同。本數據集收集了共19項狀態數據,一共38項(紅藍兩方玩家)。

數據集狀態屬性包括19項,共38個,分別是blueWardsPlacedDestroyed,blueFirstBlood,blueKills,blueDeaths,blueAssists,blueEliteMonsters,blueDragons,blueHeralds,blueTowersDestroyed,blueTotalGold,blueAvgLevel,blueTotalExperience,blueTotalMinionsKilled,blueTotalJungleMinionsKilled,blueGoldDiff,blueExperienceDiff,blueCSPerMin,blueGoldPerMin。以上狀態特征除blueFirstBlood為分類變量,1為是,0為否,其它均為連續變量。目標變量為blueWins,是否取勝。數據集一共包括9879個樣本。

三、得分預測

(一)數據處理步驟

1.讀取數據

使用python中的csv包,讀取樣本數據文件‘high_diamond_ranked_10min.csv’,同時引用numpy包,創建訓練數據矩陣和標簽矩陣,遍歷樣本數據,將特征一一讀取到訓練舉證,同時讀取每一個樣本數據中的標簽,將其添加到標簽矩陣。自此,已經建立了訓練數據。接著我們分析該矩陣的數據特點。

2.歸一化

由于blueTotalGold,blueAvgLevel,blueTotalExperience,blueTotalMinionsKilled,blueTotalJungleMinionsKilled,blueGoldDiff等幾個特征數值偏大,有的甚至是周圍值的幾千倍,不同指標往往具有不同的量綱和量綱單位,這樣的情況會影響到數據分析的結果,為了消除指標之間的量綱影響,需要進行數據標準化處理。在本文中,采取將數據做線性變換,使結果值映射到[0-1]之間。

經過歸一化處理后,各指標處于同一數量級,便于綜合對比。同時,求最優解的過程會變得平緩,更容易正確收斂。即能提高梯度下降求最優解時的速度,提高計算精度。此過程使用SK-Learn包中的preprocession函數完成。自此數據處理大致完成,如果還需要調整的話,可以根據實驗最后的精度來做下一步分析。

預測模型

本文采用泛化程度較高的AdaBoost分類器來完成預測工作。其偽代碼如下:

對每次迭代:

利用buildStump()函數找到最佳的單層決策樹

將最佳單層決策樹加入到單層決策樹組

計算alpha

計算新的權重向量D

更新累計類別估計值

如果錯誤率等于0,則退出循環

使用SK-Learn中的AdaBoost模型,分類器選取DecisionTreeClassifier,最后,訓練結果如圖所示:

結果解釋:可以看到使用AdaBoost模型,參數取以上值時,通過交叉驗證,最佳參數為,決策樹參數最高3層,其它參數由于樣本特征,均為默認值,基分類器提升(循環)次數n_estimators為1000次,模型提升準則選擇SAMME。AdaBoost其它參數均為默認值。分類器在訓練集上的錯誤率為26.26%,在測試集上錯誤率為27.46%,可以看出并沒有過擬合,模型擬合效果比較合適。整體預測準確率為72.5%。

四、預測模型的評價

在機器學習算法中,模型本身所需要的假設比較少,相應地,對模型進行評價的工具也不多,通常只能通過對模型的預測結果與真實結果進行比較來判斷模型的預測精度。

在本文中,得分預測是屬于分類問題。對于分類問題,預測精度的評價指標主要有查全率和查準率,AUC值和F值。

混淆矩陣

模型的精度,即模型預測正確的個數/樣本的總個數

召回率,真正類率,表示的是,模型預測為正類的樣本的數量,占總的正類樣本數量的比值:

一般情況下,Recall越高,說明有更多的正類樣本被模型預測正確,模型的效果越好。除了上述的評價指標,另一個用于度量分類中的非均衡的工具是ROC曲線(ROC curve)。

本分類器ROC曲線如下圖:

ROC曲線是從[0,0]到[1,1]的上凸曲線。ROC曲線越趨近于左上角的[0,1]點,說明分類器的效果越好。ROC 曲線下方的面積稱為AUC值,AUC介于0到1之間,當AUC小于0.5時,說明分類器的效果不如隨機預測的效果; AUC 越接近于1,說明分類器的效果越好。本實驗中,隨機將樣本集劃分6次,平均AUC值如圖所示,為0.81,證明模型能夠有效預測比賽勝負。

五、小結

通過實驗,可以證明基于AdaBoost模型的某競技游戲勝負分類器是有效的,平均AUC為0.81左右,不同的訓練模型對數據的擬合效果有時差距是非常大的,所以本文后續工作還可以應用更加合適的模型來提高其精度,比如可以利用回歸分析,對特征相關度進行分析,根據分析適當增加或降低模型復雜度,可以提高分類準確率,本文由于篇幅有限,不再做贅述。

電子競技是隨著行業越來越規范和飛速發展,無論是個人電腦端還是手機端,每天都有大量的數據產生,本文僅對其中游戲類中的一個小方向做了簡單分析。機器學習,深度學習,強化學習模型作為一種工具已經在許多領域取得了良好的應用效果,如語音,圖片識別,自然語言處理等領域中大放光彩。去年,騰訊AILab實驗室研發的虛擬角色在2100場游戲對抗中,取得了99,8%的獲勝率,讓我們的認知不僅僅停留在alphaGo大戰圍棋高手,而電子競技作為一項體育運動,不論在專業領域和普通玩家中,都深受喜愛,從前文的報告中,在2020年,電競整體規模有望達到1300億元,但是相關研究并沒有成型,希望本文是拋磚引玉,今后的學習中能夠有更多的研究應用到電競行業。最后,機器學習以及其后面一系列學習模型算法作為一種新興的預測模型,在電子競技行業具有廣闊的應用前景,對于提升用戶游戲體驗度,增強用戶黏性,完善游戲內部機制,改善游戲生態有著重要的應用價值。

猜你喜歡
模型
一半模型
一種去中心化的域名服務本地化模型
適用于BDS-3 PPP的隨機模型
提煉模型 突破難點
函數模型及應用
p150Glued在帕金森病模型中的表達及分布
函數模型及應用
重要模型『一線三等角』
重尾非線性自回歸模型自加權M-估計的漸近分布
3D打印中的模型分割與打包
主站蜘蛛池模板: 国产美女在线观看| 一级毛片免费不卡在线视频| 国产在线观看一区二区三区| 亚洲国产成人综合精品2020| 免费国产高清精品一区在线| 午夜毛片免费看| 国产精品美女在线| 日本亚洲欧美在线| 国产三级a| 91www在线观看| 亚洲欧洲综合| 欧美色99| 欧美午夜视频在线| 亚洲美女一区| 九色国产在线| 亚洲六月丁香六月婷婷蜜芽| 日韩激情成人| 一级毛片在线播放免费观看| 亚洲综合精品香蕉久久网| 性做久久久久久久免费看| 国产真实乱子伦精品视手机观看| 免费国产黄线在线观看| 欧美一区二区人人喊爽| 青青草国产精品久久久久| 久久精品91麻豆| 国产精品自在在线午夜| 国内熟女少妇一线天| 亚洲欧美综合在线观看| 国产后式a一视频| a级毛片免费播放| 亚洲婷婷六月| 欧美日韩激情| 国产欧美日韩资源在线观看| 免费a级毛片18以上观看精品| 国内熟女少妇一线天| 国产精品太粉嫩高中在线观看| 国产精品亚洲欧美日韩久久| 精品久久蜜桃| 色悠久久综合| 毛片视频网| 重口调教一区二区视频| 欧美福利在线| 99精品国产自在现线观看| 亚洲精品国产成人7777| 国产农村妇女精品一二区| 99免费视频观看| 国产精品一区在线麻豆| 亚洲国产在一区二区三区| 国产男人天堂| 色综合色国产热无码一| 日韩欧美国产另类| 国产一级二级在线观看| 曰AV在线无码| 中文无码毛片又爽又刺激| 全部免费毛片免费播放| 国产黄在线观看| 国产探花在线视频| 国产一区成人| 日韩精品亚洲一区中文字幕| 18禁高潮出水呻吟娇喘蜜芽| 国产男女免费完整版视频| 亚洲婷婷在线视频| 日韩欧美在线观看| 亚洲三级电影在线播放| 丁香婷婷综合激情| 精品国产自在现线看久久| 国产精品视频公开费视频| 日韩欧美在线观看| 亚洲国产精品无码久久一线| 婷婷综合缴情亚洲五月伊| 国产精品男人的天堂| 色综合五月婷婷| 男女男免费视频网站国产| 国产网站免费| 欧美亚洲国产一区| 88av在线| 亚洲狼网站狼狼鲁亚洲下载| 欧美色视频日本| 色婷婷在线播放| 片在线无码观看| 久久亚洲精少妇毛片午夜无码 | 国产成人在线无码免费视频|