黃彩云,何吉福,胡 藝,王 楠,陳 沛
近年來,全國各大高校在注重學生知識技能培養的同時也越來越重視其身體健康狀況,體質監測作為監測學生體質健康狀況的指標被廣泛開展,但開展過程中發現存在以下弊端:一是安全問題:在測試800/1000米等激烈運動項目過程中,體質弱或者患有某些疾病的學生常有身體不適或發生猝死現象,學生互相角逐過程中身體碰觸創傷也時常發生;二是耗時費力:每年面向全校學生的體質監測過程占用教師大量時間和精力;三是是否客觀真實:由于人為因素的存在,人工記錄的成績可能會存在不真實的情況。如果能根據學生的體質指標預測出體質監測成績,就可以有針對性的安排學生進行鍛煉且可避免以上問題的發生。
近幾年,研究者對大學生體質監測的研究主要集中在以下幾個方面:在體質監測數據分析方面,有查閱文獻資料[1-2]、數理統計[1-2]以及專家論證[1]等方法;在體質健康影響因素分析方面,有回歸模型分析法[3]、文獻資料法[4]、問卷調查法[4]、綜合評價法[4];在體質健康評價標準或模型的研究方面,有制定三個自評量表來自我測試大學生健康與體質狀況[5],用秩和比綜合評價法建立大學生體能水平特征模型[6];在促進體質監測發展方面有建設具有統一國民體質監測功能的平臺[7],建設基于GIS的全民體質監測管理平臺[8]。但截止目前尚未開展有關體質監測成績預測方面的研究,因此,本文借助人工智能方法,提出并實現了一種基于深度學習的大學生體質監測成績預測方法,旨在通過大量數據的建模研究為高校體質監測提供一種準確可靠的成績預測方法。
人工智能最早是在1956年達特矛斯會議(Dartmouth Conference)上由約翰·麥卡錫(John Mc Carthy)定義的:人工智能希望能夠使機器的行為看起來就像人類的智能行為[9]。此后一直到20世紀80年代末,人工智能的研究和應用經歷了兩次熱潮和低谷,直到20世紀90年代初,隨著神經網絡技術的發展,人工智能在各行各業的研究如火如荼地開展起來。但受限于當時較低的硬件計算能力,神經網絡方法方面的創新受到限制,神經網絡的層數較少,寬度較窄,無法解決各行各業復雜應用場景中遇到的問題。
進入21世紀以來,計算機硬件計算能力呈現指數形式的增長,硬件尺寸也越來越小,為運行更多層數和更寬的神經網絡模型提供了硬件基礎。2006年,Hinton等提出了深度學習[10]的概念。深度學習能夠通過組合低層特征形成更加抽象的高層特征,從而更好地發現數據的有效特征表示或屬性類別[11]。深度學習神經網絡由輸入層、隱含層和輸出層組成,其中隱含層通常包括若干卷積層、池化層和全連接層[12]。在本文中利用深度全連接神經網絡實現預測大學生體質監測成績,將大量學生的性別、年齡、身高、體重、肺活量等體質指標以及對應的體質監測成績輸入到深度全連接神經網絡中,經過多輪次的自動訓練,使50/100米跑、立定跳遠等體質監測項目的預測成績與操場實測成績之間的差距達到最小,實現準確預測體質監測成績的功能。輸入到深度全連接神經網絡中的大量學生的體質指標及其對應的體質監測實際成績就是該神經網絡的訓練數據集,本文部分訓練數據集如表1所示。

表1 體質監測成績預測神經網絡部分訓練數據集
深度全連接神經網絡包括輸入層、多層隱含層和輸出層,相鄰兩層之間的神經元之間是全連接的。圖一是一個簡單的深度全連接神經網絡示意圖,其中輸入層的輸入包括學生的性別、年齡、身高、體重、肺活量等體質指標,輸出層是預測的某一項體質監測成績,如50米跑、立定跳遠等。

圖一 一個簡單的深度全連接神經網絡示意圖
深度全連接神經網絡的前向傳播過程是根據初始給定的權重和偏置參數,將輸入的學生體質指標值和權重相乘再加上偏置,得到的結果經過激活函數的非線性變換之后,輸入到第二層進行同樣的運算,如式1所示[13],依次類推,直到最后一層,求出最終的輸出。

式中P為各項體質指標值組成的一維數組,W為權重組成的一維數組,b為偏置項,f(·)為非線性變換的激活函數,目前比較常用的激活函數有Sigmoid、tanh、ReLU等[14],它們的公式如式2、式3、式4所示。

深度全連接神經網絡的反向傳播過程使用梯度下降方法:首先,求出前向傳播計算出的體質監測成績output和訓練數據集中的體質監測成績target之間的均方誤差Etotal[15],如式6所示;然后,通過“鏈式法則”求誤差Etotal對每一個權重參數w的偏導數,如圖二和式7所示,作為權重w調整的梯度,根據公式(8)[16]更新權重w;最后,通過不斷迭代,對權重矩陣中的每個權重進行不斷調整,使得誤差值Etotal最小,使計算出的成績output更加接近于真實的成績target。

圖二 深度全連接神經網絡反向傳播更新權重示意圖

大學生體質監測成績預測過程分為五步,分別為:訓練數據的準備、訓練數據的規范化、網絡結構的搭建、網絡模型的訓練和網絡模型的測試。
本方法所用的訓練數據是甘肅某高校2017-2019三年入校新生的體質監測結果數據,這些數據按班級存儲為Excel文件。為了高效地讀取所有的訓練數據,本方法使用了Pandas數據分析包,Pandas納入了大量庫和一些標準的數據模型,提供了高效地操作大型訓練數據集所需的工具。讀入訓練數據的具體過程包括:(1)合并所有班級的體質監測數據形成一個Excel文件;(2)讀取性別、年齡、身高、體重、肺活量體質指標作為輸入數據;(3)讀取50米跑、立定跳遠、仰臥起坐等體質監測結果作為標簽數據。
由于不同體質指標的取值范圍不同,如年齡范圍為[16,22],身高范圍為[147,196],體重范圍為[35,98],訓練過程中由于計算內積會引起數值計算困難的問題[17]。為了避免這種情況發生,本方法對讀入的數據進行了標準化處理,其過程是:對輸入的每個體質指標數據減去它的平均值,再除以它的標準差,得到平均值為0,標準差為1的標準化數據[18]。

式中x′為某項體質指標一個樣點的標準化值,x為該項體質指標該樣點的原始值,ˉx為該項體質指標的平均值,σ為該項體質指標的標準差。
本方法建立的全連接神經網絡模型總共有7層,如圖三所示。第1層為輸入層,由于輸入的體質指標有性別、年齡、身高、體重和肺活量5項,第一層的神經元個數為5;第2層至第6層為隱含層,都為全連接層,神經元的個數分別為:10、16、32、16、10,采用的激活函數都為ReLU,與Sigmoid函數和tanh函數相比,ReLU函數對于隨機梯度下降的收斂有巨大的加速作用,計算速度非常快,只需要判斷輸入是否大于0即可,同時避免了Sigmoid函數梯度消失的問題[19],如圖四和圖五所示;最后一層為輸出層,輸出層是預測的某項體質監測數據,所以神經元的個數為1。

圖三 體質監測成績預測深度學習神經網絡結構圖

圖四 Sigmoid激活函數曲線

圖五 ReLU激活函數曲線
將第一步讀入的體質指標數據和對應的某項監測成績數據按8:1:1的比例劃分為訓練集、驗證集和測試集,將訓練集和驗證集輸入搭建的網絡結構中進行50米跑和立定跳遠兩項體質監測成績預測模型的訓練。
損失函數可以真實地反映體質監測成績實測值與預測值之間的差距,在網絡模型訓練過程中需要不斷減小損失函數值,使網絡模型預測體質監測成績更加精確。本方法網絡模型的損失函數采用均方誤差(MSE,mean squared error),是某項體質監測成績預測值與實測值之差平方的一半,如式10所示,這是回歸問題常用的損失函數。

網絡模型訓練過程中采用RMSProp(Root Mean Square Prop)[20]算法對梯度下降進行優化,加快損失函數值減小的速率,它對權重W和偏置b的梯度使用了微分平方加權平均數,如式11、式12所示:

假設當前迭代過程為第t輪,dW和db分別是損失函數反向傳播時求得的梯度,α是網絡的學習率,Sdw和Sdb分別是損失函數在前t-1輪迭代過程中累積的梯度動量,β是梯度累積的一個指數,為了防止分母為零,使用了一個很小的數值ε來進行平滑,一般取值為10e-8。式13、式14是網絡權重W和偏置b的更新公式。該方式進一步優化了損失函數在更新過程中存在擺動幅度過大的問題,并且加快了函數的收斂速度。
優化器學習率的大小決定梯度下降的快慢,一般情況下,初始參數所得體質監測預測值與實測值差值比較大,隨著迭代次數增加,預測值會越來越靠近實測值,損失函數值也會相應地越來越小。本方法網絡模型的訓練采用衰減學習率的策略,基本思想是學習率隨著訓練的進行逐漸衰減,即在起初使用較大的學習率,加快預測值接近真實值的速率,后續逐漸減小學習率,避免因學習率太大跳過損失函數最小值,保證網絡模型能夠收斂到預測值最接近實測值的狀態,衰減學習率的具體設置如表2所示。

表2 網絡訓練的衰減學習率設置
網絡模型在訓練過程中需要實時監控某些參數,以便及時了解訓練狀態。本方法中監控平均絕對誤差(MAE,mean absolute error),它是某項體質監測成績預測值與真實值之差的絕對值,如式15所示。

式中y為某項體質監測成績預測值,t該項體質監測成績真實值。
本文深度全連接神經網絡模型的訓練過程設置了提前終止條件,當驗證集的損失函數值在10輪訓練內上升時,說明網絡模型的訓練達到最優狀態并開始惡化了,即終止訓練。預測50米跑和立定跳遠成績網絡模型的整個訓練過程訓練集和驗證集的損失函數曲線與平均絕對誤差曲線如圖六—圖九所示,可以看出,訓練集和驗證集的損失函數值和平均絕對誤差隨著迭代次數的增加都持續同步減小,說明網絡訓練參數設置合理,收斂情況非常好。

圖六 預測50米跑成績模型訓練的損失函數曲線

圖七 預測50米跑成績模型訓練的平均絕對誤差曲線

圖八 預測立定跳遠成績模型訓練的損失函數曲線

圖九 預測立定跳遠成績模型訓練的平均絕對誤差曲線
本文劃分的測試集包括21名學生的體質指標數據,將它們輸入到第4步訓練的兩個神經網絡模型中,分別預測出50米跑和立定跳遠成績,預測成績和操場實測成績以及它們之間的相對誤差如表3所示。對21名學生50米跑和立定跳遠兩個項目的預測成績、實測成績和相對誤差分別繪制曲線圖,如圖十、圖十一所示,從圖中可以看出預測和實測的成績吻合度很高,沒有出現比較大的偏差,50米跑成績預測的相對誤差低于2.6%,立定跳遠成績預測的相對誤差低于3%;對21名學生兩個項目的預測成績和實測成績的絕對誤差進行統計分析結果如圖12、13所示。從圖十二可以看出,21名學生實測和預測的50米跑成績絕對誤差均小于0.25s,集中在0.1s到0.2s范圍內;從圖十三可以看出,21名學生實測和預測的立定跳遠成績絕對誤差均小于8cm,集中在0-6cm范圍內。以上分析可以得出,建立的深度全連接神經網絡模型能比較客觀、準確、有效預測體質監測成績。

圖十 某班實測和預測的50米跑成績曲線圖

圖十一 某班實測和預測的立定跳遠成績曲線圖

圖十二 某班實測和預測的50米跑成績誤差統計圖

圖十三 某班實測和預測的立定跳遠成績誤差統計圖

表3 某班實測和預測的50米跑、立定跳遠成績
最后將本文基于深度全連接神經網絡的體質監測成績預測結果與基于傳統的多元線性回歸預測結果進行對比,本文中多元線性回歸是基于scikit-learn機器學習庫實現的。測試集21名學生50米跑項目實測成績與基于多元線性回歸方法預測的成績以及它們之間的相對誤差如圖十四所示,從圖中可以看出,多元線性回歸方法預測成績與實測成績相差較大,平均相對誤差為5.43%,超過了基于深度全連接神經網絡模型平均相對誤差的3倍。從圖十五可以看出,基于傳統多元線性回歸預測方法預測21名學生50米炮的絕對誤差集中在0.3-0.7s之間,相比于深度全連接神經網絡預測結果的絕對誤差集中范圍0.1-0.2s,預測精度較低。

圖十四 某班實測和多元線性回歸方法預測的50米跑成績曲線圖

圖十五 某班實測和多元線性回歸方法預測的50米跑成績誤差統計圖
針對目前尚未開展研究的大學生體質監測成績預測方面,本文設計了一個包含五層全連接層的深度神經網絡模型,將甘肅某高校近三年來新入學學生的性別、年齡、身高、體重和肺活量五項體質指標作為神經網絡模型的輸入,50米跑成績或立定跳遠作為神經網絡模型的輸出,選擇合理的激活函數、損失函數和訓練過程中的監控參數,設置合適的學習率和提前停止規則,經過多輪次的訓練,得到兩個精準有效的深度神經網絡模型。通過對測試集預測結果的分析,得出本研究設計的神經網絡模型具有較高的預測準確度,其準確率高于傳統的多元線性回歸方法,并且可以避免操場體質監測實施過程中的安全、效率和真實性等方面的問題,對普通高校預測學生體質監測成績具有一定的參考價值,依據預測成績可以進一步對體質偏弱的學生采取針對性的強化措施。