曹 摯
(徐州幼兒師范高等專科學(xué)校 江蘇 徐州 221004)
隨著人工智能的不斷發(fā)展和應(yīng)用,尤其是機器學(xué)習(xí)、深度學(xué)習(xí)技術(shù)的不斷進步,促使教育數(shù)據(jù)的分析和評價有了革命性的變化。教育數(shù)據(jù)挖掘(educational data mining,EDM)應(yīng)運而生。教育數(shù)據(jù)挖掘技術(shù)是運用教育學(xué)、計算機科學(xué)、心理學(xué)和統(tǒng)計學(xué)等多個學(xué)科的理論和技術(shù)來解決教育研究與教學(xué)實踐中的問題[1]。高校學(xué)生成績預(yù)測與評價正是教育數(shù)據(jù)挖掘中的重要內(nèi)容。
機器學(xué)習(xí)技術(shù)使得高校逐步實現(xiàn)由數(shù)字校園向智慧校園的轉(zhuǎn)變。在智慧校園的建設(shè)過程中,沉淀了各種各樣的教育數(shù)據(jù),學(xué)生成績數(shù)據(jù)是其中的重要組成部分。傳統(tǒng)的學(xué)生成績管理是由教務(wù)管理系統(tǒng)進行,只是簡單的記錄保存成績數(shù)據(jù)、缺乏對學(xué)生成績信息的有效挖掘和分析,更談不上決策與應(yīng)用。基于機器學(xué)習(xí)的高校學(xué)生成績預(yù)測與評價的方法旨在通過教育領(lǐng)域內(nèi)不斷積累的海量數(shù)據(jù)資源,通過機器學(xué)習(xí)、數(shù)據(jù)挖掘和統(tǒng)計分析等相關(guān)技術(shù)和方法來分析挖掘其中的內(nèi)在規(guī)律,以期解決教學(xué)過程中的各種潛在問題,繼而提升教學(xué)質(zhì)量和學(xué)生學(xué)業(yè)水平。鑒于目前高校每年都有一定數(shù)量的學(xué)生出現(xiàn)考試不及格、留級甚至退學(xué)現(xiàn)象,因此構(gòu)建高效的學(xué)生成績預(yù)測方法具有重要的應(yīng)用價值和實踐意義。不同角色人員使用該預(yù)測方法的目的如表1所示。

表1 角色與預(yù)測目的表
數(shù)據(jù)源一般又稱為數(shù)據(jù)集,是預(yù)測源頭的數(shù)據(jù)集,也是預(yù)測算法的“原始材料”。預(yù)測源數(shù)據(jù)集的性質(zhì)決定了采用哪種智能算法進行預(yù)測。預(yù)測源頭的數(shù)據(jù)在機器學(xué)習(xí)和深度學(xué)習(xí)中,有一個公認(rèn)的準(zhǔn)則,就是數(shù)據(jù)量的大小和質(zhì)量很大程度上決定著預(yù)測結(jié)果。即使算法再好,如果數(shù)據(jù)量少并且分布不均,也不會產(chǎn)生好的預(yù)測結(jié)果。反之如果數(shù)據(jù)量質(zhì)量好,數(shù)目多,即使算法一般,也會產(chǎn)生好的預(yù)測結(jié)果。本文的數(shù)據(jù)主要來源有三個方面:一是線上課程平臺日志文件,近年來,微課和慕課等線上教學(xué)平臺蓬勃發(fā)展,涌現(xiàn)出了一批以MOOC(Massive Open Online Courses)為代表的在線學(xué)習(xí)平臺。這些在線平臺記錄了大量的學(xué)生在線學(xué)習(xí)日志,例如學(xué)生在線考試成績、在線學(xué)習(xí)時長、學(xué)習(xí)次數(shù)、完成測驗次數(shù)等。利用這些信息通過相關(guān)智能預(yù)測算法可以預(yù)測學(xué)生未來的學(xué)業(yè)發(fā)展情況和成績;二是線下環(huán)境中積累的數(shù)據(jù),線下面對面教學(xué)仍然是高等教育的主流模式,多年來積累了海量的數(shù)據(jù),這些數(shù)據(jù)與學(xué)生信息密切相關(guān),比如學(xué)生系統(tǒng)中學(xué)生的基本信息(如性別、年齡等);教務(wù)系統(tǒng)中學(xué)生的課程成績、選課情況;一卡通系統(tǒng)中的學(xué)生消費習(xí)慣、就餐行為;圖書管理系統(tǒng)的學(xué)生借書行為以及去圖書館自習(xí)的情況等;三是問卷調(diào)查,這也是一種傳統(tǒng)的搜集數(shù)據(jù)源的方式。預(yù)測粒度也可以分成三種[2],分別是:試題(問題)級別的預(yù)測、單科課程級別預(yù)測和學(xué)生綜合成績的預(yù)測。
建模,就是建立模型,是為了理解事物而對事物做出的一種抽象。對于學(xué)生成績預(yù)測問題來說,通過分析影響學(xué)生成績的因素并以此為據(jù)搜集整理建模所需的數(shù)據(jù),是獲得一個性能好的預(yù)測模型的基本要求。首先要搜集學(xué)生成績相關(guān)的數(shù)據(jù),數(shù)據(jù)來源主要是上面敘述的三個方面:一是課堂上的問卷調(diào)查,可以通過微信小程序讓學(xué)生提交;二是通過校教務(wù)系統(tǒng)導(dǎo)出教務(wù)系統(tǒng)的相關(guān)數(shù)據(jù);三是摘取來自MOOC 平臺、云班課等網(wǎng)上慕課的成績信息,將這些異構(gòu)的成績數(shù)據(jù)進行初步建模、歸類,化成同一種數(shù)據(jù)格式。然后運用機器學(xué)習(xí)算法對數(shù)據(jù)進行訓(xùn)練,在這里,要運用多種機器學(xué)習(xí)算法(監(jiān)督學(xué)習(xí)算法、非監(jiān)督學(xué)習(xí)算法、深度學(xué)習(xí)算法、感知機、支持向量機算法等)和深度學(xué)習(xí)算法(神經(jīng)網(wǎng)絡(luò)算法、卷積網(wǎng)絡(luò)CNN、循環(huán)網(wǎng)絡(luò)RNN、LSTM 模型、Transformer 模型等)進行比較測試,從不同的維度進行比較,選擇最優(yōu)的算法進行訓(xùn)練,并將訓(xùn)練完的模型用于學(xué)生成績的預(yù)測活動中。具體流程如下:

圖1 預(yù)測模型流程圖
機器學(xué)習(xí)的起源可以追溯到1959年Arthur Samuel[3]。機器學(xué)習(xí)方法主要分成三類:監(jiān)督學(xué)習(xí)(supervised learning,SL)、非監(jiān)督學(xué)習(xí)(unsupervised learning,UL)和強化學(xué)習(xí)(reinforcement learning,RL)。在監(jiān)督學(xué)習(xí)中,訓(xùn)練的數(shù)據(jù)包括示例和目標(biāo)值,其目的是為每個輸入實例分配類別或真實的值,分配的值為類別的情況稱為分類,分配的值為連續(xù)的真實值的情況稱為回歸。而在非監(jiān)督學(xué)習(xí)中,訓(xùn)練示例并沒有被標(biāo)記為相應(yīng)的目標(biāo)值,因此通常用于將相似的數(shù)據(jù)進行聚類。而強化學(xué)習(xí)關(guān)注的是在給定情況下找到合適的行動以通過與周圍環(huán)境交互來獲得最大化的獎勵。深度學(xué)習(xí)是機器學(xué)習(xí)的一個分支,在過去十年中迅速擴展,深度學(xué)習(xí)將在下一節(jié)進一步介紹。
在監(jiān)督學(xué)習(xí)中,根據(jù)輸出的模型不同,可以分成三類:分類預(yù)測模型、回歸預(yù)測模型和序列預(yù)測模型。分類預(yù)測模型是一個從輸入變量(x)到離散輸出變量(y)的映射函數(shù)。這里輸出變量通常稱為標(biāo)簽或類別。目前一些常見的SL 分類器有:決策樹(DT)、支持向量機(SVM)、樸素貝葉斯(NB)、邏輯回歸(LoR)、K 近鄰(KNN)、神經(jīng)網(wǎng)絡(luò)(NN)、隨機森林(RF)。回歸預(yù)測模型是一個從輸入變量(x)到連續(xù)輸出變量(y)的映射函數(shù)。輸出的連續(xù)變量是實數(shù),例如整數(shù)或者浮點值。一些常見的回歸模型有:線性回歸(LiR)、支持向量回歸(SVR)、逐步回歸(SWR)、分類和回歸樹(CART)、嶺回歸和人工神經(jīng)網(wǎng)絡(luò)(ANN)等。序列預(yù)測模型中的序列建模是預(yù)測接下來會出現(xiàn)什么單詞/字母的任務(wù)。當(dāng)前輸出取決于先前的輸入,輸入的長度不固定。分類和回歸算法之間存在一些重疊。一些算法可用于分類和回歸,只需稍做修改,例如,可以通過設(shè)置適當(dāng)?shù)拈撝祵⒕€性回歸轉(zhuǎn)換為二元分類:給定閾值(k),如果輸出(y)大于k,則文檔(d)將被標(biāo)記為1;否則,d將被標(biāo)記為0。隨著機器學(xué)習(xí)的不斷發(fā)展,又出現(xiàn)了一些高級的機器學(xué)習(xí)技術(shù),如集成學(xué)習(xí)(ensemble learning)、半監(jiān)督學(xué)習(xí)(semi-supervised learning)、主動學(xué)習(xí)(active learning)和遷移學(xué)習(xí)(transfer learning)。
高校學(xué)生成績的數(shù)據(jù)源基本上都是具有標(biāo)簽的數(shù)據(jù)集,因此可以考慮使用監(jiān)督學(xué)習(xí)的方法進行預(yù)測。在預(yù)測模型上,分類和回歸都可以使用,也可以結(jié)合使用。分類可以用作對學(xué)生成績以及相關(guān)情況類別進行劃分。而通過回歸模型則可以看出不同學(xué)生相關(guān)成績的連續(xù)變化情況。早期,研究者們提出了運用貝葉斯網(wǎng)絡(luò)來構(gòu)建預(yù)測模型[4],取得了良好的效果。隨著機器學(xué)習(xí)的發(fā)展,決策樹算法[5]也被應(yīng)用到了成績預(yù)測模型中。運用決策樹中的CART 算法進行模型構(gòu)建,改進了預(yù)測的準(zhǔn)確度。但是決策樹在生成模型過程中過于龐大、復(fù)雜,制約了訓(xùn)練的速度。
預(yù)測分?jǐn)?shù)本質(zhì)上是個回歸問題,回歸是根據(jù)特征因素預(yù)測出數(shù)值,特征可以有多個,預(yù)測的數(shù)值也可以有多個。在設(shè)計實驗的過程中,需要考慮兩個問題,一是如何把類別轉(zhuǎn)換成數(shù)值變量;二是如何選擇回歸模型。常見的回歸有線性回歸、邏輯回歸、嶺回歸和套索回歸等。可以采用獨熱碼(one-hot code)對其類別進行編碼。獨熱碼的效果就是把特征數(shù)字化、擴大化。數(shù)字化顧名思義,就是把類別變成數(shù)字,擴大化則是把一個特征列變?yōu)槎鄠€特征列。從回歸模型上看,選擇了線性回歸模型,在該模型中,給定數(shù)據(jù)集,其中x為特征,y為真實值。線性回歸模型實際上就是求y和x的關(guān)系。它假設(shè)y和x之間存在線性關(guān)系,然后試圖學(xué)得一個線性模型,然后根據(jù)模型盡可能準(zhǔn)確地預(yù)測一個與真實值相接近的數(shù)值,表達式為:
f(x)=w1×x1+w2×x2+…+wn×xn+d
向量表達式為:f(x)=wTx+d,其中w=(w1,w2,……,wn)
經(jīng)過四個模型的比較,發(fā)現(xiàn)嶺回歸模型效果較好。
深度學(xué)習(xí)的起源是神經(jīng)網(wǎng)絡(luò)。神經(jīng)網(wǎng)絡(luò)由許多稱為“神經(jīng)元”或“單元”的簡單元素組成。神經(jīng)元通過連接上的權(quán)重連接在一起,以便它們可以協(xié)作處理信息并將信息存儲在這些權(quán)重上。一組神經(jīng)元,即所謂的“層”,在神經(jīng)網(wǎng)絡(luò)中的特定深度一起運行。網(wǎng)絡(luò)的第一層稱為輸入層,其中包含原始訓(xùn)練數(shù)據(jù),最后一層是輸出層。每一層都可以被視為創(chuàng)建前一層輸出的抽象表示。
深度學(xué)習(xí)中常用的有四種神經(jīng)架構(gòu):前饋神經(jīng)網(wǎng)絡(luò)(FNN)、深度信念網(wǎng)絡(luò)(DBN)、遞歸神經(jīng)網(wǎng)絡(luò)(RNN)和卷積神經(jīng)網(wǎng)絡(luò)(CNN)。前饋神經(jīng)網(wǎng)絡(luò)(FNN)是一系列非循環(huán)人工神經(jīng)網(wǎng)絡(luò),在輸入和輸出層之間具有一個或多個隱藏層,旨在通過使用具有多個非線性變換的模型架構(gòu)來表示數(shù)據(jù)中的高級抽象[6]。深度信念網(wǎng)絡(luò)(DBN)是一種生成圖形模型,它使用多級神經(jīng)網(wǎng)絡(luò)從訓(xùn)練數(shù)據(jù)中學(xué)習(xí)層次表示,可以高概率地重建輸入數(shù)據(jù)的語義和內(nèi)容[7]。卷積神經(jīng)網(wǎng)絡(luò)(CNN)特別適合圖像識別和視頻分析任務(wù),因為CNN 的靈感來自對哺乳動物的視覺皮層的研究。與FNN不同,RNN 允許反向鏈接,因此可以記住事物。因此它非常適合處理文本和音頻等順序數(shù)據(jù),因為它的反饋機制模擬了“記憶”,因此RNN 的輸出由其當(dāng)前和先前的輸入決定[8]。雖然RNN 有記憶,但它的記憶可能不是那么好。具體來說,由于梯度消失的問題,它只記得最近的事情,而不是前一段時間看到的內(nèi)容。為了使用標(biāo)準(zhǔn)RNN 模型解決這個問題,SE 中廣泛采用了兩種變體,它們具有捕獲長期依賴關(guān)系的機制:長期短期記憶(LSTM)網(wǎng)絡(luò)[9]和門控循環(huán)單元(GRU)。2017年以后,注意力機制(Attention)得到了大家的認(rèn)可。Transformer 模型[10]為目前較為先進的深度學(xué)習(xí)模型。
在運用機器學(xué)習(xí)方法進行學(xué)生成績的預(yù)測過程中,對樣本進行特征工程是其重要的一個步驟環(huán)節(jié)。特征的選擇依賴于相關(guān)教育專家的知識積累和預(yù)測。深度學(xué)習(xí)則避免了人工的經(jīng)驗缺陷,可以自動學(xué)習(xí)到樣本的特征表示。在深度學(xué)習(xí)的模型中,成績樣本通過模型的層層傳遞和加工,消除了與預(yù)測目標(biāo)聯(lián)系不緊密的特征。這也是深度學(xué)習(xí)技術(shù)在預(yù)測過程中強于傳統(tǒng)機器學(xué)習(xí)方法的關(guān)鍵之處。
由于高校學(xué)生成績的原始數(shù)據(jù)都是文本型數(shù)據(jù),因此在將數(shù)據(jù)放入模型前先要進行特征提取。可以運用卷積神經(jīng)網(wǎng)絡(luò)模型(CNN)[11],首先對文本進行分詞,轉(zhuǎn)化為詞向量。CNN 中的卷積層可以將詞向量轉(zhuǎn)化為特征矩陣。對于單個神經(jīng)元,可以引入非線性因素,使得神經(jīng)網(wǎng)絡(luò)可以模擬非線性函數(shù)的效果,運用ReLU 反向激活函數(shù)[12]進行非線性映射。CNN 中的池化層可以去除特征中的噪聲,保留了特征中的重要因素。由于CNN 沒有記憶功能,可以考慮結(jié)合LSTM 模型進行特征提取。同時考慮使用帶有注意力機制的Transformer 模型進行預(yù)測,實驗證明,Transformer模型可以更加精確地進行預(yù)測,但是也存在需要大數(shù)據(jù)量訓(xùn)練以及訓(xùn)練時間較慢的缺點。
通過前面的論述與評價,我們得出基于深度學(xué)習(xí)的學(xué)生成績數(shù)據(jù)預(yù)測方法具有較高的預(yù)測準(zhǔn)確度,性能優(yōu)于機器學(xué)習(xí)算法,更勝過傳統(tǒng)的預(yù)測方法。盡管深度學(xué)習(xí)在學(xué)生成績預(yù)測方面取得了較好的效果,但是仍然存在以下問題有待進一步研究和解決。
(1)異構(gòu)數(shù)據(jù)源中仍然存在類不平衡的問題。為了解決數(shù)據(jù)不平衡的問題,目前的兩種主流方法是過采樣和欠采樣問題,但是這兩種方法都不夠完美,目前這個問題仍然有待進一步研究。
(2)由于引入了深度學(xué)習(xí)的方法,導(dǎo)致運算量變大,訓(xùn)練時間變長,需要調(diào)整的參數(shù)也變多,調(diào)整工作量變大。下一步要進一步優(yōu)化模型來減少參數(shù)數(shù)目,減少訓(xùn)練的成本和時間。