引 言
在對(duì)本科生的教育過程中,有時(shí)會(huì)出現(xiàn)因?qū)W生成績(jī)過低、學(xué)分過少,而出現(xiàn)留級(jí)甚至延遲畢業(yè)的現(xiàn)象,這對(duì)學(xué)校和學(xué)生均造成了一定的負(fù)面影響。通過對(duì)學(xué)生成績(jī)數(shù)據(jù)的挖掘分析,可輔助教學(xué)管理,以便教師實(shí)施有效的教學(xué)活動(dòng),并刺激學(xué)生主動(dòng)學(xué)習(xí),幫助學(xué)生取得更好的成績(jī)。
文獻(xiàn)[1]利用數(shù)10種不同的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)對(duì)學(xué)生成績(jī)進(jìn)行預(yù)測(cè)。文獻(xiàn)[2]通過不同的分類模型,利用學(xué)生的校園卡數(shù)據(jù)和成績(jī)數(shù)據(jù)預(yù)測(cè)成績(jī),其中多層分類器(MLPC)的效果最好。文獻(xiàn)[3]的研究中表明,傳統(tǒng)教師講授式課堂下學(xué)生的不及格率是學(xué)生主動(dòng)學(xué)習(xí)的不及格率的1.5倍。因此,教師在教導(dǎo)學(xué)生相關(guān)的科目時(shí),可以通過提供預(yù)測(cè)數(shù)據(jù)來及時(shí)警告,促進(jìn)學(xué)生主動(dòng)學(xué)習(xí),從而降低不及格率。
文獻(xiàn)[4]使用神經(jīng)網(wǎng)絡(luò)來預(yù)測(cè)學(xué)生的學(xué)習(xí)成績(jī),結(jié)果顯示,用神經(jīng)網(wǎng)絡(luò)算法比用線性回歸更準(zhǔn)確。但在這項(xiàng)研究中,主要選擇了網(wǎng)上學(xué)習(xí)的成績(jī)來研究,沒有涉及線下面對(duì)面的教育方式。文獻(xiàn)[5]在分析中學(xué)生的成績(jī)時(shí),利用人工神經(jīng)網(wǎng)絡(luò),從認(rèn)知因素和心理因素兩個(gè)角度對(duì)學(xué)生的成績(jī)進(jìn)行聚類。但心理因素的主觀性過強(qiáng),容易影響結(jié)果的準(zhǔn)確性。
神經(jīng)網(wǎng)絡(luò)具有良好的學(xué)習(xí)性能,但也有較為明顯的缺點(diǎn):收斂速度較慢、易陷入局部最小。用進(jìn)化算法優(yōu)化神經(jīng)網(wǎng)絡(luò)可以在一定程度上解決此問題。其中,差分進(jìn)化算法是一種高效的尋優(yōu)算法,通過對(duì)個(gè)體差異的處理實(shí)現(xiàn)變異,適用于非連續(xù)不可微分或噪音較強(qiáng)的函數(shù)。文獻(xiàn)[6]證明了優(yōu)化后的 DE?BPNN 模型預(yù)測(cè)效果要優(yōu)于 GA ?BPNN、CS?BPNN 和 PSO ?BPNN 模型。利用差分進(jìn)化優(yōu)化神經(jīng)網(wǎng)絡(luò)算法,也可以讓運(yùn)算結(jié)果精度更高。
為了對(duì)大學(xué)生成績(jī)等級(jí)進(jìn)行更精準(zhǔn)的預(yù)測(cè),本文提出一種自適應(yīng)差分進(jìn)化神經(jīng)網(wǎng)絡(luò)模型,并對(duì)比了遺傳算法與差分進(jìn)化算法的適應(yīng)度曲線。結(jié)果表明,采用差分進(jìn)化算法尋找最優(yōu)權(quán)值閾值的效果較好。
1、自適應(yīng)差分進(jìn)化算法
自適應(yīng)差分進(jìn)化算法(Adaptive Differential EvolutionAlgorithm,ADE)是一種基于種群的全局搜索算法。常用的差分進(jìn)化模式為 DE/rand/1/bin 和 DE/best/1/bin,第一種收斂速度慢于第二種,但第一種在種群的多樣性上較好,第二種易陷入局部最小值[8]。為了保持良好的多樣性,本文采用的模式為 DE/rand/1/bin,即隨機(jī)選擇當(dāng)前種群的個(gè)體進(jìn)行變異,差異向量個(gè)數(shù)為 1,且在交叉的模式中應(yīng)用二項(xiàng)交叉。差分進(jìn)化算法主要有以下幾個(gè)步驟:種群初始化、變異、交叉、選擇。本文引入自適應(yīng)變異因子 F,其值隨迭代次數(shù)的增加而減小。
2、 ADE 優(yōu)化 BP神經(jīng)網(wǎng)絡(luò)算法
BP 神經(jīng)網(wǎng)絡(luò)的特點(diǎn)為誤差反向傳播,具有較強(qiáng)的魯棒性和容錯(cuò)性,但在運(yùn)算中容易陷入局部最小,收斂速度較低[9]。神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)由輸入層、隱含層、輸出層三層組成。根據(jù) Kolmogorov 定理[10]可知,隱含層層數(shù)為1 時(shí),只要有足夠多的神經(jīng)元節(jié)點(diǎn)數(shù),就可以任意精度逼近任意非線性連續(xù)函數(shù)。當(dāng)輸入層為 X1,X2,…,Xm,隱含層為 h1,h2,…,hn,輸出層為 Y 時(shí),網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)如圖 1所示。
在該神經(jīng)網(wǎng)絡(luò)中,從輸入層到隱含層的權(quán)值為ωij,閾值為bj,從隱含層到輸出層的權(quán)值為ωjk,閾值為bk。其中,i=1,2,…,m;j=1,2,…,n;k=1。逐層傳遞輸入信號(hào)后,在輸出層計(jì)算預(yù)測(cè)值與實(shí)際值的誤差。再根據(jù)所得誤差,結(jié)合學(xué)習(xí)率 η,返回修改并更新權(quán)值與閾值。若迭代尚未結(jié)束,則進(jìn)行下一代計(jì)算。
差分進(jìn)化算法優(yōu)化 BP 神經(jīng)網(wǎng)絡(luò)的原理為:將神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)值與真實(shí)值的差值的均方誤差作為適應(yīng)度函數(shù),最終得到適應(yīng)度值最小時(shí)的權(quán)值閾值,并作為新的神經(jīng)網(wǎng)絡(luò)的權(quán)值閾值,最后進(jìn)行求解。流程圖如圖 2所示。
3、 ADE?BP 神經(jīng)網(wǎng)絡(luò)學(xué)生成績(jī)預(yù)測(cè)模型
3.1 數(shù)據(jù)預(yù)處理
為了便于后續(xù)數(shù)據(jù)的預(yù)測(cè),并保證預(yù)測(cè)的準(zhǔn)確性,首先要獲得正確且合適的數(shù)據(jù),因此需要對(duì)數(shù)據(jù)進(jìn)行預(yù)處理。從學(xué)校的服務(wù)器中調(diào)取出 2016 級(jí)的學(xué)生成績(jī)后,選擇某個(gè)學(xué)院的學(xué)生成績(jī)?yōu)楸疚牡难芯繉?duì)象。提取出該學(xué)院所有學(xué)生從入學(xué)到大二下學(xué)期之間所有的課程成績(jī),再選擇大三上學(xué)期的一門專業(yè)課成績(jī)作為被預(yù)測(cè)對(duì)象。由于在學(xué)生的所有成績(jī)中,“科目 h”這門課程的分?jǐn)?shù)較低。為了凸顯本模型的預(yù)測(cè)效果,并預(yù)防教學(xué)事故,本文將“科目 h”的分?jǐn)?shù)等級(jí)作為被預(yù)測(cè)數(shù)據(jù)。數(shù)據(jù)庫中的成績(jī)龐雜且部分?jǐn)?shù)據(jù)不完整,因此接下來需要提高數(shù)據(jù)質(zhì)量,對(duì)數(shù)據(jù)進(jìn)行預(yù)處理:數(shù)據(jù)清洗、數(shù)據(jù)集成、數(shù)據(jù)轉(zhuǎn)換、數(shù)據(jù)歸約。
1)數(shù)據(jù)清洗:去除空白數(shù)據(jù)和異常數(shù)據(jù)。
2)數(shù)據(jù)集成:將剩下的數(shù)據(jù)整理后,放在一個(gè)表格中,如表 1所示。
3)數(shù)據(jù)轉(zhuǎn)換:由于數(shù)據(jù)集維數(shù)較高,為了降低神經(jīng)網(wǎng)絡(luò)的計(jì)算開銷,本文在得到學(xué)生各科分?jǐn)?shù)后,將學(xué)生成績(jī)按照分?jǐn)?shù)的不同層次劃分為5個(gè)等級(jí):分?jǐn)?shù)<60分,等級(jí)為 0;60≤分?jǐn)?shù)<70,等級(jí)為 1;70≤分?jǐn)?shù)<80,等級(jí)為2;80≤分?jǐn)?shù)<90,等級(jí)為 3;90≤分?jǐn)?shù)<100,等級(jí)為 4。等級(jí)越高,該門科目的成績(jī)?cè)礁?,則該門科目的不及格率越低。
4)數(shù)據(jù)歸約:由于原始數(shù)據(jù)量過于龐大,僅留下和“科目 h”的課程屬性相同的科目,即均為“學(xué)科平臺(tái)課程”的 8門科目。
預(yù)處理后,得到 183條有效數(shù)據(jù)如表 2所示。
3.2 相關(guān)性分析
由于科目較多,為了簡(jiǎn)化網(wǎng)絡(luò)結(jié)構(gòu),提高預(yù)測(cè)的效率,需要找出與被預(yù)測(cè)科目成績(jī)最相關(guān)的科目,作為神經(jīng)網(wǎng)絡(luò)的輸入。因此,本文首先通過 SPSS 對(duì)所有科目的成績(jī)等級(jí)進(jìn)行 Pearson 相關(guān)性分析。部分分析結(jié)果如表 3所示。
相關(guān)性分析的結(jié)果在 0.01級(jí)別顯著,則認(rèn)為有 99%的把握認(rèn)為相關(guān)系數(shù)顯著,該相關(guān)性分析結(jié)果具有統(tǒng)計(jì)學(xué)意義。由表 3 可知,本次相關(guān)性分析結(jié)果可以信任。本文選擇與“科目 h”這門課程相關(guān)性系數(shù)大于 0.45 的科目分?jǐn)?shù)作為輸入數(shù)據(jù),具體課程為:“科目 e”“科目 f”“科目 g”。
3.3 差分進(jìn)化優(yōu)化 BP神經(jīng)網(wǎng)絡(luò)進(jìn)行預(yù)測(cè)
3.3.1 輸入數(shù)據(jù)的歸一化
本模型利用 Matlab 實(shí)現(xiàn)神經(jīng)網(wǎng)絡(luò)。首先將所有數(shù)據(jù)的順序打亂,并隨機(jī)選取 150 條作為訓(xùn)練數(shù)據(jù),33 條作為測(cè)試數(shù)據(jù)。為了提高模型準(zhǔn)確度,再將所有數(shù)據(jù)行歸一化處理,使其值均在[-1,1]區(qū)間內(nèi)。
3.3.2 輸入層、輸出層、隱含層節(jié)點(diǎn)數(shù)以及其他參數(shù)的選取
設(shè)置輸入層數(shù)據(jù)是與“科目 h”相關(guān)性系數(shù)大于等于 0.45 的三門課程的成績(jī)等級(jí),輸入層神經(jīng)元節(jié)點(diǎn)數(shù)為 3;隱含層神經(jīng)元節(jié)點(diǎn)數(shù)的設(shè)定需要經(jīng)過多次測(cè)試,最終發(fā)現(xiàn)節(jié)點(diǎn)數(shù)為 9 時(shí)正確率最高,因此隱含層神經(jīng)元數(shù)設(shè)為9;輸出層為目標(biāo)課程即“科目 h”的成績(jī)等級(jí),其神經(jīng)元節(jié)點(diǎn)數(shù)為1。本文神經(jīng)網(wǎng)絡(luò)的隱含層節(jié)點(diǎn)轉(zhuǎn)移函數(shù)選擇 tansig 函數(shù)。輸出層節(jié)點(diǎn)轉(zhuǎn)移函數(shù)為 purelin函數(shù)。
3.3.3 差分進(jìn)化算法優(yōu)化初始權(quán)值閾值
本模型中收斂誤差設(shè)置為 0.01。由于學(xué)習(xí)速率過小會(huì)導(dǎo)致速度降低,學(xué)習(xí)率過大會(huì)導(dǎo)致權(quán)值震蕩。結(jié)合經(jīng)驗(yàn),將學(xué)習(xí)速率 η設(shè)為 0.05。
為了使權(quán)值可以具有較快的收斂速度,同時(shí)求解精度較高,設(shè)定種群規(guī)模 NP為 50,最大迭代次數(shù) Gm為 30,縮放因子 F 隨迭代自適應(yīng)變化,F(xiàn) 最小值為 0.2,最大值為 1.5,交叉因子 CR 為 0.9。所求問題的維數(shù)為:輸入層節(jié)點(diǎn)數(shù)×隱含層節(jié)點(diǎn)數(shù)+隱含層節(jié)點(diǎn)數(shù)×輸出層節(jié)點(diǎn)數(shù)+輸入層節(jié)點(diǎn)數(shù)+輸出層節(jié)點(diǎn)數(shù)。
隨機(jī)產(chǎn)生初始種群后,進(jìn)行變異與交叉操作。在交叉操作中,有指數(shù)交叉與二項(xiàng)交叉兩種方式。本文選用二項(xiàng)交叉。如果隨機(jī)數(shù)大于 CR,則被選入新個(gè)體。再以神經(jīng)網(wǎng)絡(luò)訓(xùn)練出的預(yù)測(cè)值與真實(shí)值做差,其均方誤差作為適應(yīng)度函數(shù)。設(shè)置 GA?BP 的種群規(guī)模和最大迭代次數(shù)的值與 ADE?BP 的值一樣,交叉概率為 0.9,變異概率為 0.2。圖 3為差分進(jìn)化優(yōu)化 BP神經(jīng)網(wǎng)絡(luò)的適應(yīng)度變化曲線,圖 4 為遺傳算法優(yōu)化神經(jīng)網(wǎng)絡(luò)適應(yīng)度變化的曲線。在達(dá)到最大迭代次數(shù)時(shí),搜索出適應(yīng)度值最小時(shí)的最優(yōu)解。
通過對(duì)比 ADE?BP 與 GA?BP 的適應(yīng)度曲線,可以明顯看出,用自適應(yīng)差分進(jìn)化優(yōu)化 BP 神經(jīng)網(wǎng)絡(luò)的適應(yīng)度下降更快,其誤差均方差的值約為 0.044。而遺傳算法優(yōu)化神經(jīng)網(wǎng)絡(luò)所得到的均方誤差值最終約為 0.049,可以看出,ADE?BP 的適應(yīng)度更小,其均方差較小。因此可以得出,用自適應(yīng)差分進(jìn)化算法優(yōu)化神經(jīng)網(wǎng)絡(luò)能更快、更好地找到函數(shù)的最優(yōu)值。
3.3.4 賦予神經(jīng)網(wǎng)絡(luò)新的權(quán)值閾值并進(jìn)行預(yù)測(cè)
將搜索出的最優(yōu)解轉(zhuǎn)換為神經(jīng)網(wǎng)絡(luò)新的權(quán)值閾值,并對(duì)測(cè)試輸入數(shù)據(jù)進(jìn)行預(yù)測(cè)。由于本文將分?jǐn)?shù)數(shù)據(jù)轉(zhuǎn)換為 5 個(gè)等級(jí),因此所有結(jié)果應(yīng)為在區(qū)間[0,4]內(nèi)的整數(shù)。因此對(duì)神經(jīng)網(wǎng)絡(luò)的輸出值進(jìn)行取整。設(shè)正確率為預(yù)測(cè)正確的數(shù)量與輸出數(shù)據(jù)的數(shù)量的比值。本模型得到 的 正 確 數(shù) 量 為 27,輸 出 數(shù) 據(jù) 總 共 33 個(gè),正 確 率 為81.82%,MSE 為 0.181 8,并且誤差值均為1,可見誤差較小,認(rèn)為預(yù)測(cè)效果較好。預(yù)測(cè)結(jié)果如圖 5所示。
4 、結(jié) 論
本文利用ADE算法和GA算法分別對(duì)神經(jīng)網(wǎng)絡(luò)進(jìn)行優(yōu)化,可以看出,ADE 算法的收斂效果優(yōu)于后者。利用學(xué)生的成績(jī)數(shù)據(jù),結(jié)合 Matlab 實(shí)現(xiàn)了基于自適應(yīng)差分進(jìn)化的學(xué)生成績(jī)等級(jí)預(yù)測(cè),并且該模型的預(yù)測(cè)效果較好。該模型在學(xué)生成績(jī)的預(yù)測(cè)中具有較強(qiáng)的實(shí)際意義,不僅可以讓學(xué)生進(jìn)行有目的的主動(dòng)學(xué)習(xí)、合理安排學(xué)習(xí)時(shí)間、提高科目的通過率,還能協(xié)助教師及時(shí)了解學(xué)生的學(xué)習(xí)情況,改善教學(xué)策略。在將來的研究中,可以進(jìn)一步獲取學(xué)生多方面的信息,并進(jìn)行量化,對(duì)大學(xué)生的期末成績(jī)進(jìn)行深入研究。
審核編輯:郭婷
-
matlab
+關(guān)注
關(guān)注
185文章
2976瀏覽量
230490 -
神經(jīng)網(wǎng)絡(luò)
+關(guān)注
關(guān)注
42文章
4771瀏覽量
100777
原文標(biāo)題:論文速覽 | 基于自適應(yīng)差分進(jìn)化的學(xué)生成績(jī)等級(jí)預(yù)測(cè)神經(jīng)網(wǎng)絡(luò)模型
文章出處:【微信號(hào):現(xiàn)代電子技術(shù),微信公眾號(hào):現(xiàn)代電子技術(shù)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論