天天看點

Deep Knowledge Tracing

1 Abstract

知識追蹤——機器在學生與課程作業互動時對他們的知識進行模組化——在計算機支援的教育中是一個公認的問題。盡管有效地模組化學生知識會産生很高的教育影響,但這項任務存在許多固有的挑戰。在本文中,我們探讨了使用循環神經網絡 (RNN) 對學生學習進行模組化的效用。 RNN 系列模型與以前的方法相比具有重要優勢,因為它們不需要對人類領域知識進行顯式編碼,并且可以捕獲更複雜的學生知識表示。使用神經網絡可以顯着提高一系列知識跟蹤資料集的預測性能。此外,學習模型可用于智能課程設計,并允許直接解釋和發現學生任務中的結構。這些結果為知識追蹤和 RNN 的示例性應用任務提出了一條有希望的新研究方向。

2 Introduction

本文貢獻:

1.提出一種将學生互動編碼作為循環神經網絡輸入的新方法;

2.相較于以往的知識追蹤模型,AUC比之前最好的結果提高了25%;

3.這篇論文提出的模型不需要專家标注(自動學習概念模式);

4.可以發現練習題的影響并且生成改進的練習課程。

知識追蹤形式化:

給定學生在一個特定學習任務上的互動觀察 x 0 x_0 x0​. . . x t x_t xt​,預測他們下一次互動$x_{t + 1} $的各個方面

互動形式: x t x_t xt​={ q t q_t qt​, a t a_t at​}

互動形式中 q t q_t qt​代表習題序号, a t a_t at​代表是否答對答錯

資料可視化例子

Deep Knowledge Tracing

注解:橫軸是答題數量,總共五十道題,縱軸圓圈代表六個知識點,上面的實心圓代表答對該題,空心圓代表答錯該題,右邊藍綠色條代表預測的機率,從藍到淺綠色代表機率逐漸增大(越綠代表預測成功的機率越高)。中間藍綠色網格代表預測的機率。

3 Deep Knowledge Tracing

3.1 模型

注解:DKT的模型就是RNN

模型公式:

h t = t a n h ( W h x + W h h h t − 1 + b h ) y t = σ ( W y h h t + b y ) h_t = tanh\big(W_{hx} + W_{hh}h_{t-1} + b_h \big)\\ y_t = \sigma\big(W_{yh}h_t + b_y \big) ht​=tanh(Whx​+Whh​ht−1​+bh​)yt​=σ(Wyh​ht​+by​)

模型圖:

Deep Knowledge Tracing

3.2 輸入與輸出

為了在學生互動上訓練 RNN 或 LSTM,有必要将這些互動轉換為一系列固定長度的輸入向量 x t x_t xt​。使用one-hot編碼實作。

确定輸入次元(input_size)和隐藏層次元(hidden_size)即可确定輸出次元。

3.3 優化

使用二進制交叉熵進行優化,公式為:

L = ∑ t ℓ ( y T δ ( q t + 1 ) , a t + 1 ) L = \sum_{t}\ell\big(y^T\delta\big(q_{t+1}\big),a_{t+1} \big) L=t∑​ℓ(yTδ(qt+1​),at+1​)

4 Datasets

本文共使用三個資料集用于實驗,分别是imulated data, Khan Academy Data, and the Assistments benchmark dataset.

Deep Knowledge Tracing

相較于貝葉斯算法的最高AUC值的0.69,DKT達到了0.86,共有25%的提升。

5 Code

代碼可參考:https://github.com/YAO0747/study/tree/master/DKT