馮文文,郭燎原,魏雨,張興隆,郭春蘭
(河南師范大學(xué)計算機(jī)與信息工程學(xué)院,新鄉(xiāng)453007)
政府、社會、高校一直將大學(xué)生資助放在重要位置,如何將有限的資金用在真正需要的學(xué)生身上仍然存在許多問題。目前,大部分高校的貧困生評定都是由學(xué)生所在鄉(xiāng)、鎮(zhèn)出示相關(guān)證明后由班級骨干及輔導(dǎo)員審核。這樣簡單的認(rèn)定存在的問題如下:①鄉(xiāng)、鎮(zhèn)出示證明及學(xué)校審核難免摻雜個人主觀情感;②真正貧困的學(xué)生或因自尊心放棄申請貧困認(rèn)定;③存在極個別家庭狀況較好的學(xué)生和家長利用政府對貧困生的優(yōu)惠政策來滿足自己的私利的現(xiàn)象。無論是家庭信息的真實性,還是評定的客觀性和公平性,都直接影響資助的公平、效率和準(zhǔn)確率。如何優(yōu)化高校貧困生的評定體系,逐步引起高校管理工作者的重視,并不斷探索新的途徑和方法[1]。
目前神經(jīng)網(wǎng)絡(luò)已經(jīng)發(fā)展了上百種模型,在諸如手寫體識別、圖像標(biāo)注、語義理解和語音識別等技術(shù)領(lǐng)域取得了非常成功的應(yīng)用[2]。本文基于BP 神經(jīng)網(wǎng)絡(luò)和SVC 技術(shù)對數(shù)據(jù)進(jìn)行訓(xùn)練和研究,來幫助資助政策具體落實。利用BP 神經(jīng)網(wǎng)絡(luò)具有高度的非線性映射能力、良好自學(xué)習(xí)能力、較強(qiáng)自適應(yīng)的能力和并行處理能力等特點以及SVC 技術(shù)能夠非常成功的判別分析和分類處理問題[3],分別對高校貧困生進(jìn)行評定。
BP 神經(jīng)網(wǎng)絡(luò)是一種按誤差逆向傳播算法訓(xùn)練的多層前饋網(wǎng)絡(luò)[4]。BP 神經(jīng)網(wǎng)絡(luò)分為三層:輸入層、隱含層、輸出層,每個層次都包含若干節(jié)點,輸入層有輸入的數(shù)據(jù)決定,隱含層根據(jù)需求分配,輸出一般為一個是自己的需求結(jié)果。
網(wǎng)絡(luò)模型建立之后,應(yīng)隨機(jī)產(chǎn)生節(jié)點間的權(quán)值,和隱含層節(jié)點上的閾值,輸入層和隱含層之間每一對節(jié)點都要有權(quán)值,隱含層有幾個節(jié)點就要有幾個閾值。通過輸入層的不斷輸入數(shù)據(jù),在數(shù)據(jù)到達(dá)輸出層時,通過反向傳播來調(diào)節(jié)神經(jīng)網(wǎng)絡(luò)的權(quán)值和閾值,使誤差達(dá)到最小[5]。在得到權(quán)值和閾值后,通過公式(1)計算下一層的輸出:
Wi1Xi表示輸入節(jié)點與對應(yīng)的權(quán)值相乘,aj表示閾值,此時再求一個對應(yīng)的函數(shù)值即為隱含層輸出H1,如函數(shù)表達(dá)式(2)所示:
繼續(xù)遍歷j 的值,即可得到所有的隱含層節(jié)點的輸出值Hj。
隱含層節(jié)點計算完畢后,隨機(jī)計算輸出層輸出值:根據(jù)隱含層輸出H ,連接權(quán)值Wnp和閾值b,計算神經(jīng)網(wǎng)絡(luò)的預(yù)測輸出O,如公式(3)所示:
得到預(yù)測的輸入之后,神經(jīng)網(wǎng)絡(luò)才算剛剛開始,通過與期望的值進(jìn)行比較,不斷更新權(quán)值和閾值,使其誤差達(dá)到最小。更新的方法即在原來權(quán)值和閾值的基礎(chǔ)上加上一個帶權(quán)的預(yù)測誤差,權(quán)值μ 即為學(xué)習(xí)速率,可以自由調(diào)節(jié)大小,使結(jié)果達(dá)到最佳效果。
支持向量機(jī)用于分類(Support Vector Classification,SVC)是建立在統(tǒng)計學(xué)習(xí)理論VC 維理論和結(jié)構(gòu)風(fēng)險小化原理基礎(chǔ)上的機(jī)器學(xué)習(xí)方法[6],能夠非常成功地判別分析和分類處理問題,廣泛的用于多個學(xué)科之中。
SVC 的機(jī)理是尋找一個滿足分類要求的優(yōu)分類超平面,使得該超平面在保證分類精度的同時,能夠使超平面兩側(cè)的空白區(qū)域大化[6]。數(shù)據(jù)分類,最直接的例子便是在直角坐標(biāo)系中,一次函數(shù)可以把平面分成兩部分,y>x 或y 在高緯度分類方法中,f( x )=ax+b 中的x 和a 都表示一個向量,兩個向量的乘積所得到的數(shù)與偏執(zhí)量b相加,得到的結(jié)果與預(yù)定的閾值比較,實現(xiàn)數(shù)據(jù)的分類。 如上所說,這些能夠利用一個點、一條線或一個平面將數(shù)據(jù)進(jìn)行分類,則成為線性可分的函數(shù),這些函數(shù)被稱為超平面。當(dāng)然,當(dāng)我們遇到現(xiàn)象不可分的函數(shù)時,就要將其轉(zhuǎn)化為線性可分,利用SVC 中的核函數(shù),通過核函數(shù),我們可以輸入低維的數(shù)據(jù)元素,直接得到數(shù)據(jù)在高維空間中的內(nèi)積,得到內(nèi)積之后,與偏執(zhí)量相加再與閾值比較,最終得到分類結(jié)果。 總之,我們在SVC 中,求的結(jié)果就是一個線性分類器,即一個“超平面”,通過這個超平面,高維數(shù)據(jù)得到了較好的分類結(jié)果。 本次實驗收集數(shù)據(jù)的方式為線上問卷調(diào)查,調(diào)查對象為某大學(xué)在校大學(xué)生。將得到的數(shù)據(jù)進(jìn)行擴(kuò)充,一共采用了1090 份數(shù)據(jù)。在輸入數(shù)據(jù)中,一共有8 個部分,分別是“家庭收入情況”、“生活費(fèi)水平”、“飲食消費(fèi)”、“服裝消費(fèi)”、“娛樂消費(fèi)”、“學(xué)習(xí)消費(fèi)”、“綜合測評”、“學(xué)習(xí)成績”,每一個部分歸一化為四個等級。在輸出數(shù)據(jù)的結(jié)果中,是否有助學(xué)金也被歸化成了四個等級,即“三級助學(xué)金”、“二級助學(xué)金”、“一級助學(xué)金”和“無”。 表1 輸入數(shù)據(jù)項 其中輸入數(shù)據(jù)各部分所占比例如圖1。 圖1 輸入數(shù)據(jù)各部分所占比例 (1)BP 神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu) 圖2 BP神經(jīng)網(wǎng)絡(luò)層次圖 采用的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)如上圖所示,其中,輸入層有四個節(jié)點,分別輸入四組數(shù)據(jù)。隱含層是BP 神經(jīng)網(wǎng)絡(luò)的中間層,是運(yùn)算的核心層,在這一層中,設(shè)置了三層節(jié)點,節(jié)點個數(shù)分別是[5 15 5]個,其結(jié)構(gòu)如圖3。 圖3 BP神經(jīng)網(wǎng)絡(luò)層次圖 (2)實驗結(jié)果分析 Data、data_labels 為原始輸入輸出數(shù)據(jù); Input_train、output_train 為訓(xùn)練輸入輸出數(shù)據(jù); Input_test、output_test 為測試輸入輸出數(shù)據(jù); Inputn 為input_train 的歸一化; Outputn 為output_train 的歸一化; Net 為神經(jīng)網(wǎng)絡(luò); 迭代次數(shù)epochs 為100 次; 學(xué)習(xí)率lr 為0.1; 均方誤差goal 為0.00004。 將實驗進(jìn)行20 次;得到的實驗結(jié)果如表2 所示。 表2 BP 神經(jīng)網(wǎng)絡(luò)實驗結(jié)果 圖4 BP神經(jīng)網(wǎng)絡(luò)預(yù)測輸出 根據(jù)上述的20 次計算值,在BP 神經(jīng)網(wǎng)絡(luò)中,預(yù)測正確率為80%到90%,最高可到98%,平均值為84.07%。效果良好,但使用性還存在差距,需要進(jìn)一步提高準(zhǔn)確率,這需要采用其他如“混合蛙跳算法”或“粒子群算法”來提高閾值和權(quán)重的準(zhǔn)確率。利用BP 神經(jīng)網(wǎng)絡(luò)進(jìn)行高校貧困生預(yù)測效果如圖4-圖5。 (1)實驗過程 實驗環(huán)境設(shè)定: data 為學(xué)生數(shù)據(jù)組。 Data_labels 為學(xué)生標(biāo)簽組。 Train_data 為訓(xùn)練數(shù)據(jù)。 Test_labels 為測試數(shù)據(jù)。 train_data_labels 為訓(xùn)練組標(biāo)簽。 test_data_labels 為訓(xùn)練組標(biāo)簽。 Studentsn_train 為歸一化后的訓(xùn)練組數(shù)據(jù)。 Studentsn_test 為歸一化后的測試組數(shù)據(jù)。 在MATLAB 中將數(shù)據(jù)進(jìn)行歸一化,采用Svmtrain函數(shù)訓(xùn)練數(shù)據(jù),參數(shù)選取為c=3,g=3。訓(xùn)練完成之后采用svmpridect 函數(shù)預(yù)測輸出結(jié)果。將實驗進(jìn)行20次統(tǒng)計實驗結(jié)果。 (2)實驗結(jié)果分析 表3 SVC 實驗結(jié)果 圖5 BP神經(jīng)網(wǎng)絡(luò)預(yù)測誤差 由實驗數(shù)據(jù)得出SVC 的實驗結(jié)果較好,正確率在為90%到100%,最高可達(dá)到無誤差,平均值為95%,與BP 神經(jīng)網(wǎng)絡(luò)相比有較大的提高,因此,在構(gòu)建高校貧困生系統(tǒng)時,選擇SVC 技術(shù)更好。關(guān)于出現(xiàn)與實驗不符的現(xiàn)象,是由于支持向量機(jī)的參數(shù)均采用了默認(rèn)值,它的參數(shù)調(diào)優(yōu)的限度是有限的,對于參數(shù)調(diào)優(yōu),有許多種方法,例如GA 遺傳算法調(diào)優(yōu),POS 粒子群算法調(diào)優(yōu)等,由于篇幅這里暫時不再調(diào)優(yōu)。 附實驗截圖如圖6-圖7 所示。 本文利用BP 神經(jīng)網(wǎng)絡(luò)和SVC 技術(shù)進(jìn)行高校貧困生評定,并在某大學(xué)在校大學(xué)生學(xué)習(xí)生活數(shù)據(jù)中進(jìn)行實驗仿真。對BP 神經(jīng)網(wǎng)絡(luò)算法和SVC 技術(shù)進(jìn)行比較發(fā)現(xiàn),可采用SVC 技術(shù)建立優(yōu)化高校貧困生評定系統(tǒng)。本文研究成果可以優(yōu)化評定系統(tǒng),以及提高高校貧困生評定的分類預(yù)測能力。 圖6 測試集的實際分類和預(yù)測分類 圖7 SVC 技術(shù)預(yù)測誤差2 實驗結(jié)果與分析
2.1 數(shù)據(jù)分析與處理
2.2 基于BP神經(jīng)網(wǎng)絡(luò)預(yù)測分析
2.3 基于SVC預(yù)測分析
3 結(jié)語