黃易
(咸陽(yáng)職業(yè)技術(shù)學(xué)院 體育學(xué)院, 陜西 咸陽(yáng) 712000)
隨著計(jì)算機(jī)技術(shù)的迅速發(fā)展,為解決以前無(wú)法解決的各種任務(wù)開(kāi)辟了新的機(jī)遇。機(jī)器學(xué)習(xí),尤其是神經(jīng)網(wǎng)絡(luò)的普及,最近達(dá)到了頂峰,因?yàn)闄C(jī)器學(xué)習(xí)算法被描述得比他們的使用更早,甚至對(duì)幾乎每個(gè)人都買(mǎi)得起的計(jì)算機(jī)也變得相當(dāng)有效。機(jī)器學(xué)習(xí)是一個(gè)非常有前途的行業(yè),特別是使用神經(jīng)網(wǎng)絡(luò)[1-5]。
博彩領(lǐng)域,與機(jī)器學(xué)習(xí)不同,已經(jīng)流行多年。盡管這一領(lǐng)域存在時(shí)間長(zhǎng),而且無(wú)障礙,但統(tǒng)計(jì)數(shù)字顯示,這一領(lǐng)域的受歡迎程度每年都在增長(zhǎng),這使它得以發(fā)展,而且每年都在使用新的方法來(lái)鼓勵(lì)越來(lái)越多的人投入其中。
考慮到博彩這一領(lǐng)域的不斷普及,以及市場(chǎng)上有很多投注處,可以得出這樣的結(jié)論:目前還沒(méi)有一種算法能夠準(zhǔn)確預(yù)測(cè)將要發(fā)生的體育賽事結(jié)果。因?yàn)橐粓?chǎng)體育比賽的結(jié)果受到很多因素的影響,其中許多因素是不可預(yù)測(cè)的。盡管如此,世界上許多頂尖大學(xué)都在致力于發(fā)明一種具有高預(yù)測(cè)性的算法[6-11]。因此,體育賽事本身,例如一場(chǎng)足球比賽的結(jié)果,是由許多因素?cái)M合的結(jié)果,每一個(gè)因素都有不同程度的影響。由于影響因素之間缺乏明顯的聯(lián)系,專(zhuān)家們無(wú)法根據(jù)自己的邏輯結(jié)論百分之百地預(yù)測(cè)出結(jié)果。
盡管有神經(jīng)網(wǎng)絡(luò)的原理,但它的實(shí)現(xiàn)有很多方法、結(jié)構(gòu)變體和學(xué)習(xí)算法[12]。有些神經(jīng)網(wǎng)絡(luò)易于實(shí)現(xiàn),有些則難以實(shí)現(xiàn),但為學(xué)習(xí)提供了重要的方法。文獻(xiàn)分析表明,與其他神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)相比,直連神經(jīng)網(wǎng)絡(luò)的效率高,實(shí)現(xiàn)復(fù)雜度高。
BP(Back Propagation)神經(jīng)網(wǎng)絡(luò)是最流行的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)之一,不僅因?yàn)槠鋵?shí)現(xiàn)的復(fù)雜性,還因?yàn)樗纳a(chǎn)率和效率高[13-15]。這類(lèi)神經(jīng)網(wǎng)絡(luò)之間最大的區(qū)別是其組成部分不形成回路,與遞歸神經(jīng)網(wǎng)絡(luò)相反。
在直連的BP神經(jīng)網(wǎng)絡(luò)中,神經(jīng)元從與之相關(guān)的其他神經(jīng)元接收更高層次的數(shù)據(jù),并將結(jié)果傳遞到更低層次。因此,根據(jù)神經(jīng)網(wǎng)絡(luò)的名稱(chēng),其中的信息只有一種分布方式,即從入口到出口,通過(guò)神經(jīng)網(wǎng)絡(luò)的所有隱含層。
在這種神經(jīng)網(wǎng)絡(luò)中,結(jié)果的形成是一種標(biāo)準(zhǔn)方法,其中信息通過(guò)神經(jīng)元中具有一定權(quán)重的突觸傳遞,這些突觸對(duì)所獲得的結(jié)果進(jìn)行總結(jié),并將激活函數(shù)(傳遞函數(shù))應(yīng)用于所獲得的數(shù)據(jù)。這個(gè)過(guò)程是不變的,它貫穿于神經(jīng)網(wǎng)絡(luò)的所有隱含層。
如上所述,神經(jīng)網(wǎng)絡(luò)包含隱含層??紤]了神經(jīng)網(wǎng)絡(luò)在輸入層和輸出層之間的隱含層。特別是它們的數(shù)量,是神經(jīng)網(wǎng)絡(luò)效率的決定性因素之一,它直接影響結(jié)果的準(zhǔn)確性[16-17]。隱含層越多,對(duì)神經(jīng)網(wǎng)絡(luò)的資源要求就越高。因此,一個(gè)有效的神經(jīng)網(wǎng)絡(luò)可以被稱(chēng)為一個(gè)正確選擇了許多因素的網(wǎng)絡(luò),包括隱含層的數(shù)量。
神經(jīng)網(wǎng)絡(luò)訓(xùn)練算法的選擇對(duì)神經(jīng)網(wǎng)絡(luò)結(jié)果的準(zhǔn)確性也有很大的影響。訓(xùn)練是創(chuàng)建神經(jīng)網(wǎng)絡(luò)的關(guān)鍵步驟,神經(jīng)網(wǎng)絡(luò)在實(shí)現(xiàn)后立即出現(xiàn)??紤]到神經(jīng)網(wǎng)絡(luò)的種類(lèi)繁多,有幾種訓(xùn)練算法。神經(jīng)網(wǎng)絡(luò)訓(xùn)練的基本原理是調(diào)整突觸上的權(quán)值,使神經(jīng)網(wǎng)絡(luò)輸出的結(jié)果與參考數(shù)據(jù)之間的誤差最小化。
在仔細(xì)分析文獻(xiàn)的基礎(chǔ)上,選擇了用于神經(jīng)網(wǎng)絡(luò)訓(xùn)練的逆誤差傳播方法[18-19]。該方法是一種迭代梯度算法,其原理是將神經(jīng)網(wǎng)絡(luò)輸出的誤差信號(hào)傳輸?shù)捷斎攵恕_@種神經(jīng)網(wǎng)絡(luò)教學(xué)方法是所述方法中最流行、最有效的方法之一。
因?yàn)橹边BBP神經(jīng)網(wǎng)絡(luò)是一種逆誤差傳播的前饋神經(jīng)網(wǎng)絡(luò),所以整個(gè)直連BP神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)如圖1所示。
圖1 神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)示意圖
具體的整個(gè)網(wǎng)絡(luò)的學(xué)習(xí)過(guò)程為:當(dāng)樣本從輸入層進(jìn)入隱含層后,隱含層通過(guò)式(1)輸出數(shù)據(jù)。
y=f(XTW1+θ)
(1)
式中,X為輸入樣本的屬性;y為隱含層的輸出;W1為從輸入層到隱含層的連接權(quán)值;θ為隱含層設(shè)置的閾值;f(·)為sigmoid函數(shù),在此設(shè)置為tansig函數(shù),其值通過(guò)式(2)得到。
(2)
接下來(lái)再?gòu)碾[含層到輸出層,最終得到輸出層的結(jié)果。其值計(jì)算過(guò)程為式(3)。
(3)
式中,O為輸出層的最終結(jié)果;W21為從輸入層直接到輸出層的權(quán)值;W22為隱含層到輸出層的權(quán)值;β為設(shè)置的輸出層閾值。
整個(gè)訓(xùn)練是在參考數(shù)據(jù)樣本上進(jìn)行的,在這種情況下,數(shù)據(jù)樣本由直接影響足球比賽結(jié)果形成的因素表示。為了給神經(jīng)網(wǎng)絡(luò)訓(xùn)練提供必要的性能和有效性,對(duì)影響神經(jīng)網(wǎng)絡(luò)訓(xùn)練的因素進(jìn)行了詳細(xì)的分析,選擇了12個(gè)影響最大的因素作為樣本。
由于在這種情況下,最優(yōu)隱含層數(shù)是未知的,因此決定分別實(shí)現(xiàn)兩層和四層隱含層的神經(jīng)網(wǎng)絡(luò),以便對(duì)這種神經(jīng)網(wǎng)絡(luò)的效率進(jìn)行實(shí)驗(yàn)比較。
實(shí)驗(yàn)環(huán)境為Windows764位系統(tǒng)的臺(tái)式機(jī),16 GB內(nèi)存,英特爾酷睿 i7,3.5 GHz處理器,顯卡為8 GB的英偉達(dá)GTX1080。由于神經(jīng)網(wǎng)絡(luò)的流行、足夠的性能和內(nèi)置的功能,在此使用的是Python 2.7編程語(yǔ)言實(shí)現(xiàn)的。并利用了NumPy庫(kù),該庫(kù)允許使用必要的數(shù)學(xué)函數(shù),并為大型多維數(shù)組提供支持。數(shù)據(jù)集中的數(shù)據(jù)為足球數(shù)據(jù)查詢平臺(tái)創(chuàng)冰中的2016—2019年英超聯(lián)賽比賽數(shù)據(jù)。
為了評(píng)估神經(jīng)網(wǎng)絡(luò)的工作,因此選擇了一些匹配項(xiàng),這些匹配項(xiàng)的結(jié)果是預(yù)先知道的,即在測(cè)試時(shí)已經(jīng)發(fā)生了。將同一組測(cè)試數(shù)據(jù)應(yīng)用于兩個(gè)神經(jīng)網(wǎng)絡(luò),以比較它們的工作結(jié)果。
如上所述,在為訓(xùn)練神經(jīng)網(wǎng)絡(luò)而選擇的比賽中,只選擇那些對(duì)足球比賽結(jié)果的形成有重大影響的比賽。因此,可以區(qū)分以下幾項(xiàng)。
(1) 每隊(duì)最近五場(chǎng)比賽的統(tǒng)計(jì);
(2) 當(dāng)前團(tuán)隊(duì)會(huì)議統(tǒng)計(jì);
(3) 主隊(duì)會(huì)議上的比賽統(tǒng)計(jì);
(4) 在觀眾出口處對(duì)比賽信息的統(tǒng)計(jì)。
這些因素是最有影響的因素之一。比如,可以用來(lái)制定預(yù)測(cè)的一個(gè)主要因素就是隊(duì)伍的形式,而它通常是由最近五場(chǎng)球隊(duì)比賽的統(tǒng)計(jì)數(shù)據(jù)決定的,所以這個(gè)因素也屬于影響最大的一個(gè)組,其他因素類(lèi)似。因此,使用這些因素可以達(dá)到預(yù)期的最大效果。
但也有一些對(duì)結(jié)果形成的影響要小得多的因素,其中包括。
(1) 比賽期間的天氣;
(2) 比賽實(shí)際進(jìn)行的時(shí)間段;
(3) 比賽場(chǎng)地及地點(diǎn);
(4) 犯規(guī)、罰球、角球統(tǒng)計(jì)。
為了評(píng)估神經(jīng)網(wǎng)絡(luò)訓(xùn)練參數(shù)選擇的可行性和正確性,并在實(shí)踐中檢驗(yàn)它們對(duì)結(jié)果形成的影響,決定應(yīng)用這2個(gè)樣本因子并進(jìn)行比較。
因此,在由所有影響因素組成的2個(gè)試驗(yàn)組形成后,根據(jù)被歸類(lèi)為最有影響組的因素,下一階段是神經(jīng)網(wǎng)絡(luò)的訓(xùn)練階段,其結(jié)果是訓(xùn)練好的神經(jīng)網(wǎng)絡(luò),準(zhǔn)備對(duì)所提供的輸入數(shù)據(jù)進(jìn)行預(yù)測(cè)。
訓(xùn)練神經(jīng)網(wǎng)絡(luò)的過(guò)程,如圖2所示。
圖2 數(shù)據(jù)互操作模塊
“Epoch”和“Error”變量分別對(duì)應(yīng)通過(guò)的迭代次數(shù)和錯(cuò)誤。隨著訓(xùn)練的每次迭代,誤差減小,表明訓(xùn)練過(guò)程的成功。
不同隱含層數(shù)和因子數(shù)的神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)精度,如表1所示。
表1 神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)的精度
由表1的數(shù)據(jù)可以看出,4個(gè)隱含層20個(gè)因子的神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)效果最好,預(yù)測(cè)精度為67.25%。由2個(gè)隱含層組成的神經(jīng)網(wǎng)絡(luò),在應(yīng)用20個(gè)因子的情況下,其結(jié)果明顯較差,為55.06%。
盡管要素?cái)?shù)量的差異很大,但利用多種因素得到的結(jié)果表明,所選擇的要素對(duì)結(jié)果的形成影響要大得多。因此,如果生產(chǎn)率因素是關(guān)鍵的,其余的因素可以忽略不計(jì)。
研究了神經(jīng)網(wǎng)絡(luò)的隱含層數(shù)。在研究中,形成了一組特征,并依次用于預(yù)測(cè)。特性以及結(jié)果的預(yù)測(cè)如表2所示。
表2 神經(jīng)元數(shù)目對(duì)預(yù)測(cè)精度影響
根據(jù)神經(jīng)網(wǎng)絡(luò)隱含層數(shù)變化對(duì)預(yù)測(cè)精度影響的研究結(jié)果,可以得出:8層和10層隱含層神經(jīng)網(wǎng)絡(luò)的預(yù)測(cè)效果最好,分別為16個(gè)信號(hào)的65%、68%和61%,對(duì)8個(gè)信號(hào)成功預(yù)測(cè)的65%。值得注意的是,一個(gè)具有10個(gè)隱含層的神經(jīng)網(wǎng)絡(luò)的訓(xùn)練過(guò)程花費(fèi)了相當(dāng)長(zhǎng)的時(shí)間,并且隨著隱含層數(shù)量增加到12個(gè),訓(xùn)練過(guò)程極其緩慢,這使得研究成為不可能。在所有情況下,本研究都使用一種算法來(lái)訓(xùn)練神經(jīng)網(wǎng)絡(luò),即反向誤差傳播算法。
神經(jīng)網(wǎng)絡(luò)的一個(gè)重要特征是神經(jīng)元的數(shù)目,神經(jīng)元的隱含層由神經(jīng)元組成。它們的數(shù)量對(duì)神經(jīng)網(wǎng)絡(luò)的訓(xùn)練過(guò)程和預(yù)測(cè)的成功與否有著重要的影響。為了保證在神經(jīng)網(wǎng)絡(luò)訓(xùn)練允許的時(shí)間內(nèi)預(yù)測(cè)的高精度,研究了神經(jīng)網(wǎng)絡(luò)的最優(yōu)數(shù)目。
為了進(jìn)行研究,形成了一組特征,并進(jìn)行了一致的實(shí)驗(yàn)。誤差減小的可視化如圖3所示。
圖3 誤差減小的可視化
神經(jīng)網(wǎng)絡(luò)的特性和實(shí)驗(yàn)結(jié)果如表3所示。
表3 神經(jīng)元數(shù)目對(duì)預(yù)測(cè)精度影響的結(jié)果
通過(guò)對(duì)神經(jīng)網(wǎng)絡(luò)隱含層神經(jīng)元數(shù)量變化的研究,可以得出結(jié)論:為了達(dá)到最佳的效果,應(yīng)該在隱含層中使用10到13個(gè)神經(jīng)元,這將在神經(jīng)網(wǎng)絡(luò)訓(xùn)練的允許時(shí)間內(nèi)提供最準(zhǔn)確的預(yù)測(cè)結(jié)果。雖然隨著神經(jīng)網(wǎng)絡(luò)中神經(jīng)元數(shù)量的增加,預(yù)測(cè)精度也在不斷提高,但隨著神經(jīng)網(wǎng)絡(luò)每一隱含層中14個(gè)神經(jīng)元的使用,訓(xùn)練過(guò)程持續(xù)時(shí)間非常長(zhǎng),這使得在有限的資源條件下,這樣多的神經(jīng)元的使用是不可能的。
在形成神經(jīng)網(wǎng)絡(luò)結(jié)果的過(guò)程中,一個(gè)同樣起著重要作用的因素是訓(xùn)練神經(jīng)網(wǎng)絡(luò)的過(guò)程所采用的算法??紤]到所選神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)的特殊性,以及所分析的學(xué)習(xí)算法的特點(diǎn),決定選擇一種逆向誤差傳播算法來(lái)訓(xùn)練神經(jīng)網(wǎng)絡(luò)。還有另一個(gè)版本的實(shí)現(xiàn),它不同于矩的標(biāo)準(zhǔn)使用(有時(shí)稱(chēng)為“脈沖率”)。
使用經(jīng)典算法和基于矩的算法的訓(xùn)練過(guò)程中的誤差變化的可視化,如圖4、圖5所示。
圖4 經(jīng)典算法在訓(xùn)練過(guò)程中的誤差變化
圖5 使用帶矩算法的訓(xùn)練過(guò)程中的誤差變化
獲得的研究結(jié)果如表4所示。
表4 訓(xùn)練算法對(duì)預(yù)測(cè)精度影響的結(jié)果
在測(cè)試了可用于預(yù)測(cè)足球比賽結(jié)果的工具(這表明問(wèn)題仍然存在)之后,下一步是分析擬用于預(yù)測(cè)足球比賽結(jié)果的算法以及有關(guān)神經(jīng)網(wǎng)絡(luò)的材料。為了分析替代算法和預(yù)測(cè)方法,選擇了以下方法。
(1) 使用“樸素”貝葉斯分類(lèi)器的方法;
(2) 方法K-medium(聚類(lèi)分析)。
在實(shí)驗(yàn)結(jié)果中,采用“樸素”貝葉斯分類(lèi)器的方法預(yù)測(cè)精度達(dá)到33%,而K-medium方法雖然取得了較好的效果,但其預(yù)測(cè)精度為47%,效果并不理想。在進(jìn)行了必要的實(shí)驗(yàn)之后,對(duì)所提出的方法的預(yù)測(cè)精度進(jìn)行了檢驗(yàn),確定了它們的低效性以及需要一種全新的方法來(lái)解決這個(gè)問(wèn)題,特別是使用深層神經(jīng)網(wǎng)絡(luò)。
在應(yīng)用神經(jīng)網(wǎng)絡(luò)進(jìn)行調(diào)查的過(guò)程中,對(duì)影響體育比賽成績(jī)形成的因素進(jìn)行了分析和篩選。選擇了兩組因素來(lái)比較神經(jīng)網(wǎng)絡(luò)的工作與它的各種特征,其中一些主要包括比賽本身的信息,而另一些則提供了關(guān)于兩支球隊(duì)的信息。選取對(duì)足球比賽結(jié)果影響最大的主要指標(biāo),對(duì)其進(jìn)行歸一化處理,用于神經(jīng)網(wǎng)絡(luò)。
在選擇了神經(jīng)網(wǎng)絡(luò)的主要特征后,研究了改變神經(jīng)網(wǎng)絡(luò)的隱含層數(shù)目以及這些隱含層所形成的神經(jīng)元數(shù)目的影響。調(diào)查前的目標(biāo)是準(zhǔn)確地確定隱含層的最佳數(shù)目和神經(jīng)元的數(shù)目,因?yàn)檫@些特性不僅影響預(yù)測(cè)的準(zhǔn)確性,還影響神經(jīng)網(wǎng)絡(luò)的訓(xùn)練過(guò)程,以及這個(gè)過(guò)程的大部分持續(xù)時(shí)間。
通過(guò)對(duì)神經(jīng)網(wǎng)絡(luò)特性的研究和交替變化,確定了神經(jīng)網(wǎng)絡(luò)的最優(yōu)特性,在使用16個(gè)輸入信號(hào)的情況下,預(yù)測(cè)精度達(dá)到75%,在使用8個(gè)輸入信號(hào)的情況下,預(yù)測(cè)精度達(dá)到70%。
最后一個(gè)階段是研究訓(xùn)練算法對(duì)神經(jīng)網(wǎng)絡(luò)本身訓(xùn)練過(guò)程的影響,即用矩的概念替換其經(jīng)典變量。在研究過(guò)程中,根據(jù)得到的結(jié)果,確定了利用該算法對(duì)逆誤差隨矩傳播神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練更為有效。
對(duì)預(yù)測(cè)運(yùn)動(dòng)比賽結(jié)果的算法進(jìn)行了研究,其預(yù)測(cè)精度在42%—71%之間,預(yù)測(cè)精度在52%—75%之間,表明該算法表現(xiàn)出了良好的效果,可以在以后的軟件開(kāi)發(fā)中使用。
為了提高算法的預(yù)測(cè)精度,可以采用更多的隱含層神經(jīng)網(wǎng)絡(luò),這表明隨著隱含層數(shù)的增加,預(yù)測(cè)結(jié)果的精度會(huì)迅速提高,但隨后神經(jīng)網(wǎng)絡(luò)的訓(xùn)練時(shí)間也會(huì)相應(yīng)增加。
鑒于人們對(duì)投注行業(yè)的興趣每年都在增加,但軟件種類(lèi)非常少,所以在本文中提出了一種基于BP神經(jīng)網(wǎng)絡(luò)對(duì)足球比賽結(jié)果預(yù)測(cè)的方法,該方法不僅可以幫助感興趣的人預(yù)測(cè)特定的比賽,而且還可以幫助球隊(duì)及其他的專(zhuān)業(yè)人士對(duì)比賽進(jìn)行模擬和分析,在實(shí)驗(yàn)中,實(shí)驗(yàn)結(jié)果表明,提出的方法對(duì)結(jié)果預(yù)測(cè)的準(zhǔn)確率平均在70%以上。
該算法具有很大的發(fā)展?jié)摿?,由于隱含層的層數(shù)越多,則節(jié)點(diǎn)越多,那么精確度越高,由于目前隱含層最多只有10—12層,在未來(lái)使用更多的隱含層理論上可以提高精確度,但由于隱含層越多,運(yùn)算速度越慢,所以在未來(lái),還需要解決運(yùn)算速度的問(wèn)題。另外,對(duì)于預(yù)測(cè)準(zhǔn)確率的提升可以通過(guò)獲取更多的特征來(lái)進(jìn)行學(xué)習(xí)。眾所周知,除本文已用特征外,教練的技戰(zhàn)術(shù)、球員的生理心理狀態(tài)、球隊(duì)排名等,都會(huì)對(duì)足球比賽結(jié)果產(chǎn)生影響,在未來(lái),可以結(jié)合更多特征進(jìn)行預(yù)測(cè)。