宋 剛 許曉東
(江蘇大學計算機科學與通信工程學院 鎮江 212000)
ITS是一個活躍的研究領域,旨在為學生提供個性化的指導。早期工作可追溯到20世紀70年代后期,在各種各樣的人工智能和知識表示技術中,主要有基于規則和貝葉斯的學生知識和誤解的表示,項目響應理論中邏輯回歸的技能建模,強化學習和深度學習[1]。在知識追蹤問題上,我們無法將學生的知識狀態是定義為靜態的,而且學生對每個知識點的掌握情況并不是獨立的[2],DKT采用的是循環神經網絡(RNN),它相對于著名的貝葉斯知識跟蹤模型(BKT)取得了顯著改善,其結果已被證明能夠發現技能概念中的潛在結構,可用于課程優化[3]。但是忽略學生實際答題時間帶來的個體化差異問題,會影響模型訓練的準確度。
針對上述問題,本文將學生當前的答題時間編碼,結合答題情況輸入模型,結合改進的損失函數,來預測學生的表現。
我們在這里回顧四種最先進的學生建模方法,用于評估學生的表現,無論是他們在心理計量學(IRT)或教育數據挖掘(BKT)中的優勢,還是因為他們是表現最好的(PFA,DKT)。參見文獻[4]進行一般性回顧。
IRT假設學生的知識狀態是靜態的,并且在測試期間完成評估時以其熟練程度表示[5~8]。IRT為單個技能建模,并假定測試項目是一維的。它為學生i分配了靜態熟練度θi。每個項目j都有自己的難度βi。IRT的主要思想是通過使用學生的能力和項目難度來估計學生i正確回答項目j的可能性。

貝葉斯知識追蹤(BKT)模型[9]是一個將學生知識點掌握情況表示成一個二元變量,其中學生的表現是觀察到的變量,學生的知識是潛在數據。該模型采用學生的表現,并使用它們來估計學生對特定技能的知識水平。引入BKT是為了在學習環境中進行知識跟蹤,對于該學習環境,靜態知識狀態的假設已被丟棄。用以下4個概率不斷更新學生對技能知識的標準BKT估計:[P(L0)掌握的初始概率,P(T)從未掌握轉變為精通,P(G)猜測和P(S)滑移]。

PFA是BKT的替代方案,它還放寬了靜態知識假設,并以其基本結構同時為多種技能建模[11]。它定義學生i成功完成項目j的概率為

其中βk是技能k的偏差,而γk和ρk分別代表技能k每次成功和失敗嘗試的學習收益。sik是成功嘗試的次數,而fik是學生i對技能k的失敗嘗試的次數。
DKT是在[3]中引入的。它使用長短期記憶(LSTM)[12]動態地表示學生的潛在知識空間。可以通過利用學生歷史表現來推斷學生通過習題增加的知識。DKT使用大量的人工神經元來表示潛在知識狀態以及時間動態結構,并允許模型從數據中學習潛在知識狀態。它由以下等式定義:

在DKT中,tanh和sigmoid函數均按元素種類應用,并通過輸入權重矩陣Whx,循環權重矩陣Whh,初始狀態h0和輸出權重矩陣Wyh進行參數化。隱藏和輸出單元偏置量用bh和by表示。
在教育領域[13~14]的幾項研究工作中,根據他們先前在學習系統中各種內容上的表現,將學生分為具有相似學習能力的不同群體,以向具有相似學習能力的每組學生提供更多的適應性指導。目前大多數的網上學習平臺,在缺少線下老師的管理情況下,學生的自制力低,追蹤學生的學習狀態,可以對學生的學習情況進行更準確的預測。在每個時間間隔對學生的學習情況動態評估,是根據下一個時間間隔開始之前,對他們處理知識點的時間進行聚類進行的。
1)時間間隔:時間間隔是一個段,是學生嘗試回答系統中同一知識點的時間差。從這個角度來看,一個時間點(時間戳)是對知識點的一次嘗試。
2)劃分學生的嘗試序列,將每個學生的響應序列劃分為多個時間間隔有兩個目的。
(1)減少計算量和內存空間分配,以便在整個較長的序列中進行學習。(2)在每個時間間隔后重新評估學生的學習狀態,并在下一個時間間隔中將其動態分配到所屬的組中。
圖1舉例說明一個學生的16次嘗試響應序列,其中技能標簽13進行了5次嘗試,分為4個片段(時間間隔)的示例,其中一個片段代表一個時間間隔,在該時間間隔中,學生嘗試的次數根據他們與系統交互過程中回答的問題數量而有所不同。
3)用于聚類的長期狀態編碼:根據學生技能學習的時間對學生的學習時間進行分組,可以從數據集D中獲取,學習時間分類的配置文件被編碼為具有技能數量長度的向量。獲取學生當前技能的時間戳與先前嘗試的該技能的時間戳之間的差值,在時間間隔內對學生i進行聚類,如下所示:

其中Timestamps(xj)1:z代表學生i對n個技能(x1,x2,…,xn)的從開始答題到當前答題的時間,表R(xj)1:z表示在1到z次的時間間隔內,對技能j最近一次的回答時間差,而表示一個向量,其中包含學生i對每種技能的學習次數概括,學習次數1到z。每個學生在與系統交互的生命周期中同一技能的學習可能會有不同數量的總學習次數。
4)K-means聚類:通過在數據D上進行聚類[15~16],聚類訓練階段,在不考慮學習次數的情況下找到每個學生組的質心。一旦計算出,在整個聚類過程中,每個組的質心將不再改變。將每次技能的學習狀態(在訓練和測試數據中)分為不同的組,其中1代表學習狀態最差,遞推,4代表當前學習狀態最佳(參見圖2)。

圖2 技能學習的時間間隔對學生進行聚類
找到學生i學習技能所屬的組,使用學習狀態配置數據點在學習了所有K個聚類的質心之后,每個學生每次技能的學習狀態Se gz都通過以下方程式分配到最近的聚類Cc中:

其中,μc是學生組去除極端情況下聚類集Cc(k均值聚類中C2,…,Ck-1)中點的平均值,狀態描述數據表示學生i從學習技能次數從z-1到z的學習時間。
圖3是5位學生對相同技能學習時間間隔的表示,是基于他們以前技能答題的時間間隔。答題數量的不同,時間間隔的總數也有差異,其中t1,t2,t3,t4代表學生對同一技能答題時間的時間間隔,t1代表的是學生第二次與第一次對該技能的答題時間差,依次,t2,t3,t4也是代表當前答題時間與上一次答題時間的時間差(其中線條越長代表時間間隔越長)。每次練習的時間間隔(t1,…,t4)都會根據當前技能的第幾次練習z,均使用先前的表現數據通過k-means聚類方法進行分配。

圖3 學習交互過程中,學生技能學習的時間間隔
在標準DKT中,xt是學生互動元組xt={st,at}的單次編碼矢量,它表示st所練習的技能的組合,并且在其中指示答案是否正確。但是學生的學習狀態還需要另外加上ct+1,這是一個表示St ui在當前時間間隔技能st的學習狀態,是從學生下次的答題時間獲取的。在隱藏層中,當我們將響應序列的每個時間間隔的最后一個節點將用作下一個時間間隔的第一節點h0。輸出yt是一個與問題數量相同長度的向量。
圖4說明了如何通過在每次答題時,將學生的學習狀態作為不同的小組信息納入到DKT模型中來進行改進,以改進知識跟蹤中的個性化。因此,可以結合學生下次的答題時間結合當前技能的答題情況獲得下次答題正確的概率。為了在模型訓練中驗證這一假設,我們引入以下損失函數并將其最小化:

圖4 在學生與系統的整個交互過程中,每次答題都與一個不同的組(集群)相關聯

其中是加入學生當前學習情況的單次編碼矢量,δ(qt)是技能在t時刻的one-hot編碼,at+1是技能回答正確或錯誤(1或0)的編碼,l是二元交叉熵函數。
在這方面,式(7)和(8)對于本文模型仍然有效,本文模型和DKT的輸出yt相同,這為特定問題提供了預測的概率。輸入層中每次學生答題的時間間隔的顏色表示學生根據其學習狀態在該次答題中所屬的組。通過添加該學生所屬組的聚類信息Cl ust er(Stui,Staz),我們確保這些高水平統計信息仍可用于模型,從而在整個學年中進行預測。DKT模型就是這樣做的,以相同的方式對待所有學生,而不考慮他們由于線上學習時間的差異性。相反,通過對學生的學習狀態使用聚類,通過在不同的答題時間使用他們的實際學習概況數據來找到一群具有相似學習狀態的學生。在每個不同的組中追蹤學生的知識可以在學生的成績預測中提供更大的效果。訓練目標是在模型下最大程度地減少觀察到的學生反應序列的交叉熵損失函數:

損失函數L'由式(15)定義,并且模型經過優化以最小化此損失函數,其中λ是任意非負實數。最后,我們在表1中總結了每種模型的特征。


表1 不同模型對比
本文使用Google的TensorFlow框架實施DKT算法來完成深度知識跟蹤的實驗。在實驗中,我們按照學生的答題序列,將每個數據集隨機分為80%的訓練數據和20%的測試數據。使用EM訓練BKT,并將迭代極限設置為200。DKT中RNN的權重是從具有零均值和小方差的高斯分布中隨機初始化的。我們遵循文獻[3]中的超參數設置,以0.01的學習率訓練模型,訓練迭代次數設為100。狀態大小為200的單層RNN-LSTM被用作DKT模型的基礎,同時也應用了Dropout以避免過度擬合[18],此外,我們還將標準梯度閾值始終設置為3.0。為了加快訓練過程,使用了小批量隨機梯度下降來最小化損失函數。我們對正則化參數λ執行超參數搜索。首先,根據LARS-EN[19]算法,來有效地計算彈性網絡正則化路徑,分別檢查每個參數以識別給出良好結果的值范圍。λ的初始搜索范圍為{0、0.001、0.01、0.1、1.0、10.0}。在縮小每個參數的范圍之后,對λ的組合進行網格搜索{0、0.25、0.5、1.0}。
為了更好地解釋模型的不同方面,文中使用AUC和r2結合使用作為評估指標,為我們提供評估模型的基礎。
為了驗證模型,我們在兩個不同的輔導場景中的三個公共數據集上對其進行了測試,在該場景中,學生與教育環境中基于計算機的學習系統進行了交互。KDD Cup 2010明確的記錄了學生開始的答題時間,ASSISTments中沒有雖然沒有明確標出,在數據集說明中發現了學生的答題時間是包含在log_id中的,數據集信息如表2。

表2 數據集概述
本文對學生狀態的評估來提高預測結果,是對原始DKT算法的擴展,并與具有歐幾里得距離的k均值聚類方法結合在一起。我們將所有模型進行比較:IRT[5],BKT[10],PFA[11],DKT[3]。但是,我們無法將其與其他變體模型進行比較,因為它們或多或少相似并且在性能上沒有顯著差異。對于IRT,我們使用Knewton[5]中的代碼,而DKT的代碼則來自WPI[17]。將每個模型做出的學生表現預測制成表格,并根據曲線下面積(AUC)和皮爾遜相關系數的平方(r2)評估準確性。
在表3中,本文模型的預測效果在所有數據集中的表現均優于最新模型。在ASSISTments09數據集上,與AUC為0.73的標準DKT相比,我們的DKT-DSST模型實現了0.81的AUC,這意味著10%的顯著增長。在ASSISTments11數據集上,結果顯示增加了5%,DKT-DSST中的AUC為0.83,而原始DKT中的AUC為0.79。在KDD數據集中,DKT-DSST在AUC=0.79的情況下相比原始DKT也實現了約2.5%的增益。在上述所有模型中,只有IRT模型需要學習問題難度,而所有其他模型僅依賴技能。在表4中,當我們比較r2模型時,BKT在ASSISTments09中為0.07,在ASSISTments11中為0.06,在KDD中為0.05。本文模型在所有數據集中的r2結果均高于0.21。

表3 AUC結果

表4 r2結果
表5中我們發現通過融入了學生的學習時間,對模型訓練效果只產生了正收益。我們對正則化參數λ執行超參數搜索。首先,根據后面將要說明的一些評估措施,對參數λ給出良好結果的值范圍{0,0.25,0.5,1.0},在縮小每個參數的范圍之后。對群集的各種劃分還提供不同的性能,如表5所述。根據實驗結果,將學生學習狀態劃分為6個群集,參數值為0.25時是本文模型的最佳參數。

表5 AUC在不同分組下的實驗結果
本文提出將習題答題時間融入到傳統的DKT模型中,并結合改進的模型損失函數,通過AUC與r2證明模型的準確度更強,達到改進目的。