任鴿 楊勇
(新疆師范大學計算機科學技術學院 新疆維吾爾自治區烏魯木齊市 830001)
在這個信息化時代背景下,近幾年國家對教育的不斷改革,對科學技術發展的重視、“互聯網+”理念的深入貫徹以及新型教學模式的興起[1],很多的高校也在推廣新課程學習系統。
因為現在的課程體制,學生了解課程的學習情況只能通過期末成績,而教師了解班級的學習情況也只能通過班級期末成績[2]。對于掛科的學生通知補考時間和地點,學校還需重新通知,然后出考試題和指派監考人員來組織期末掛科的學生,這樣就造成了人力和物力上的浪費。如果教師不能及時了解學生課程學習情況,就會造成教學質量低、班級掛科率高的問題。如果學生不能及時了解個人階段性學習情況,就會出現課程學習效率低的問題。因此,課程預警的產生就是為了能夠解決這些出現的問題[3]。
對于高校成績預警問題,國內外專家和學者做了大量的研究。有基于大數據統計的成績預警模型,如王德東實現的大數據背景下高校學生成績預警系統[4];陳玲萍,彭燦華實現的高校學生學習成績預警系統[5];也有基于數據挖掘算法的,如都娟,翟社平的基于改進Apriori 算法的高校學生成績預警系統的研究[6]等。
與學生成績預警相似的學生成績預測方面也有許多研究,通過對學生成績的影響因素的分析,從而預測學生的考試成績。而對應采用的方法也有很多,如吳培[7]采用決策樹的方法,通過研究單課程的學習數據,實現對該課程學生成績的預測,準確率達92%以上。吳興惠,周玉萍等人[8]提出采用隨機森林算法,通過分析學生前幾學期的成績來預測后一學期的成績,從而分析出了對后續課程影響比較大的前導課程。呂品,于文兵,汪鑫等人[9]通過研究學生的行為特征對學習成績的影響,選取了參與小組討論、訪問課程資源、課堂舉手、缺勤天數等7 個特征構成的特征子集,采用支持向量機(SVM)的方法構建學習成績預測模型,通過對比試驗證明了該方法的有效性,同時也從中得出相應的教學啟示。周劍,薛景,韓崇等人[10]提出采用BP 神經網絡對學生某課程的期末成績以及某高中高三學生的高考成績進行預測,并且在對高三學生高考成績的預測取得了較高精準度。張彥榮[11]又提出了基于改進灰色神經網絡的學生體育成績預測模型,測試結果表明,該模型能夠有效克服傳統預測模型不足,具有較高的預測精度。
利用RNN 適合處理和預測具有時間序列性數據的特點,筆者提出一種基于RNN 的高校學生成績預警模型,通過對學生前期課程成績的分析,來實現對后一學期課程成績的預測,進而達到預警的目的。期望能在保證正確性的前提下提高模型的準確率和召回率。

圖1:RNN 學生成績預警模型流程

圖2:RNN 預測模型
循環神經網絡(Recurrent Neural Network,RNN ),是一類具有短期記憶能力的神經網絡。在循環神經網絡中,神經元不但可以接收其它神經元的信息,也可以接受自身的信息,形成具有環路的網絡結構。
RNN 學生成績預警模型主要分為4 個步驟:數據采集、數據預處理、數據分析與建模、成績預警。圖1為RNN 學生成績預警模型流程。
由于本文是需要根據前幾個學期的成績預測下一個學期的成績,以學生的每個學期作為時間序列,所有本文選取的多(N)對一(1)的RNN 模型。
圖2是本文RNN 預測模型所用的結構圖。由前幾個學期的成績預測后一個學期的成績。
為確保實驗結果的真實性和可靠性,本文實驗選取的是真實數據,數據選取的是我校(新疆師范大學)2012 級-2016 級網絡工程專業的所有核心課程的成績,本文實驗數據選取的是我校(新疆師范大學)2012 級-2016 級網絡工程專業的所有核心課程的成績,課程選取由人工篩選。選取數據包括135名學生六個學期的30門課程,共計3375 條記錄。在本次實驗中,選取90%的樣本數據作為訓練集,剩余10%的數據記錄作為訓練集。
本文提出的基于循環神經網絡的高校成績預警模型將學生每個學期的成績看成時間序列,每個學習選取了5 門課程,所以有5 個輸入神經元和5 個輸出神經元。通過反復實驗,模型的其他參數也都得以確定,模型層數為3 層,隱藏層神經元個數為50,學習率為0.001,迭代次數(epoch)為120 次。

圖3:準確率對比圖

圖4:召回率對比圖

圖5:F1 值對比圖

表1:RNN 和BP 神經網絡的各度量指標的比較
為驗證本文提出的方法真實有效,本文將傳統的基于BP 神經網絡的成績預測方法作為BaseLine,通過大量真實數據進行實驗對比分析。在本文中將分類學習任務關注的少數類設為正類,多數類為負類。其中,TP 為真正類,表示將不及格預測為不及格;FP 為假正類,表示將及格預測為不及格;FN 為假負類,表示將不及格預測為及格;TN 為真假類,表示將及格預測為及格。
學生成績預警應該盡可能地預測出不及格的成績,減少將及格的學科預測為不及格。所采用的評價指標有準確率、召回率、F1度量
準確率(Precision):又稱為查準率,表示正類樣例被正確分類的比例,對數據的分布敏感。
召回率(Recall):又稱為查全率,表示正類樣例被正確分類的完整度,是指分類器對正例分類的“能力”度量,對數據的分布不敏感。
上述的兩種度量指標理論上是越高越好,但實際上他們是矛盾的。所以就需要第三個度量指標,它們的調和均值F1 度量(當β取1 時的F 值度量)。它綜合考慮了查準率和查全率。
圖3,圖4分別為RNN 和BP 神經網絡對高校學生成績預測結果的準確率(Precision)和召回率(Recall)的對比分布。從圖2中可以明顯看出RNN 預測結果的召回率要優于BP 神經網絡的預測結果;而圖1的準確率隨著迭代次數的增加,最后的結果趨于穩定且相差不大。
由于準確率和召回率是一對相對立的度量,所以就需要綜合考慮查準率和查全率的另一個度量指標,F1 度量。圖5提供了RNN和BP 神經網絡的F1 值對比分布曲線。由圖5可知,隨著迭代次數的增加,兩者的F1 值都趨于穩定,且RNN 的F1 值明顯高于BP神經網絡。
表1為RNN 和BP 神經網絡的兩種方法構建的高校學生成績預警模型的準確率(Precision)、召回率(Recall)和F1 值三種度量指標的實驗結果。
在這篇文章中,我們提出了一種基于循環神經網絡的高校學生成績預警模型。將學生各個學期的成績作為時間序列來看待,通過使用循環神經網絡模型對每個時間序列進行分析,從而預測下個時間序列的成績,進而對掛科學生做出預警提示。即對學生以往學科成績進行分析,從而預測出學生在后一學期內所學的課程是否有掛科情況。
通過實驗我們可以看出RNN 網絡構建的高校學生成績預警模型要優于傳統的基于BP 神經網絡的成績預測模型,這證明了模型的可靠性和準確性。但整體來看,結果還不盡如人意,準確率還沒有達到預想結果,這可能跟數據量不足和數據類別不平衡有關。循環神經網絡具有強大的挖掘序列型數據關系的能力,在后續的工作中,我們將繼續關注學生成績預警和深度學習,從而構建出準確率更高的高校學生成績預警模型。