教育大數據學習筆記(01)

根據學生的作答表現來推知學生學習的程度
是教育裏頭非常重要的一環
目前有幾個主流的模型
包括 BKT、PFA等

(資料來源:edX 的 Big Data in Education

Bayesian Knowledge Tracing (BKT)

根據學生對於某單一知識點所做出的一連串答題結果(對/錯)
來判斷此時他對該知識點的學習程度。
有四個參數
而根據參數和學生答題歷程
我們可以算出學生的學習程度P(Ln)以及接下來的正確機率P(CORR)
此模型假設學生在學習的過程中的某個時間點會學會(learned)
然後不會再忘記

參數如下:
1. P(L0):一開始就學會的機率。
2. P(T):每次使用該知識點時從不會轉成會的機率。
3. P(G):猜對,沒學會卻答對了。
4. P(S):粗心錯,已學會卻答錯(slip)。

所以答對時有兩種可能
學會了然後沒粗心錯,或是沒學會但是猜對
P(CORR) = P(Ln) * P(~S) + P(~Ln) * P(G)

根據貝氏定理也可以算出
答對時是已學會的機率P(Ln-1 | correct)
以及答錯時是已學會的機率P(Ln-1 | incorrect)
然後算出下一次會學會的機率
P(Ln-1 | Action) = P(Ln-1 | Action) + (1 - P(Ln-1 | Action)) * P(T)

有一些參數的限制可以避免出現 model degeneracy
(表示會推出學會了反而表現差、沒學會反而表現好這種奇怪結論)
(其實這邊我沒很懂…)
例如P(G)+P(S)<1,P(G)<0.3,P(S)<0.1之類的

評估模型的好壞,是看該模型能否很好的預測學生接下來的表現
有一些工具可用:
BNT-SM: Bayes Net Toolkit - Student Modeling (可用在變化型BKT)
Fitting BKT at Scale
BKT-BF: BKT - Brute Force (Grid search) (可用在典型BKT)