婁增輝,王紅林,孫彩云
(南京信息工程大學人工智能學院,江蘇 南京 210044)
隨著計算機技術的發展,大數據和教育的聯系愈發緊密,在教育領域的應用也愈加廣泛。如何有效地提升學生成績是目前高等教育領域亟待解決的主要問題[1]。成績預測是大數據技術在教育領域中的一個重要應用。學習成績預測不僅可以幫助老師及時修正教學策略,提高學生最終學習成績,降低不及格學生比例,還能在一定程度上對學生起到監督和預警作用,是一種提高學生成績的有效方法[2]。
當前的社會有收集物理世界中的大量信息,并使用傳感器等技術將其傳輸到網絡世界的能力。數十億人通過移動設備連接互聯網,這帶來前所未有的信息處理能力、存儲容量和獲取知識的途徑[3]。關于大數據這個詞的定義,不同的研究者有自己的見解。Yassine等[4]認為,大數據是大量的數據。然而,De Mauro等[5]將其視為一種具有高數量、速度和多樣性的信息資產。此外,Osman[6]將大數據描述為難以用傳統方式處理、控制或檢查的大數據集。在2001年,Gartner Group(前身為META Group)的分析員Doug Laney提出大數據的3V特性:Volume(數據量)、Velocity(高速)與Variety(多樣)[7]。之后IBM增加了Value(價值)和Veracity(真實)將其擴充至5V[8]。
步入大數據時代,“數據驅動發展,分析變革教育”成為新一代教育創新變革的重要方向。2018年教育部印發的《教育信息化2.0行動計劃》提出目標:到2022年基本實現“三全兩高一大”的發展目標,建成“互聯網+教育”大平臺,努力構建“互聯網+”條件下的人才培養新模式、發展基于互聯網的教育服務新模式、探索信息時代教育治理新模式[9]。2019年中共中央、國務院印發的《中國教育現代化2035》提出:加快信息化時代教育變革。建設智能化校園,統籌建設一體化智能化教學、管理與服務平臺。利用現代技術加快推動人才培養模式改革,實現規模化教育與個性化培養的有機結合[10]。這一系列的計劃和政策引導下,許多學校已經展開了大數據與教育融合發展的探索[11]。
關于成績預測的研究并不少見。Macfadyen等[12]基于學習管理系統開發“預警系統”,發現處于學業危機的學生,并及時做出預警并采取措施改善其學業情況。陳勇[13]研究并實現了基于遺傳神經網絡對成績的預測,發現該模型具有較高的準確性。王小麗等[14]構建了基于加權樸素貝葉斯的英語成績預測模型,認為該模型可以做為預測和分析學生成績的一種有效方法。Jayakumari等[15]用數據挖掘技術分析學生數學水平進行分析并預測選課結果。黎龍珍[16]基于C4.5算法構建成績預測模型,取得不錯的準確率,通過模型分析得出對學生成績影響最大是視頻任務點完成量。趙慧瓊等[17]對學習行為數據進行二元Logistic回歸分析并結合結果對學業危機學生進行干預,有利于增強學習動機,提高學習質量。這些研究確實對成績進行了預測并取得了較好的效果,但是其所選數據特征較少,并不能全面的反應一個學生的真實情況。為此,有必要對學生的特征進行進一步分析,找出更加全面的影響成績因素對其成績進行預測。
目前,常用的大數據分析算法有:支持向量機(Support Vector Machine,SVM)、決策樹(Decision Tree,DT)、k近鄰算法(k-Nearest Neighbor,kNN)、神經網絡(Neural Networks,NN)等[18]。這些算法在教育中的 應用場景比較多,根據學生的行為對學生分類,可以分析影響學習效果的強因素,分析學習特征,預測學生的學習效果,對離群點預警,還可以為學生提供不同的學習資源分析依據[19]。本研究選取k近鄰學習、決策樹、全連接神經網絡(Fully Connected Neural Network,FC)和循環神經網絡(Recurrent Neural Network,RNN)這四種算法進行成績預測研究。
kNN是一種常見的用于分類和回歸的監督學習方法,在1968年由Cover和Hart提出。算法的基本思想是:對于給定的數據集,尋找并設置合適的k值。對于輸入的數據,基于某種距離度量(如歐式距離)在數據集中找出與其距離最近的k個樣本,根據分類規則(如投票法)確定輸入數據的類別。如圖1所示。

圖1 kNN算法演示
ω1、ω2、ω3是分好的三類,設置k=5,輸入數據Xu距離ω1有四個最近的點,距離ω3有一個最近的點,所以Xu歸為ω1類。
決策樹是一種可用于分類和預測的樹形結構。決策樹由根結點、內部結點和葉子結點構成。決策樹的生成是一個自上而下的遞歸過程。基本算法如下:

根據選擇特征的策略,決策樹算法分為ID3、C4.5和CART算法等。本研究使用CART算法對學生成績進行預測,用基尼指數選擇最優特征。基尼指數的定義為:設有N個類,第n類的概率為pn,則
神經網絡一般由輸入層、隱藏層和輸出層構成(如圖3)。全連接神經網絡是最樸素的神經網絡結構。實現神經網絡的過程包含訓練步驟和測試步驟兩個步驟[20]。一個全連接神經網絡結構只有一個輸入層,一個輸出層,中間是若干層全連接層。神經網絡的公式表示
y=Wx+b
神經網絡的構造過程就是一個不斷計算優化權重W和偏置項b的過程。

圖2 神經網絡的基本結構
Adam優化器用來更新和計算影響模型訓練和模型輸出的網絡參數,使其逼近或達到最優值。
損失函數(loss)是評價模型預測值與真實值差異的函數。本實驗神經網絡模型均使用交叉熵損失函數。其作用是表征兩個概率分布之間的距離。公式為
H(y*,y)=-∑y**lny
為了緩解過擬合,使用L2正則化。正則化在損失函數中引入模型復雜度指標,利用給W加權值,弱化訓練數據的噪聲。L2正則化公式
輸出層前通過Softmax函數,將神經元的輸出映射到(0,1)區間內。它的作用是把神經元輸出轉化為概率,從而進行分類。Softmax的公式為
表示第j個分類的概率。
RNN是一類具有短期記憶能力的神經網絡。RNN和FC結構類似,不同之處在于RNN引入了循環核(ht),ht帶有記憶功能,它存儲了之前的信息,如圖3。

圖3 循環神經網絡的基本結構
此次實驗數據集來自“Kalboard 360”。該數據集具有16個特征,480條記錄,1個成績標簽,維度較高。數據集的特征有:學生性別、國籍、出生地、受教育水平、年級、教室、課程、學期、監護者(父親或者母親)、舉手次數、訪問課程次數、檢查公告更新次數、參加討論次數、家長是否回答了學校提供的調查問卷、家長對學校的滿意度、每個學生的缺勤天數。通過對比多種數據集,此數據集的特征最貼近實際教學情況,易收集。本實驗的模型均由python3.8語言實現。
在預處理階段,使用python語言讀取數據,將用字符型表示的信息重新編碼為數字型,如對于成績標簽L(低)、M(中)、H(高)分別轉化為0、1、2。對數據進行隨機化打亂,設置固定的random seed(隨機種子),使得隨機化后的數據固定,按照7:3將數據分割為訓練集和測試集。
1)kNN
根據kNN的算法思想寫出程序,對于最佳k值設置取值范圍1-336,用for循環對每個k值計算準確率,得當k=29時準確率最高,為68.056%。
2)DT
使用CART決策樹預測成績準確率為69.792%。由于決策樹的性質可以使用sklearn機器學習庫的feature_importances_函數提取前6種重要特征:

表1 重要特征和重要度
前5個特征具有較高的重要度,對學生成績的影響較大,符合客觀規律。
3)FC

表2 模型參數設置
每次送入的樣本個數bath_size設置20,訓練次數800次,損失函數和準確率曲線如下圖所示。

圖4 FC的loss曲線

圖5 FC的準確率曲線
訓練集loss收斂于0.54,準確率收斂于78.5%;測試集loss收斂于0.56,準確率收斂于77%。準確率高,擬合效果好。
4)RNN

表3 模型參數設置
為了防止模型過擬合,每層RNN后進行一次Dropout,隨機使11%的神經元失活。每次送入的樣本個數bath_size設置20,訓練次數800次,損失函數和準確率曲線如下圖所示。

圖6 RNN的loss曲線

圖7 RNN的準確率曲線
訓練集loss收斂于0.57,準確率收斂于80%;測試集loss收斂于0.56,準確率收斂于78.5%。較全連接神經網絡有些許提升。
為了評估模型,除了上述的準確率,此次研究還引入其它三種常用的評價指標,結果如下所示。

圖8 不同模型的評價指數
從各指標可以看出,兩種神經網絡模型效果明顯要好于kNN和DT,FC在F1值上比RNN要高,但是由于RNN引入了循環核,所以訓練時間會長于FC,且準確率等值有些許波動。總的來說,在如此多特征的數據集上,能達到這樣的準確率,說明大數據分析算法在成績預測這一塊領域具有良好的應用前景。

表4 不同模型的評價指數
學生的學業成績受多種因素影響,本研究選取了合適的數據集,并用四種大數據分析算法模型對學生進行成績預測,從結果來看,神經網絡模型要明顯好過kNN和決策樹。這些算法模型應用于實際教學中,通過決策樹能提取出影響學生成績的重要特征,結合神經網絡得出的成績預測結果,能使教師對自己的教學計劃做出合適的調整,具有良好的應用前景。但是本研究選取的算法模型都較為簡單,后續的研究將采用結合不同算法的復合算法模型對學生成績進行預測,希望能達到更高的準確率和更好的實用效果。