深度知识追踪的研究(deep knowledge tracing)

v

2019年一些新的知识追踪算法不完全整理" 教育挖掘 tag: 知识追踪

  • content {:toc} 面临实习转正,需要接触到知识追踪方面的学习(毕竟是自适应学习的第一步),网上资料挺少。GitHub代码极少,相较于发展火热的推荐,违约预测,cv,nlp,教育挖掘模型实在不多,GitHub代码非常少,所以除了传统IRT,BKT,DKT之外,特意看了看比较新的知识追踪paper,期望他们的落地实现。

1.End-to-End Deep Knowledge Tracing by Learning Binary Question Embedding

这篇Paper其实是ICLR 2018被拒的文章,不过审理由集中在,“卧槽你写个啥,啥也没写明白,虽然思路很优秀,但你这篇幅也太短了吧,图3是个什么”。其实这个paper还是有很多亮点,主要是他的一些思想和我本人的一些幻想不谋而合,即我们通常基于习题标记的知识点label这个粒度作为输入输出,那我们何不干脆一点,直接用question id 这个最小的特征粒度作为输出,通过embedding,传入我们的rnn。

![/styles/images/new dk/Q-Embedding Model.jpg]({{ '/styles/images/new dk/Q-Embedding Model.jpg' | prepend: site.baseurl }})

当然随之改变的还有损失函数,除了和DKT类似的最后一层 DKT’s objective function :Lp,我们需要以下的损失函数来使得我们的网络来学习embedding 矩阵:Ls和Lr

![/styles/images/new dkfunction1.png]({{ '/styles/images/new dk/function1.png' | prepend: site.baseurl }})

![/styles/images/new dk/function2.jpg]({{ '/styles/images/new dk/function2.jpg' | prepend: site.baseurl }})

δ˜(qt+1) 是在t+1时刻哪些回答了哪些习题的one-hot编码,$$ y_t $$是预测每个习题回答正确的可能性,; $$ a_{t+1} $$是t+1时刻是否回答正确的向量,l是交叉损失熵 。 对于lr和ls,x't是通过类似于从vt到yt转译,从前一半ut转译而来的重组向量,Lr的作用是让我们的网络学习到,学生做题的表现情况,取决于抽象知识点的掌握程度。而lr则是稀疏正则化,使得预测结果压缩在0-1之间。(很奇怪且复杂的损失函数)。 最后合成如下:

![/styles/images/new dk/function3.png]({{ '/styles/images/new dk/function3.png' | prepend: site.baseurl }})

2.Knowledge Tracing Machines: Factorization Machines for Knowledge Tracing

这篇paper已被AAAI 2019 收录,运用了类似CTR预估中的FM因子分解机,利用特征之间的组合特性,预测习题是否被正确做出,FM分解机应该大家都不会陌生,其实文章的中心在于如何构造特征。 User,items,skills,是id类feature的one-hot(skills是向量),分别是用户id,习题id,习题对应知识点id向量,Wins和Fails变量的设置是核心所在,想要理解需要费一些功夫,简单来说,分别表示做对和做错某题对应知识点的计数器,但仅在该时刻习题知识点与历史做题记录共同的知识点上进行累加,具体可以见https://medium.com/@jordancoil/knowledge-tracing-machines-factorization-machines-for-knowledge-tracing-a-summary-62e3b4965133 一文的详细讲解,本人太懒,想要表达完全需要费些功夫,带过就好。

![/styles/images/fm/feature.png]({{ '/styles/images/fm/feature.png' | prepend: site.baseurl }})

这样一来,知识追踪就从RNN序列模型,简化成了普通的机器学习01分类模型,模型复杂度降低,值得注意的是,既然模型原理已经向CTr预估或者推荐系统靠近,需要强大的实时计算能力才能应付增加的user和item,技术实现难度反而提高,但相应准确性也提高。

当然,你也可以引入外部特征来优化模型,如学生班级,学校,性别等。同时作者也有一篇paper《Deep Factorization Machines for Knowledge Tracing》提出用Deep FM构建知识追踪模型,所以感觉其他领域模型的不断发展,会促进教育挖掘领域的进步。

论文链接: https://arxiv.org/pdf/1811.03388.pdf https://arxiv.org/pdf/1805.00356.pdf

3. Dynamic Key-Value Memory Networks for Knowledge Tracing

没怎么认真看,好像是对DKT网络结构的优化,粗看结构图,改变较大。

论文链接:https://arxiv.org/abs/1611.08108

你可能感兴趣的:(教育数据挖掘)