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