问题:
如何通过观察学生的做题记录(Y)来估计学生隐知识点的掌握程度(X)。
Route 1:Hidden Markov Model
Definition
Y_it 。 i是学生id,t是做题时间。Y_it为观测到的0/1做题结果
X_is。i是学生id,s是推测时间,X_is为推测的0/1事件。事件1为学生掌握了该知识点。
* s和t可能不是同步的。即可能出现在某个时刻我们没有观察到Y,依然想查询X的状态。e.g.,周一和周五做了题,问周四学生的掌握状态。
我们希望估计的最终参数是P(X_is),即学生i在时间s点上掌握该知识点的概率。推测时间和做题时间并不重合。
P(Y_it = 1|X_is=0)为猜测参数,即学生未掌握该知识点但是猜对的概率。
P(Y_it = 0|X_is=1)为失误参数,即学生已掌握该知识点但是做错的概率。
Data Generating Process
【A】Output Probability
P(Y_it = 1) =
P(Y_it = 1|X_is=1)P(X_is=1) +
P(Y_it = 1|X_is=0)P(X_is=0)
P(Y_it = 0) =
P(Y_it = 0|X_is=1)P(X_is=1) +
P(Y_it = 0|X_is=0)P(X_is=0)
【B】State Transition
我们进一步假设隐状态的演化符合martingale process(艾宾浩斯曲线可以认为是一种特例)
P(X_is|X_is-1,X_is-2,X_i1) = f(X_is)
Route 2:Hierarchical Bayesian Clustering
Thanks to 边士珈
优点:更加接近于前端业务需求
缺点:缺乏动态过程
Definition
Y_it 。 i是学生id,t是做题时间。Y_it为观测到的0/1做题结果
G_is。i是学生id,s是推测时间。G是学生所属的组别(例如学渣-学中-学霸)
L_it。i是学生id,t是做题时间。L_it为观察到的做题时长
Data Generating Process
假设学生是从所属组别中生成的,不同组别有不同的P(Y,L|G)。
现在的问题是反推P(G|Y,L)的后验概率。