1. 程式人生 > >論文導讀:Exercise-Enhanced Sequential Modeling for Student Performance Prediction

論文導讀:Exercise-Enhanced Sequential Modeling for Student Performance Prediction

Exercise-Enhanced SequentialModeling for Student Performance Prediction

智慧教育系統中,如何有效預測學生表現是非常重要的,也是進行個性化推薦,學習路徑規劃的基礎,常用的預測方式依賴於專家將學習材料進行的知識成分的標註,如題目對應的知識點等,並沒有考慮題面資訊。而相同的知識點的題目難度,區分度或其他技能要求都是有所不同的,所以作者考慮將體面資訊進行利用,提出了Exercise-Enhanced Recurrent Neural Network (EERNN) 進行學生表現預測。

模型

模型主要包括三部分:1.使用bi-LSTM對題面資訊進行表徵編碼;2.使用另外的LSTM結構進行知識追蹤的學習;3.對於最終的預測,將EERNN進行拓展,一是加入馬爾可夫性,二是採用了attention機制。

模型優點:

作者所提出的模型優點在於:

  1. 模型輸入不僅利用了學生做題序列,也將題目資訊加入其中。
  2. 模型由於加入attention機制,更加聚焦於當時的效果而不是長期依賴的影響。
  3. 模型解決了冷啟動問題,即對於新來的學生或題目,都可以進行預測。

演算法過程:

S S 表示學生集合, E

E 表示練習集合,第i個學生的做題過程表示為: s i = { ( e
1 i , r 1 i ) , ( e 2 i , r 2 i ) , , ( e T i , r T i ) } s _ { i } =\left\{ \left( e _ { 1 } ^ { i } , r _ { 1 } ^ { i } \right) , \left( e _ { 2 } ^ { i } , r _ { 2 } ^ { i } \right) , \ldots , \left( e _ { T } ^ { i } , r _ { T } ^ { i } \right) \right\}
,其中 e j i e _ { j } ^ { i } 表示學生i做過的第j個練習, r j i r _ { j } ^ { i } 表示對應得分(0或1)。每個練習題是由多個片語成的,對應表示為: e i = { w 1 i , w 2 i , , w M i } e _ { i } = \left\{ w _ { 1 } ^ { i } , w _ { 2 } ^ { i } , \ldots , w _ { M } ^ { i } \right\} 。模型要解決的任務是根據學生做題序列和對應的題目資訊,預測在下個題目上的得分情況:

r ~ T + 1 = P ( r T + 1 = 1 ( e 1 , r 1 ) , ( e 2 , r 2 ) , , ( e T , r T ) , e T + 1 ) \tilde { r } _ { T + 1 } = P \left( r _ { T + 1 } = 1 | \left( e _ { 1 } , r _ { 1 } \right) , \left( e _ { 2 } , r _ { 2 } \right) , \ldots , \left( e _ { T } , r _ { T } \right) , e _ { T + 1 } \right)

在這裡插入圖片描述

上圖為模型架構圖, e i e_{i} 表示第i步對應的練習題, x i x_{i} 是對應題目編碼後的向量, r i r_{i} 為對應答題結果, x ~ i \tilde{ x } _ { i } 為送入模型的輸入,具體公式如下:

x ~ t = { [ x i , o i ] i f r i = 1 [ o i , x i ] i f r i = 0 \tilde{x}_{t}=\left\{\begin{matrix} [x_{i},o_{i}] & if &r_{i}=1 \\ [o_{i},x_{i}] & if & r_{i}=0 \end{matrix}\right.
其中 o i o_{i} 是把 r i r_{i} 擴充套件為 x i x_{i} 相同維度後的向量。
EERNN模型的馬爾可夫特性體現在,T+1時刻輸出只與T時刻狀態有關,具體如下公式所示:
y T + 1 = Re L U ( W 1 [ h T x T + 1 ] + b 1 ) y _ { T + 1 } = \operatorname { Re } L U \left( \mathbf { W } _ { 1 } \cdot \left[ h _ { T } \oplus x _ { T + 1 } \right] + \mathbf { b } _ { 1 } \right)
r ~ T + 1 = σ ( W 2 y T + 1 + b 2 ) \widetilde { r } _ { T + 1 } = \sigma \left( \mathbf { W } _ { 2 } \cdot y _ { T + 1 } + \mathbf { b } _ { 2 } \right)