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

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

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