吳玉鳳,馮 軍,錢亞冠,金 帆
(浙江科技學(xué)院 理學(xué)院,杭州 310023)
教育數(shù)據(jù)挖掘(educational data mining,EDM)是一個新興的跨學(xué)科的研究領(lǐng)域。它利用機器學(xué)習(xí)、統(tǒng)計學(xué)和數(shù)據(jù)挖掘技術(shù)對教育數(shù)據(jù)進行分析和處理,從而提高學(xué)習(xí)者的學(xué)習(xí)效率,更好地讓教師了解學(xué)生及其學(xué)習(xí)環(huán)境。對學(xué)生成績預(yù)測是教育數(shù)據(jù)挖掘領(lǐng)域的熱門研究課題。常用的數(shù)據(jù)挖掘分類算法有決策樹(decision tree,DT)[1]、神經(jīng)網(wǎng)絡(luò)(neural network,NN)[2]、樸素貝葉斯[3](naive Bayes,NB)、邏輯回歸[4](logistic regression,LR)、支持向量機[5](support vector machine,SVM)等算法。Ma等[6]使用支持向量機算法和網(wǎng)格搜索優(yōu)化的決策樹算法來預(yù)測學(xué)生成績,并利用信息增益找出對學(xué)生成績影響較大的因素,于是可利用該模型來識別與學(xué)生成績有關(guān)的重要特征和學(xué)生考試通過率。Rubiano等[7]利用數(shù)據(jù)挖掘工具Weka中的3種分類器J48、PART、RIPOR對932名系統(tǒng)工程專業(yè)學(xué)生的成績進行預(yù)測,發(fā)現(xiàn)J48分類器的預(yù)測準確率較高。Costa等[8]使用決策樹、支持向量機、神經(jīng)網(wǎng)絡(luò)和樸素貝葉斯等算法對學(xué)生成績是否合格進行預(yù)測,結(jié)果表明支持向量機算法的預(yù)測結(jié)果優(yōu)于其他算法結(jié)果。Yang等[9]通過建立包含成績相關(guān)屬性和非相關(guān)屬性的學(xué)生屬性矩陣,對學(xué)生屬性進行量化,應(yīng)用反向傳播神經(jīng)網(wǎng)絡(luò)算法來預(yù)估學(xué)生成績,并找出了影響學(xué)生成績的關(guān)鍵因素。施佺等[10]使用聚類分析和關(guān)聯(lián)方法對學(xué)生在線學(xué)習(xí)過程中的數(shù)據(jù)進行分析,使用聚類分析對學(xué)生進行分類,教師可以根據(jù)分類結(jié)果對學(xué)生采取不同形式的監(jiān)管,使用關(guān)聯(lián)規(guī)則了解學(xué)生學(xué)習(xí)屬性和學(xué)習(xí)成績之間的關(guān)聯(lián)。在文獻[11-14]中,研究者們使用從Kalboard 360 E-Learning系統(tǒng)收集的學(xué)業(yè)成績數(shù)據(jù)集,利用決策樹、神經(jīng)網(wǎng)絡(luò)、樸素貝葉斯等算法驗證了:學(xué)生學(xué)習(xí)過程中家長參與度、學(xué)生參加課程頻次和學(xué)生行為特征(舉手發(fā)言、查看公告、訪問課程資源和討論)對學(xué)生成績有很大的影響。他們使用預(yù)測學(xué)習(xí)成績的模型評價指標值在70%~80%之間,其中,文獻[14]使用集成學(xué)習(xí)構(gòu)建學(xué)生成績預(yù)測模型,然后對集成的模型進一步嵌套集成,提升了分類預(yù)測模型的性能,但也僅為79.2%。由此可見,這些模型的效果還有較大的提升空間。
通過文獻分析,我們發(fā)現(xiàn)有很多研究者建立了學(xué)生成績預(yù)測模型,但是大多數(shù)研究是從理論層面分析來建立學(xué)業(yè)成績評估模型,所建立的模型預(yù)測準確率不夠高,推測其可能的原因如下:一是使用的算法不同,不同的算法對學(xué)生數(shù)據(jù)的訓(xùn)練效果是不同的,即使使用同一份數(shù)據(jù)也可能由于研究者的偏好或模型參數(shù)的不同而導(dǎo)致模型的效果不同;二是特征選擇不同,選擇不同的屬性子集會對學(xué)生成績預(yù)測產(chǎn)生不同的結(jié)果,應(yīng)該盡量選擇與學(xué)生成績有關(guān)的特征,并且特征之間最好不要相互影響。針對上述研究存在的不足,本試驗首先采用數(shù)據(jù)驅(qū)動的建模方法,在包含16名學(xué)生屬性的數(shù)據(jù)集中以模型的預(yù)測準確率作為特征子集選擇的標準,采用排列組合的方式找出影響學(xué)生成績的因素,充分利用了學(xué)生數(shù)據(jù)的有效信息。然后,針對這些有效屬性,采用寬度學(xué)習(xí)(broad learning,BL)算法進行成績預(yù)測。該算法具有步驟少、結(jié)構(gòu)簡單和學(xué)習(xí)速度比較快等優(yōu)點,彌補了深度學(xué)習(xí)算法由于需要計算大量隱層權(quán)值所造成的訓(xùn)練時間過長的缺陷,與深度神經(jīng)網(wǎng)絡(luò)算法相比容易獲得全局最優(yōu)解,具有良好的泛化性能[15-16]。最后,在訓(xùn)練好的算法上進行加權(quán)集成來構(gòu)建學(xué)生成績預(yù)測模型,以克服單個分類器性能不夠穩(wěn)定,對數(shù)據(jù)變化比較敏感的缺點。
本研究使用從Kalboard 360 E-Learning系統(tǒng)收集的約旦大學(xué)學(xué)生成績數(shù)據(jù)集[17]。它是通過電子管理系統(tǒng)收集的學(xué)習(xí)者活動數(shù)據(jù),該數(shù)據(jù)集的屬性及其類別特征見表1。
表1 學(xué)業(yè)成績數(shù)據(jù)集的屬性及其類別特征Table 1 Attributes of academic achievement data set and its category characteristics
數(shù)據(jù)預(yù)處理是研究過程的重要步驟,通過預(yù)處理可以提高數(shù)據(jù)集的質(zhì)量。數(shù)據(jù)預(yù)處理包含數(shù)據(jù)清理、數(shù)據(jù)集成、數(shù)據(jù)規(guī)約和數(shù)據(jù)變換。數(shù)據(jù)清理主要處理數(shù)據(jù)的各種異常情況,包括刪除重復(fù)信息與糾正錯誤信息。數(shù)據(jù)集最初收集了500條數(shù)據(jù),在刪除重復(fù)數(shù)據(jù)和缺失數(shù)據(jù)并清理異常數(shù)據(jù)后,數(shù)據(jù)變成了480條。數(shù)據(jù)歸約是通過精簡數(shù)據(jù)盡可能多地保留原數(shù)據(jù)中的有效信息,即對數(shù)據(jù)進行特征選擇,其理想方法是將數(shù)據(jù)集中所有可能的屬性子集作為算法的輸入,然后選擇能使算法預(yù)測準確率最高的子集作為特征選擇的結(jié)果[14]。本試驗對數(shù)據(jù)屬性所有可能的子集進行遍歷,分別使用決策樹、多層感知機神經(jīng)網(wǎng)絡(luò)和寬度學(xué)習(xí)算法等模型進行訓(xùn)練,每種模型經(jīng)過訓(xùn)練得到3個效果最好的基分類器。其中,以寬度學(xué)習(xí)算法訓(xùn)練得到的3個基分類器屬性子集標號分別為:①②③⑤⑧⑨⑩,①②⑤⑥⑩,①②③⑤⑥⑩。數(shù)據(jù)變換是通過改變數(shù)據(jù)的特征以方便計算和發(fā)現(xiàn)新的信息,主要是對數(shù)據(jù)進行標準化和離散化。標準化處理的是連續(xù)型變量,使處理后的數(shù)據(jù)在[0,1]區(qū)間,服從正態(tài)分布。對非數(shù)值型數(shù)據(jù)進行標準化是指對分類型特征進行編碼,即對不連續(xù)的數(shù)值進行編碼,如將教育水平屬性值小學(xué)、初中、高中分別標準化為1、2、3。離散化主要是根據(jù)學(xué)生的分數(shù),將學(xué)生成績分為3個等級:低級(L),0~69;中級(M),70~89;高級(H),90~100。通過數(shù)據(jù)預(yù)處理得到了標準化的數(shù)據(jù),然后利用處理好的數(shù)據(jù)進行訓(xùn)練。
本研究主要根據(jù)學(xué)生成績數(shù)據(jù)集對學(xué)生學(xué)期結(jié)束時的成績進行預(yù)測,通過標記的類別數(shù)據(jù)對處理好的數(shù)據(jù)集進行訓(xùn)練,并將寬度學(xué)習(xí)算法和集成學(xué)習(xí)算法相結(jié)合,建立了學(xué)生成績預(yù)測模型。
2.1.1 寬度學(xué)習(xí)算法
寬度學(xué)習(xí)算法[18]最開始是作為深度學(xué)習(xí)算法的替代方法提出的,是一種基于隨機向量函數(shù)的算法。寬度學(xué)習(xí)算法首先將輸入數(shù)據(jù)映射成特征節(jié)點矩陣,經(jīng)過增強變換形成增強節(jié)點矩陣,由特征映射節(jié)點和增強節(jié)點共同作為隱含層的輸入,利用偽逆求解隱含層與輸出層之間的權(quán)重矩陣。當(dāng)特征映射節(jié)點和增強節(jié)點的數(shù)目無法滿足任務(wù)需求時,寬度學(xué)習(xí)算法使用增量學(xué)習(xí)的方式動態(tài)調(diào)整網(wǎng)絡(luò)結(jié)構(gòu),實現(xiàn)快速重新訓(xùn)練。假設(shè)算法的訓(xùn)練集輸入為X,包含A個訓(xùn)練樣本,每個樣本有B個屬性,訓(xùn)練集的標簽類別為M種,則算法的具體過程如下:
首先,將輸入數(shù)據(jù)X映射成特征節(jié)點矩陣。訓(xùn)練集X經(jīng)過第i組特征映射得到第i組特征節(jié)點矩陣
Zi=φi(XABWei+βei)。
(1)
式(1)中:Wei為第i組特征映射權(quán)重矩陣;βei為第i組特征映射偏置矩陣。
然后,根據(jù)特征節(jié)點矩陣得到增強節(jié)點矩陣。前i組特征節(jié)點矩陣Zi經(jīng)過第j組增強映射得到第j組增強節(jié)點矩陣
Hj=ξj(ZiWhj+βhj)。
(2)
式(2)中:Whj為第j組增強映射權(quán)重矩陣;βhj為第j組增強映射偏置矩陣;Zi=[Z1,Z2,…,Zi]表示前i組特征節(jié)點矩陣的連接;Wei、βei、Whj、βhj均為隨機初始矩陣,且當(dāng)Whj中的j取不同值時Whj相互正交。
于是,寬度學(xué)習(xí)算法可表示為:
(3)
式(3)中:Wm為特征節(jié)點和增強節(jié)點到輸出層的權(quán)重矩陣,即我們要求的權(quán)值矩陣,它是由[Zn|Hm]的偽逆推導(dǎo)出來的,即Wm=[Zn|Hm]+Y,其中[Zn|Hm]+可以使用偽逆嶺回歸近似算法求得:
(4)
式(4)中:λ是常規(guī)的L2范數(shù)正則化;I為單位矩陣。訓(xùn)練好Wm之后,測試集的測試值可由式(5)得到:
Y=[Zn|Hm]Wm。
(5)
由于初始設(shè)計的模型擬合能力不足,需要增加增強節(jié)點數(shù)量來減小損失函數(shù)。我們把增加一組增強節(jié)點之后的特征節(jié)點和增強節(jié)點到輸出層的權(quán)重矩陣記為Wm+1,令A(yù)m=[Zn|Hm],新的權(quán)重可通過式(6)計算得到:
(6)
式(6)中:
D=(Am)+ξ(ZnWhm+1+βhm+1);
(7)
(8)
C=ξ(ZnWhm+1+βhm+1)-AmD。
(9)
由式(6)可以看出,寬度學(xué)習(xí)算法在增加節(jié)點時,僅通過計算相應(yīng)節(jié)點的偽逆就可以求出新的輸出權(quán)重;換言之,即只需計算新插入的增強節(jié)點的偽逆即可,如此可實現(xiàn)快速增量學(xué)習(xí)。寬度學(xué)習(xí)算法的更新結(jié)構(gòu)如圖1所示。
圖1 寬度學(xué)習(xí)更新結(jié)構(gòu)示意圖Fig.1 Broad learning update structure diagram
由寬度學(xué)習(xí)理論可知,寬度學(xué)習(xí)算法比神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)更簡單,可直接通過增加增強節(jié)點的方式提升模型性能,不需要重新訓(xùn)練網(wǎng)絡(luò)。將其引入教育數(shù)據(jù)挖掘中,有助于在教育大數(shù)據(jù)提取中獲得有意義的規(guī)律與模式[19]。
2.1.2 集成學(xué)習(xí)
集成學(xué)習(xí)通過將多個分類器組合來完成學(xué)習(xí)任務(wù)。加權(quán)集成學(xué)習(xí)是一種集成學(xué)習(xí)方法,本研究中加權(quán)集成學(xué)習(xí)首先使用單個分類器決策樹算法、多層感知機神經(jīng)網(wǎng)絡(luò)算法和寬度學(xué)習(xí)算法來建立模型,然后將每種分類器進行訓(xùn)練后得到3個模型,最后對3個模型的結(jié)果進行投票得出模型最終的判定類別。這種投票的方式能夠獲得比單一分類模型泛化性能更強的模型。
我們將數(shù)據(jù)分為兩部分,其中,70%的數(shù)據(jù)作為訓(xùn)練集,30%的數(shù)據(jù)作為測試集。數(shù)據(jù)預(yù)處理過程結(jié)束之后,分別使用決策樹、多層感知機神經(jīng)網(wǎng)絡(luò)、寬度學(xué)習(xí)算法訓(xùn)練模型,并且對模型進行調(diào)優(yōu),得到具有較高預(yù)測準確率的模型;然后分別對選出的模型使用加權(quán)集成學(xué)習(xí)構(gòu)建成績預(yù)測模型。試驗環(huán)境如下:處理器為Intel(R) Core(TM) i7-9700,處理器主頻為3.00 GHz,內(nèi)存為16.0 GB。試驗的軟件環(huán)境為Python3.7。在基于寬度學(xué)習(xí)算法的加權(quán)集成模型中,設(shè)每個窗口的特征節(jié)點數(shù)為20,特征節(jié)點窗口數(shù)為20,增強節(jié)點數(shù)為300,正則化系數(shù)C取值分別為32、32、256。
試驗使用決策樹、多層感知機神經(jīng)網(wǎng)絡(luò)和寬度學(xué)習(xí)算法,經(jīng)過特征選擇和參數(shù)調(diào)整得到了3種分類器,采用加權(quán)集成方法對3種分類器分別進行訓(xùn)練和測試,得到模型的預(yù)測準確率如圖2所示。為了評估學(xué)生成績預(yù)測模型的性能,本研究使用了3個評價指標:準確率P、召回率R、F1值。
圖2 模型預(yù)測準確率對比Fig.2 Comparison of model prediction accuracy
由圖2可知,經(jīng)過數(shù)據(jù)預(yù)處理和模型調(diào)優(yōu),決策樹算法預(yù)測準確率為76.6%;多層感知機神經(jīng)網(wǎng)絡(luò)算法的預(yù)測準確率較高,為85.8%;寬度學(xué)習(xí)算法的預(yù)測準確率最高,達到了89.1%。加權(quán)集成學(xué)習(xí)之后,模型的預(yù)測準確率有所提升,其中,決策樹模型的性能提升最明顯,預(yù)測準確率提高了10個百分點;多層感知機神經(jīng)網(wǎng)絡(luò)模型的預(yù)測準確率沒有提高,其原因可能是訓(xùn)練的多層感知機神經(jīng)網(wǎng)絡(luò)模型具有相似性;寬度學(xué)習(xí)模型的預(yù)測準確率提高了2.5個百分點,達到了91.6%。因此,我們可以看出加權(quán)集成學(xué)習(xí)可以有效提高模型的性能。之后,本試驗使用加權(quán)集成學(xué)習(xí)對成績類別為H、M、L的數(shù)據(jù)分別進行訓(xùn)練,得到的模型效果如圖3所示。
圖3 加權(quán)集成模型效果Fig.3 Diagram of weighted ensemble model effects
使用加權(quán)集成學(xué)習(xí)之后對學(xué)生成績各個類別進行測試,得到寬度學(xué)習(xí)算法集成之后的F1最高,分別為88.5%、90.3%、96.9%,表明基于寬度學(xué)習(xí)算法的加權(quán)集成成績預(yù)測模型效果較好,而且該模型對學(xué)生成績類別為低的學(xué)生精確率、召回率、F1值最高,均為96.9%。這符合模型的設(shè)計初衷,即找出哪些學(xué)生最可能不及格,從而對這類學(xué)生進行學(xué)習(xí)預(yù)警,并采取有針對性的措施來幫助學(xué)業(yè)成績差的學(xué)生提高考試通過率。
我們從準確率P、召回率R、F1值三方面與其他研究者的試驗結(jié)果進行對比,結(jié)果見表2。
表2 模型效果對比Table 2 Comparison of model effects %
從表2可以很明顯地看出,在使用同一份學(xué)生數(shù)據(jù)集的情況下,本研究建立的模型預(yù)測效果比之前其他研究者的模型高出十幾個百分點。之前研究者采用傳統(tǒng)的機器學(xué)習(xí)算法或集成學(xué)習(xí)的方法,模型的評價指標值大致在70%~80%之間。本試驗由于采用數(shù)據(jù)驅(qū)動的方法,在挑出最優(yōu)屬性子集的前提下,使用具有網(wǎng)絡(luò)結(jié)構(gòu)且善于進行參數(shù)更新的寬度學(xué)習(xí)算法進行集成學(xué)習(xí),預(yù)測準確率達到了91.6%,這驗證了模型的有效性。
本研究將寬度學(xué)習(xí)算法和集成學(xué)習(xí)算法相結(jié)合,建立了學(xué)生成績預(yù)測模型。為了驗證模型的有效性,我們采用兩種對比方式,一方面使用同樣的數(shù)據(jù)處理方式建立了基于決策樹、神經(jīng)網(wǎng)絡(luò)、寬度學(xué)習(xí)算法的集成學(xué)習(xí)算法,試驗結(jié)果表明后者效果最好;另一方面,在使用相同數(shù)據(jù)集和相同模型的情況下,本文建立的模型預(yù)測效果也比之前研究者的模型效果好。這表明本研究提出的基于寬度學(xué)習(xí)算法的加權(quán)投票成績預(yù)測模型,能夠有效逼近學(xué)生特征屬性與學(xué)生成績之間的非線性關(guān)系。本研究可供教育工作者利用這一模型了解學(xué)生,以幫助學(xué)生改善學(xué)習(xí)過程,降低學(xué)習(xí)失敗率,同時也可以幫助管理者提高管理效率。