基於神經網絡的學習成績預測與學習推薦研究

文章來源:人工智能通訊第7期(劉巍巍,沈映珊)

劉巍巍

華南師範大學計算機學院碩士研究生。主要從事計算機網絡應用方面研究。

沈映珊

博士,華南師範大學計算機學院副教授,碩士生導師。 主要研究方向為計算機教育應用、學習情感計算等。


課程成績是判斷學習者是否能順利通過某一門課程考試,是否掌握所學知識點的主要方法。專家指出,影響學習成績的主要因素是學習者的心理狀態、智能水平、學習方法和學習時間。作為學習者學習某門課程效果的最直觀體現,根據學習者相關學習背景、學習行為數據對學習者所將獲得的課程成績展開預測研究,並基於此進行學習行為建議,有助於促使學習者的學習行為更有針對性,改善學習者的學習效率。

1 問題的提出

對於學習者學習一個知識點而言,投入的學習成本越大,對該知識點的瞭解與掌握程度越好,最後獲得的學習成績也好。 這裡的學習成本指的是學習者為了達到掌握知識點的學習目標所投入的可衡量行為值,如學習時間、學習理解能力等客觀因素。如何使投入能獲得最佳的學習效果?

隨著在線學習時代的到來,很多的學習(如在線培訓、繼續教育等)遷移到網上進行, 影響學習成績的學習成本也就發生了變化, 除了傳統學習成本的要素外,還包括了諸 如在線學習、回答問題、提交作業、在線瀏覽和下載學習資源等的相關因素。以往學習推薦系統只提出一些學習成績提升建議,學習者很難直觀看到這些學習行為推薦對於提高成績的幫助大小,這些推薦系統普遍存在缺乏對具體學習目標進行針對性推薦的弊端。本文基於幫助學習者用更少學習成本去達成學習者學習目標的目的,藉助機器學習的科學方法進行學習成績預測,並在此基礎上進行學習行為推薦,有一定的實際應用價值。

2 數據處理

本文使用決策樹算法對來自edX 上的學習數據進行挖掘,篩選出對學習結果有影響的數據項。

數據來自於edX 慕課平臺的64 萬多條培訓學習記錄數據。由於慕課平臺上學習者的學習目的不盡相同,存在著大量沒成績和成績為 0 的數據,根據研究的需要對這些無價值數據進行初步清洗,刪除無成績和成績為 0 的數據項,實際剩餘74 000 餘條有效數據。為便於理解,根據數據集中標題項的內容,將題項轉換成中文,並去掉數據 為0、 1或空值的項,獲得如圖1所示的表格, 其中共 16 個數據項。

基於神經網絡的學習成績預測與學習推薦研究

2.1 數據歸約

數據歸約是對經過篩選的源數據進行預處理,將一些數據轉換為便於分析的數值等。通過對源數據進行相應數據規約,有助於提高此後對於數據集進行數據挖掘的效率,歸約結果如圖2 所示。圖中我們將獲得的源數據進行了初步的預處理。

基於神經網絡的學習成績預測與學習推薦研究

課程id:該edX 數據集中共記錄了16 門學科的課程成績,這裡將edX 所記錄的 16 門學科的課程 id 按 1~16 編號。

學歷:空值和未正確填寫均置 0,然後 依次中學以下學歷——1、中學——2、本 科——3、碩士——4、博士及博士後——5。

性別:1——男,2——女;其他各項 中的空值統一設置為 0。

出生年月:根據數據集發佈時間 - 出生 年份轉換為實際學習時年齡,其中,存在 部分出生年月明顯虛假(諸如2011—2013 年出生),統一置零;其餘部分,以20 為臨界點,年齡小於或等於20 置 1,每增加 5 歲 +1,60 歲以上置為 10。

其他諸如國籍、註冊時間、最後登錄 時間等在本研究中缺乏實際參考價值,將 不作為參考項,故不予修改。

2.2 數據項篩選

為實現對學習成績進行比較精確的預測,這裡藉助樹類模型中常用的信息增益思想來對經過上一步預處理的數據項進行初步篩選,方便之後神經網絡的訓練。

信息增益是一個常應用於各種樹類模型的概念,主要用來衡量一個特徵對某個分類的影響程度。作為典型的樹類模型,在決策樹中,信息增益的大小常用於判斷各項數據對成績值的影響大小。熵是在信息論中廣泛使用的一個度量標準,它刻畫了任意樣例的純度。數據的信息屬性是與任務相關的,對於分類任務, 標籤值y 包含的信息量為 Info(y)=ln p(y),其中,p(y)為y出現的概率, p(y) 越小,y 包含的信息量越大。將熵定義為信息的期望值。一個可以分為m類的數據集S, 它的信息熵為隨機得到的一個label 包含的信息量的期望值為

基於神經網絡的學習成績預測與學習推薦研究

假設E(Saim)為目標數據項分為m 類的熵, Si(i={0,1,2,…,k}) 為按其他各分類策略分類 後滿足目標分類情況的熵,那麼,Gain[i] 即為按數據項Si 對數據進行分類得到的關於 Saim 的信息增益,信息增益Gain 值越大,則說明數據項Si 和數據項Saim 的關聯性越大。通俗地說,信息增益Gain 是 Si 的 數據和Saim的數據間聯繫程度的一種量化, Gain[i] 的值越大,則說明 Si 和 Saim 間的聯繫越緊密。假設按數據項Si 對數據進行分類能得到 n 個類,關於求 Gain 值的公式為

基於神經網絡的學習成績預測與學習推薦研究

spss 軟件是一個有著強大功能的數據分析軟件,其自帶的決策樹功能足以滿足本研究進行數據篩選的需要。spss 系統將自變量根據其對成績的影響度大小(實際上就是根據熵增益大小進行的排序)實現了從大到小的排列。

3 數據預測

通過決策樹算法的初步篩選後 , 剩餘數據列多為對成績影響較大的數據。利用BP 神經網絡對這些數據進行訓練,可以得到數據間存在的一定規律。通過這個規律來進一步訓練神經網絡,可以對學習者的學習成績進行預測。本文中成績預測及推薦本質上也是在通過對具體數據預測的基礎上進一步逆向推導來求出達成相應學習結果的學習因素數值,下面使用 BP 算法來對前文中處理好的edX 數據集進行訓練,得到訓練好的神經網絡,以此作為學習成績預測的核心部分。

matlab 是一款強大的數據軟件,本研究藉助 matlab 的 BP 神經網絡工具箱,對數據進行訓練。按 matlab 默認比率70%、15%、15% 將 7.4 餘萬條數據分為(Training)、驗證樣本( Validation)、 測試樣本數據(Testing)三部分,用以對應相應需求。根據數據篩選得到的結論,將以學習章節數、課程訪問天數、課程 交互次數、視頻播放次數、課程 id、論壇發 帖數、學歷作為輸入條件,將是否獲得證書作為輸出結果,得到如圖 4 所示的誤差直 圖。圖中,Targets 表示實際值,Outputs 借 助訓練好的神經網絡對訓練(train)、測試 (test)、驗證(validation)數據來進行計算後得出的輸出值,通過 Targets-Outputs 來 求誤差(Error)的大小以直方圖的方式展示, 圖中間的豎線代表 0 誤差。圖 5 為誤差範圍 分佈表,觀察圖 4 和圖 5 可以直觀地看出整 個預測的結果誤差在0.1 以內的佔絕大多數 (將近70%),而其中誤差在0.05 以內的 又佔據較大的比例。也就是說,通過以上7 條數據對學習者是否能獲得證書進行預測,具有極高的可信度。

基於神經網絡的學習成績預測與學習推薦研究

基於神經網絡的學習成績預測與學習推薦研究

由以上實驗可知,通過BP 算法分析 edX 的數據集並以此預測成績,有不錯的預測精度,雖然還存在誤差,但在一定程度上是可容許的。藉助信息增益的思想篩選出對成績影響較大的因素,繼而藉助BP 神經網絡對其進行訓練,以實現成績值的預測是可行有效的。

4 學習推薦

學習推薦的本質是將影響最終學習成績的某個或某幾個數值置空為缺省數據項,通過遺傳算法結合之前訓練好的神經網絡計算出這些缺省的數據項值,以此作為達成目標學習成績所需要在相應缺省數據項上的滿足條件,繼而進行相應學習推薦。(遺傳算法使用概率化的尋優方法,能自主獲取並指導優化的搜索空間並對搜索方向進行自適應調整,進而在無須知道確切規則的情況下得到儘可能滿足相應方程的解。遺傳算法計算缺省項的優勢在於,可以同時計算多個缺省數據,求出需要達到預期目標所需要付出的學習努力值。還可以根據遺傳算法的原理得到動態的求解答案,透過這些不穩定的動態答案還可發現一些不同於以往學習經驗的新學習思路。

由前文中神經網絡的訓練結果,我們得到一個根據學習章節數、課程訪問天數、課程交互次數等共7 項數據,來求最終成績值的算式。將這個訓練好的神經網絡算式導出,寫作BPnet(N) 函數,其中N 為影響最終成績的7 個數據項,函數返回結果為 grade 成績值。使用GA-BP 實現求缺省數據項的公式為 GA(A,grade)=X(grade=BPnet(N),N={A、 X})

式中, A指已知數據項,grade指目標成績值; X 指要求得的缺省數據項;N 為已訓練好的 神經網絡中影響最終學習成績值的因素集合,N 由 A、X 共同組成。將matlab 中訓 練好的神經網絡BPnet 導出,引入遺傳算 法 GA,通過遺傳算法遞歸得到為達成目標 grade 所需要缺省數據的近似值。

圖 7 為使用遺傳算法求缺省數據的部分代碼,其作用是求適應度函數,該段代碼讀入訓練好的BP 網絡,通過遺傳算法求缺省數據。遺傳算法每輪在一定的範圍內生成mem 個隨機數元素組成的基因種群填 充缺省數據,通過將這些偽隨機元素代入 evaluate(•) 函數中求得相應的適應度,進一 步選擇出適應度優秀的基因,並淘汰低適 應度的基因。在此基礎上,通過不斷的基 因交叉、變異獲得新的種群;通過不斷迭 代獲得適應度儘可能優秀的基因。這裡求 適應度函數公式為1/(s+1),其理想適應度 值為 1,即當適應度值為 1 時,遺傳算法所 得數組 x 中新獲得值即為最優解。再通過將 這些所得到的缺省數據返回輸出給學習者, 就能為學習者提供較為有針對性的學習指 導推薦。學習者若圍繞這些學習推薦來進 行相應學習活動,通常能更高效地完成既 定學習目標。

基於神經網絡的學習成績預測與學習推薦研究

由於訓練好的BP 神經網絡輸出推導式可以視作一個有固定輸出值的線性方程,而遺傳算法在解決有固定輸出結果的線性方程時,當遺傳算法的迭代次數足夠時,總能得到令人滿意的結果。如圖8 所示,隨機選取 1 000 個樣本,在迭代次數為 10 000 時,使用遺傳算法基本能得出正確 的缺省數據值。誤差計算方式為

Error=out-BP(X, GA(X, out))

式中,out 為成績值;X 為缺省了某項或某幾項的影響成績因素組成的數組;BP()、 GA()分別表示為使用訓練好的神經網絡 求成績的函數、使用遺傳算法求缺省數據 的函數。

基於神經網絡的學習成績預測與學習推薦研究

(更多精彩內容可以訪問小程序“八斗問答”)

5 結論

本文藉助機器學習的相關手段,通過對大量教育數據進行數據挖掘,實現了學習者成績預測與學習推薦。區別於傳統教學的人為經驗主義,使用機器學習的相關方式能從與人為認知不同的全新維度挖掘影響學習結果的因素。雖然由於各種客觀因素的影響,在預測結果上離真實值仍稍有偏差,但從數據預測的表現上來講實際該方案已有較好的準確度。

該研究,通過dt-bp-ga 對學習行為數據集進行訓練並查找出了其中影響學習成績的內在規律,實現了對學習者學習成績 的預測及達到期望學習目標的學習建議推薦。在研究進行的過程中,發現了對於學習成績預測與推薦尚存在如下幾個問題:

① 影響一個學生測試成績的因素多種多樣, 很大程度上不單取決於所記錄的少量數據。

② 缺少公開的研究學習數據集。

③ 當用來實驗的數據量較小時,可能出現結果精度上的較大偏差。

伴隨大數據及其相關技術在近幾年的高速發展,隨著相關數據的開放及採集,教育數據的挖掘及分析也迅速受到廣泛關注。本文中關注age、sex 等 7 個或學習行為數據或非學習行為數據實現對學習成績 grade 的預測已有一定精度,可說明本文中所述利用DT-BP-GA 來實現學習成績預測及推薦有著一定的可行性,但仍然存在一些特殊情況導致的預測結果偏差。而隨著數據收集及開放程度的進一步加深,學習的精確預測將會更準確。可以通過學習分析相關技術標準來形成學習者的學習模型,利用標準化的源數據進行預測與推薦,提高預測 結果的精度,做出精確的推薦,幫助學習者更有效地進行個性化學習,提高在線學習的 效率,進而提高社會效率。


分享到:


相關文章: