王 芮
(阜陽(yáng)幼兒師范高等??茖W(xué)校,安徽 阜陽(yáng) 236015)
信息化時(shí)代背景下,傳統(tǒng)的課堂變成了以電腦、手機(jī)及移動(dòng)終端為輔助的網(wǎng)絡(luò)課堂,學(xué)生可以隨時(shí)隨地學(xué)習(xí)。對(duì)學(xué)生學(xué)習(xí)成績(jī)的預(yù)測(cè)是教師及時(shí)了解學(xué)生學(xué)習(xí)情況,有的放矢地調(diào)整教學(xué)方案,制定更加具有針對(duì)性學(xué)習(xí)方案的關(guān)鍵所在。神經(jīng)網(wǎng)絡(luò)是采用一種類似于大腦神經(jīng)突觸連接結(jié)構(gòu)的信息處理模型,目前被廣泛應(yīng)用于成績(jī)預(yù)測(cè)中。BP(back propagation)神經(jīng)網(wǎng)絡(luò)是一種按照誤差逆向傳播算法訓(xùn)練的多層前饋神經(jīng)網(wǎng)絡(luò),在實(shí)際使用過(guò)程中存在算法收斂速度慢、效率低下等問(wèn)題。粒子群優(yōu)化算法(particle swarm optimization),簡(jiǎn)稱PSO算法,是一種通過(guò)模擬鳥群覓食行為發(fā)展起來(lái)的隨機(jī)搜索算法,將PSO算法對(duì)BP神經(jīng)網(wǎng)絡(luò)初始化權(quán)重系數(shù)進(jìn)行優(yōu)化可以達(dá)到提高網(wǎng)絡(luò)收斂速度的目的[1]。基于此,本文采用PSO-BP網(wǎng)絡(luò)對(duì)學(xué)習(xí)成績(jī)的預(yù)測(cè)問(wèn)題進(jìn)行研究。
BP神經(jīng)網(wǎng)絡(luò)是按照誤差逆向傳播算法訓(xùn)練的多層前饋神經(jīng)網(wǎng)絡(luò),由Rumelhart提出,在實(shí)際工程中具有廣泛的應(yīng)用。典型的BP神經(jīng)網(wǎng)絡(luò)共包含三層,分別為輸入層、隱含層和輸出層,具體如圖1所示[2]。
圖1 典型BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)
BP網(wǎng)絡(luò)計(jì)算包括正向傳播和誤差逆向傳播兩個(gè)過(guò)程,正向傳播過(guò)程為x從輸入層傳遞到隱含層,同時(shí)從隱含層傳遞到輸出層。如果輸出層的輸出數(shù)據(jù)y和期望值不匹配,那么就會(huì)進(jìn)入到誤差反向傳播階段。通過(guò)誤差反向傳播來(lái)不斷地修正連接的權(quán)重,從而達(dá)到誤差逐漸減少的目的。設(shè)BP網(wǎng)絡(luò)從輸入層到隱含層的權(quán)值矩陣為ω1,偏差矩陣為b1;從隱含層到輸出層的權(quán)值矩陣為ω2,偏差矩陣為b2;從輸入層到隱含層的神經(jīng)元傳輸函數(shù)為f1,從隱含層到輸出層的神經(jīng)元傳輸函數(shù)為f2,那么
y=f2(ω1f1(ω1x-b1)-b2)
(1)
采用梯度下降法對(duì)所建立的BP神經(jīng)網(wǎng)絡(luò)進(jìn)行不斷地學(xué)習(xí)和訓(xùn)練使得網(wǎng)絡(luò)的權(quán)值和閾值調(diào)整,最終達(dá)到網(wǎng)絡(luò)輸出值和期望輸出值之間的均方根誤差達(dá)到最小值。
PSO優(yōu)化算法是根據(jù)鳥類覓食的自然現(xiàn)象提出的。在鳥兒覓食的開始階段,每一只鳥的位置都是獨(dú)立的,覓食方向是隨機(jī)不確定的。在鳥兒覓食的過(guò)程中,已經(jīng)尋找到食物的鳥兒通過(guò)和其他尚未尋找到食物的鳥兒進(jìn)行信息交換,那么整個(gè)鳥群中鳥覓食的方向就會(huì)向目標(biāo)位置靠近。在整個(gè)鳥群中,每一只鳥都會(huì)結(jié)合系統(tǒng)中距離食物最近的鳥兒的位置和隨后的覓食方向進(jìn)行優(yōu)化處理。
PSO優(yōu)化算法是在搜索空間初始化一組隨機(jī)粒子,通過(guò)迭代找到最優(yōu)解。在粒子群中,每一個(gè)隨機(jī)粒子都有自己的位置、速度和適應(yīng)度值,采用適應(yīng)度函數(shù)來(lái)計(jì)算粒子的適應(yīng)度值,每一個(gè)粒子個(gè)體的位置都有個(gè)體的極值和群體的極值進(jìn)行更新。假定在D維空間中有N個(gè)粒子,PSO算法的基本參數(shù)定義如下:
粒子i的位置為xi=(xi1,xi2,……,xiD),粒子i的速度為vi=(vi1,vi2,……,viD),粒子經(jīng)歷過(guò)的最佳位置為pi=(pi1,pi2,……,piD),種群經(jīng)歷過(guò)的最佳位置為pg=(pg1,pg2,……,pgD),那么速度更新公式和位置更新公式分別為
vid(k+1)=wvid(k)+c1randid(·)[pid(k)-xid(k)]+c2randid(·)[pgl(k)-xid(k)]
(2)
vid(k+1)=xid(k)+vid(k+1)
(3)
其中,w為慣性權(quán)重,c1和c2為加速學(xué)習(xí)系數(shù),k為當(dāng)前迭代次數(shù),rand(·)為隨機(jī)函數(shù)。
由公式(2)可知,速度更新公式包含了三個(gè)部分,第一部分為粒子自身的運(yùn)動(dòng),其取決于粒子自身初始速度和慣性權(quán)重w;第二部分為粒子對(duì)自身位置和其在全局最優(yōu)位置之間距離的判斷,是粒子不斷認(rèn)知的過(guò)程;第三部分為粒子自身位置和全局最優(yōu)位置之間的判斷,是社會(huì)的影響過(guò)程。PSO算法流程圖如圖2所示。
圖2 PSO算法流程圖
BP神經(jīng)網(wǎng)絡(luò)采用梯度下降法進(jìn)行學(xué)習(xí)訓(xùn)練,其速度比較慢,同時(shí)網(wǎng)絡(luò)的初始權(quán)值和初始閾值對(duì)輸出的結(jié)果具有比較大的影響,如果選擇不當(dāng)容易在學(xué)習(xí)訓(xùn)練的過(guò)程中陷入局部最優(yōu)的狀態(tài)。采用PSO算法對(duì)BP網(wǎng)絡(luò)進(jìn)行優(yōu)化,得到PSO-BP神經(jīng)網(wǎng)絡(luò),PSO-BP流程圖如圖3所示[3]。
圖3 PSO-BP網(wǎng)絡(luò)流程圖
由圖3可知,采用PSO-BP網(wǎng)絡(luò)進(jìn)行學(xué)習(xí)成績(jī)的預(yù)測(cè)首先需要確定BP網(wǎng)絡(luò)的結(jié)構(gòu),對(duì)粒子的位置和速度進(jìn)行初始化處理。由于對(duì)不同的數(shù)據(jù)采用的計(jì)算方法存在差別,因此要對(duì)原始的輸入數(shù)據(jù)進(jìn)行歸一化處理,歸一化處理的公式為[4]
(4)
其中,x′表示歸一化的數(shù)據(jù),xmin表示原始數(shù)據(jù)的最小值,xmax表示原始數(shù)據(jù)的最大值。
采用初始化的數(shù)據(jù)進(jìn)行網(wǎng)絡(luò)訓(xùn)練,同時(shí)將訓(xùn)練的誤差作為粒子的適應(yīng)度值,選擇粒子個(gè)體的最優(yōu)位置作為全局最優(yōu)位置。按照粒子位置和速度更新公式進(jìn)行粒子位置和速度的更新,同時(shí)計(jì)算更新之后的粒子適應(yīng)度。比較粒子群中的每一個(gè)粒子最好位置所對(duì)應(yīng)的適應(yīng)度,將適應(yīng)度最小的粒子作為全局最優(yōu)位置,同時(shí)判斷是否達(dá)到了全局最優(yōu)位置或是否達(dá)到了最大的迭代次數(shù)。如果達(dá)到了全局最優(yōu)位置或者達(dá)到了最大的迭代次數(shù),那么停止迭代,將PSO優(yōu)化后的解作為BP神經(jīng)網(wǎng)絡(luò)的初始權(quán)值,同時(shí)進(jìn)行網(wǎng)絡(luò)的訓(xùn)練,將訓(xùn)練好的BP網(wǎng)絡(luò)用于數(shù)據(jù)的預(yù)測(cè)。
在智慧校園背景下,學(xué)生的學(xué)習(xí)成績(jī)數(shù)據(jù)可以通過(guò)學(xué)校的網(wǎng)絡(luò)中心獲得。本文對(duì)某省屬重點(diǎn)大學(xué)的學(xué)生成績(jī)進(jìn)行預(yù)測(cè),所獲取的數(shù)據(jù)包括學(xué)生的姓名、學(xué)號(hào)、課程名稱、課程性質(zhì)、課程代碼等。對(duì)于所獲得的原始數(shù)據(jù)要進(jìn)行預(yù)處理,即將缺考學(xué)生、補(bǔ)考學(xué)生、非正常考試項(xiàng)、課程名稱進(jìn)行刪除,得到預(yù)處理的數(shù)據(jù),其格式如表1所示。
不同的課程之間有的存在比較高的相關(guān)度,有的存在比較低的相關(guān)度,采用比較多的課程成績(jī)對(duì)目標(biāo)課程成績(jī)進(jìn)行預(yù)測(cè)會(huì)使得算法參數(shù)變得
表1 預(yù)處理后學(xué)生數(shù)據(jù)
十分復(fù)雜,收斂的速度變慢,同時(shí)部分的課程成績(jī)對(duì)目標(biāo)課程成績(jī)的預(yù)測(cè)是干擾項(xiàng),影響了目標(biāo)課程成績(jī)預(yù)測(cè)結(jié)果。本文采用Apriori算法計(jì)算課程成績(jī)和目標(biāo)課程成績(jī)之間的相關(guān)度,按照相關(guān)度的大小選擇四門相關(guān)度比較強(qiáng)的課程對(duì)目標(biāo)課程進(jìn)行成績(jī)預(yù)測(cè)[5]。通過(guò)對(duì)大量原始數(shù)據(jù)的處理將其簡(jiǎn)化為只包含四門相關(guān)課程和一門目標(biāo)課程的成績(jī)數(shù)據(jù)表,保存一部分?jǐn)?shù)據(jù)作為訓(xùn)練數(shù)據(jù),同時(shí)另外一部分作為檢測(cè)預(yù)測(cè)結(jié)果的數(shù)據(jù)。
采用PSO優(yōu)化算法對(duì)BP神經(jīng)網(wǎng)絡(luò)的初始化權(quán)值和閾值進(jìn)行優(yōu)化處理。PSO算法的參數(shù)選擇對(duì)優(yōu)化的結(jié)果具有比較大的影響,通過(guò)試驗(yàn)得到PSO算法的較優(yōu)參數(shù)設(shè)置結(jié)果,即學(xué)習(xí)因子c1=1.46,c2=1.48,最大迭代次數(shù)Tmax=60,種群規(guī)模N=10,慣性權(quán)重ωmax=0.9,ωmin=0.3,初始化速度在閉區(qū)間[-1,1]。采用MATLAB軟件編制PSO-BP程序,得到均方根誤差變化曲線圖如圖4所示。
圖4 均方根誤差變化曲線圖
將PSO-BP網(wǎng)絡(luò)用于目標(biāo)課程學(xué)習(xí)成績(jī)的預(yù)測(cè)中,同時(shí)為了對(duì)比PSO-BP網(wǎng)絡(luò)和BP網(wǎng)絡(luò)對(duì)目標(biāo)課程學(xué)習(xí)成績(jī)的預(yù)測(cè)精度,采用BP網(wǎng)絡(luò)對(duì)目標(biāo)課程學(xué)習(xí)成績(jī)進(jìn)行預(yù)測(cè),對(duì)比結(jié)果如表2所示。
表2 目標(biāo)課程成績(jī)預(yù)測(cè)結(jié)果對(duì)比
由表2可知,不論是采用BP網(wǎng)絡(luò)還是采用PSO-BP網(wǎng)絡(luò),其對(duì)目標(biāo)課程成績(jī)的預(yù)測(cè)相對(duì)誤差均在5.0%以內(nèi),同時(shí)PSO-BP網(wǎng)絡(luò)對(duì)目標(biāo)課程成績(jī)的預(yù)測(cè)精度更高,相對(duì)誤差在2.0%以內(nèi)。按照[90,100]為優(yōu)、[80,90)為良、[70,80)為中、[60,70)為差、[0,60)為不及格的規(guī)則對(duì)目標(biāo)課程成績(jī)進(jìn)行劃分,很明顯采用BP神經(jīng)網(wǎng)絡(luò)去預(yù)測(cè)實(shí)際成績(jī)?yōu)?1、73、61三名學(xué)生的成績(jī)時(shí)出現(xiàn)了錯(cuò)誤。
分別采用BP神經(jīng)網(wǎng)絡(luò)和PSO-BP神經(jīng)網(wǎng)絡(luò)對(duì)目標(biāo)課程學(xué)習(xí)成績(jī)進(jìn)行預(yù)測(cè),結(jié)果表明采用PSO-BP神經(jīng)網(wǎng)絡(luò)對(duì)目標(biāo)課程學(xué)習(xí)成績(jī)預(yù)測(cè)的精度比較高,但是采用神經(jīng)網(wǎng)絡(luò)對(duì)目標(biāo)課程成績(jī)的預(yù)測(cè)不宜采用等級(jí)規(guī)則對(duì)學(xué)生的學(xué)習(xí)成績(jī)進(jìn)行預(yù)測(cè),這因?yàn)樵?0分左右、80分左右、70分左右以及60左右的學(xué)生很容易被誤判,如本應(yīng)該是及格而采用神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)的結(jié)果為不及格,這明顯是錯(cuò)誤的,也不利于更加客觀地對(duì)學(xué)生的該門課程進(jìn)行評(píng)價(jià)。智慧課堂背景下,基于PSO-BP網(wǎng)絡(luò)的學(xué)習(xí)成績(jī)預(yù)測(cè)可以比較精確地給出課程的分?jǐn)?shù),這有助于教師按照學(xué)習(xí)成績(jī)的預(yù)測(cè)結(jié)果更加具有針對(duì)性地去調(diào)整教學(xué)方案、優(yōu)化課程資源、不斷地提高教學(xué)質(zhì)量和教學(xué)效率。
智慧課堂背景下對(duì)學(xué)習(xí)成績(jī)的預(yù)測(cè)至關(guān)重要,可以及時(shí)調(diào)整教學(xué)方案、優(yōu)化教學(xué)資源、提高教學(xué)質(zhì)量,本文采用PSO-BP網(wǎng)絡(luò)搭建了學(xué)習(xí)成績(jī)預(yù)測(cè)模型,對(duì)原始數(shù)據(jù)進(jìn)行預(yù)處理,同時(shí)采用Apriori算法計(jì)算課程成績(jī)和目標(biāo)課程成績(jī)之間的相關(guān)度,通過(guò)相關(guān)度的大小選擇四門相關(guān)度比較強(qiáng)的課程來(lái)對(duì)目標(biāo)課程成績(jī)進(jìn)行預(yù)測(cè),同時(shí)采用BP網(wǎng)絡(luò)對(duì)目標(biāo)課程成績(jī)進(jìn)行預(yù)測(cè)對(duì)比。結(jié)果表明PSO-BP網(wǎng)絡(luò)對(duì)學(xué)習(xí)成績(jī)的預(yù)測(cè)精度比較高,而采用BP網(wǎng)絡(luò)預(yù)測(cè)的成績(jī)?nèi)绻捎玫燃?jí)評(píng)價(jià)法,其評(píng)價(jià)的結(jié)果出現(xiàn)了錯(cuò)誤。本文的研究對(duì)目標(biāo)課程學(xué)習(xí)成績(jī)的預(yù)測(cè)具有一定的參考價(jià)值,同時(shí)也是對(duì)教學(xué)資源優(yōu)化配置的重要參考。