高 實(shí)
(吉林省教育學(xué)院 國(guó)培項(xiàng)目執(zhí)行辦公室,長(zhǎng)春 130022)
轉(zhuǎn)專業(yè)是大學(xué)生在上大學(xué)后面臨的關(guān)鍵問(wèn)題[1]。在統(tǒng)計(jì)參與轉(zhuǎn)專業(yè)的學(xué)生總?cè)藬?shù)后,往往會(huì)由于難以預(yù)測(cè)熱門學(xué)院的報(bào)名人數(shù)而導(dǎo)致后續(xù)的工作難以開(kāi)展,從而使轉(zhuǎn)專業(yè)的相關(guān)制度難以完善[2]。
針對(duì)現(xiàn)有的預(yù)測(cè)方法只能定性分析轉(zhuǎn)專業(yè)的學(xué)生去向,難以定量分析為后續(xù)轉(zhuǎn)專業(yè)的相關(guān)工作提供數(shù)據(jù)支撐,為此筆者提出了DNN(Deep Neural Network)網(wǎng)絡(luò)架構(gòu)并結(jié)合吉林大學(xué)近十五年熱門學(xué)院的轉(zhuǎn)專業(yè)報(bào)名情況,在Tensorflow 框架下訓(xùn)練DNN 模型,為隨機(jī)現(xiàn)象的建模和轉(zhuǎn)專業(yè)的后續(xù)工作分析提供了有效的工具。
DNN 網(wǎng)絡(luò)[3]是深度學(xué)習(xí)的重要網(wǎng)絡(luò)架構(gòu),作為大量的數(shù)據(jù)分析及推理的有效工具,DNN 網(wǎng)絡(luò)能在保持模型精確性的條件下,有效減少及避免由普通感知機(jī)網(wǎng)絡(luò)所帶來(lái)的梯度爆炸,過(guò)擬合等問(wèn)題的影響,其實(shí)用性強(qiáng),結(jié)構(gòu)明了,在實(shí)際數(shù)據(jù)分析模型中得到廣泛應(yīng)用。
針對(duì)熱門學(xué)院轉(zhuǎn)專業(yè)報(bào)名人數(shù)的定量預(yù)測(cè)分析,其中的不確定性因素影響較大,通過(guò)已有數(shù)據(jù),訓(xùn)練計(jì)算DNN 網(wǎng)絡(luò),可以較為容易地建立預(yù)測(cè)模型,省去考慮不確定性因素的步驟,因此,筆者以吉林大學(xué)熱門學(xué)院轉(zhuǎn)專業(yè)報(bào)名歷史數(shù)據(jù)為基礎(chǔ),首先從DNN 網(wǎng)路入手,在谷歌的Tensorflow 框架上搭建網(wǎng)絡(luò)并選擇合適的優(yōu)化器訓(xùn)練網(wǎng)絡(luò),進(jìn)一步通過(guò)2008-2017 學(xué)年的轉(zhuǎn)專業(yè)歷史數(shù)據(jù)訓(xùn)練優(yōu)化網(wǎng)絡(luò)權(quán)值與偏置,預(yù)測(cè)在未來(lái)已知參與轉(zhuǎn)專業(yè)總?cè)藬?shù)的條件下,報(bào)名熱門學(xué)院的學(xué)生人數(shù),為轉(zhuǎn)專業(yè)的后續(xù)相關(guān)工作提供數(shù)據(jù)支持,且隨著時(shí)間推移,已知數(shù)據(jù)越來(lái)越來(lái)豐富,可以進(jìn)一步訓(xùn)練網(wǎng)絡(luò),以提升DNN 架構(gòu)的預(yù)測(cè)精度,進(jìn)一步推進(jìn)轉(zhuǎn)專業(yè)的相關(guān)工作開(kāi)展。
首先建立DNN 網(wǎng)絡(luò)模型[4-5],為熱門學(xué)院報(bào)名預(yù)測(cè)提供理論基礎(chǔ)。
1.1.1 網(wǎng)絡(luò)基本單元
DNN 網(wǎng)絡(luò)由多個(gè)神經(jīng)元構(gòu)成,如圖1 所示,以單個(gè)神經(jīng)元模型(也稱為感知機(jī)模型[6])為例,假設(shè)它有若干個(gè)輸入和一個(gè)輸出。
圖1 單個(gè)神經(jīng)元線性模型Fig.1 Single neuron linear model
中間輸出結(jié)果為
激活函數(shù)得到神經(jīng)元輸出為
因此對(duì)一個(gè)基本神經(jīng)單元的計(jì)算分為兩個(gè)步驟。首先是權(quán)重、偏置與輸入的線性計(jì)算得到中間結(jié)果,再通過(guò)激活函數(shù)求得神經(jīng)元最終的輸出。
1.1.2 網(wǎng)絡(luò)模型的搭建
從DNN 按不同層的位置劃分,DNN 內(nèi)部的神經(jīng)網(wǎng)絡(luò)層可分為3 類:輸入層,隱藏層和輸出層[6](見(jiàn)圖2)。第1 層是輸入層(Input Layer),最后一層是輸出層(Output Layer),而中間的層數(shù)都是隱藏層(Hidden Layer)。因此對(duì)DNN 網(wǎng)絡(luò),其隱藏層可以有多層,層與層之間是全連接的,即第i層的任意一個(gè)神經(jīng)元一定與第i+1 層的任意一個(gè)神經(jīng)元相連。雖然DNN 看起來(lái)很復(fù)雜,但對(duì)小的局部模型,還是和上述的感知機(jī)模型相同,即一個(gè)中間結(jié)果加上一個(gè)激活函數(shù)factive(z)。
圖2 DNN 網(wǎng)絡(luò)模型Fig.2 DNN network model
1.2.1 Sigmod 函數(shù)
Sigmod 是常用的非線性的激活函數(shù),其數(shù)學(xué)形式如下
Sigmod 幾何圖像如圖3 所示。其一個(gè)優(yōu)良特性就是能將z?R的輸入壓縮到z?(0,1)區(qū)間,這個(gè)區(qū)間的數(shù)值在神經(jīng)網(wǎng)絡(luò)中常用于將網(wǎng)絡(luò)的中間結(jié)果轉(zhuǎn)換為概率分布(0,1)區(qū)間的輸出,即用于解決2 分類問(wèn)題。
圖3 Sigmod 函數(shù)曲線Fig.3 Sigmod function curve
1.2.2 ReLu 函數(shù)
為避免使用Sigmod 而出現(xiàn)的梯度彌散現(xiàn)象(即網(wǎng)絡(luò)參數(shù)長(zhǎng)時(shí)間得不到更新,導(dǎo)致訓(xùn)練不收斂或停滯不動(dòng)的現(xiàn)象發(fā)生),引入ReLu 激活函數(shù)(見(jiàn)圖4)能很好地避免這一情況發(fā)生,ReLu 函數(shù)定義為
圖4 ReLu 函數(shù)曲線Fig.4 ReLu function curve
對(duì)輸出結(jié)果為某段或整個(gè)實(shí)數(shù)空間,例如房?jī)r(jià)預(yù)測(cè)、函數(shù)趨勢(shì)預(yù)測(cè)等問(wèn)題,常用ReLu 函數(shù)作為激活函數(shù)。
假設(shè)網(wǎng)絡(luò)預(yù)測(cè)輸出為Vi,而實(shí)際數(shù)據(jù)值為Mi,則不可避免地預(yù)測(cè)輸出與實(shí)際數(shù)據(jù)會(huì)有損失loss,在回歸預(yù)測(cè)問(wèn)題中,損失函數(shù)常用均方差定義如下
其中規(guī)定β1=0.9,β2=0.999,ε=10-8,w為迭代更新的數(shù)值,v,s為在梯度更新過(guò)程中的中間變量。Adam 算法相當(dāng)于先把原始梯度做一個(gè)指數(shù)加權(quán)平均,再做一次歸一化處理,然后再更新梯度值。應(yīng)用此方法可以同時(shí)更新網(wǎng)絡(luò)的權(quán)值與偏置。
在谷歌開(kāi)發(fā)的Tensorflow 框架下進(jìn)行DNN 網(wǎng)絡(luò)的訓(xùn)練,針對(duì)問(wèn)題類型選擇激活函數(shù),回歸問(wèn)題對(duì)應(yīng)ReLu 激活函數(shù);分類問(wèn)題對(duì)應(yīng)Sigmod 激活函數(shù)或Softmax 激活函數(shù)。將收集到的數(shù)據(jù)輸入到網(wǎng)絡(luò)中,應(yīng)用Adam 梯度下降算法更新網(wǎng)絡(luò)權(quán)值,直到損失函數(shù)值達(dá)足夠小后,網(wǎng)絡(luò)訓(xùn)練完成,可以預(yù)測(cè)未來(lái)的熱門學(xué)院報(bào)名人數(shù)。
如圖5、圖6 所示,以2008-2017 年的數(shù)據(jù)作為DNN 網(wǎng)絡(luò)訓(xùn)練數(shù)據(jù),可以看出,對(duì)熱門學(xué)院,隨著年份推移,熱門學(xué)院會(huì)更加熱門,熱門學(xué)院的轉(zhuǎn)專業(yè)報(bào)名人數(shù)也隨報(bào)名轉(zhuǎn)專業(yè)的總?cè)藬?shù)變化而改變。因此,將網(wǎng)絡(luò)的輸入特征定義為年份與每年的報(bào)名轉(zhuǎn)專業(yè)總?cè)藬?shù),針對(duì)吉林大學(xué)轉(zhuǎn)專業(yè)現(xiàn)狀,DNN 網(wǎng)絡(luò)對(duì)應(yīng)的特征輸出就是報(bào)名臨床學(xué)院、法學(xué)院以及汽車工程這3 個(gè)熱門學(xué)院轉(zhuǎn)專業(yè)的人數(shù)。
圖5 吉林大學(xué)2008-2019 年熱門 學(xué)院轉(zhuǎn)專業(yè)報(bào)名人數(shù)Fig.5 The number of applicants for changing majors in popular colleges of Jilin University from 2008 to 2019
圖6 吉林大學(xué)2008-2017 年參與 轉(zhuǎn)專業(yè)學(xué)生總數(shù)Fig.6 Total number of students who changed majors in Jilin University from 2008 to 2017
由數(shù)據(jù)可知,其特征為年份和報(bào)名轉(zhuǎn)專業(yè)的總?cè)藬?shù),特征輸出為報(bào)名3 個(gè)熱門學(xué)院轉(zhuǎn)專業(yè)的人數(shù)。因此,得到DNN 網(wǎng)絡(luò)的輸入層為2 個(gè)神經(jīng)元,輸出層為3 個(gè)神經(jīng)元。設(shè)置中間隱藏層為2 層。如圖7 所示。其中隱藏層的第1 層設(shè)置為6 個(gè)神經(jīng)元,第2 層設(shè)置為4 個(gè)神經(jīng)元。
圖7 轉(zhuǎn)專業(yè)人數(shù)預(yù)測(cè)DNN 網(wǎng)絡(luò)Fig.7 DNN Network for torecast of the number of professionals transfemed
對(duì)熱門學(xué)院轉(zhuǎn)專業(yè)報(bào)考人數(shù)進(jìn)行預(yù)測(cè)問(wèn)題,可以歸結(jié)于回歸類問(wèn)題,因此選擇激活函數(shù)為ReLu,應(yīng)用Adam 梯度下降算法對(duì)網(wǎng)絡(luò)權(quán)值、偏置進(jìn)行更新。
利用Tensorflow的多線程模式,開(kāi)啟3 個(gè)會(huì)話,利用Adam 梯度下降方法,使以上3 個(gè)損失函數(shù)同步達(dá)到極小值,完成網(wǎng)絡(luò)訓(xùn)練。
3.1.1 DNN 網(wǎng)絡(luò)驗(yàn)證
將2017 年的數(shù)據(jù)作為驗(yàn)證集,2008-2016 年的數(shù)據(jù)作為訓(xùn)練集,將訓(xùn)練數(shù)據(jù)的特征作為驗(yàn)證輸入到訓(xùn)練好的網(wǎng)絡(luò)中,得到驗(yàn)證輸出,與實(shí)際結(jié)果對(duì)比如表1所示,可以看出網(wǎng)絡(luò)的輸出精度很高,訓(xùn)練已經(jīng)達(dá)到目標(biāo)損失值。
表1 驗(yàn)證結(jié)果Tab.1 Verification result
3.1.2 DNN 網(wǎng)絡(luò)預(yù)測(cè)
通過(guò)網(wǎng)絡(luò)預(yù)測(cè)2008-2017 年熱門學(xué)院轉(zhuǎn)專業(yè)報(bào)名人數(shù)如圖8 所示。
圖8 驗(yàn)證及預(yù)測(cè)結(jié)果Fig.8 Verification and prediction results
可以看出網(wǎng)絡(luò)輸出數(shù)據(jù)與訓(xùn)練集數(shù)據(jù)基本相符,網(wǎng)絡(luò)訓(xùn)練效果較好。因此,可以用于對(duì)2020 年的熱門學(xué)院轉(zhuǎn)專業(yè)報(bào)考人數(shù)進(jìn)行預(yù)測(cè)。
首先通過(guò)對(duì)2008-2017 年的轉(zhuǎn)專業(yè)報(bào)名總?cè)藬?shù)進(jìn)行回歸預(yù)測(cè),可以得到2020 年的預(yù)測(cè)轉(zhuǎn)專業(yè)報(bào)名總?cè)藬?shù)為920 人。然后得到2020 年熱門學(xué)院轉(zhuǎn)專業(yè)報(bào)考預(yù)測(cè)結(jié)果(如表2 所示)。
表2 2020 年熱門學(xué)院轉(zhuǎn)專業(yè)報(bào)考預(yù)測(cè)結(jié)果Tab.2 Forecast results of popular colleges changing majors to apply for the examination in 2020
通過(guò)DNN 網(wǎng)絡(luò)的驗(yàn)證輸出與實(shí)際數(shù)據(jù)值,結(jié)果表明網(wǎng)絡(luò)精度較高,可以滿足預(yù)測(cè)吉林大學(xué)2020 年熱門學(xué)院轉(zhuǎn)專業(yè)報(bào)考人數(shù)的需要,而且隨著時(shí)間推移,已有數(shù)據(jù)增多,可以將訓(xùn)練樣本增多,重新訓(xùn)練網(wǎng)絡(luò)權(quán)值,以實(shí)現(xiàn)精度更高的預(yù)測(cè)。