知识追踪模型——教育大数据挖掘(持续更新......)

知识追踪

  • (2015 NIPS)Deep Knowledge Tracing
  • (2017 WWW)Dynamic Key-Value Memory Networks for Knowledge Tracing
  • (2019 AAAI)Knowledge Tracing Machines-Factorization Machines for Knowledge Tracing
  • (2019 WI)Graph-based Knowledge Tracing—Modeling Student Proficiency Using Graph Neural Network
  • (2021 CIKM)Multi-Factors Aware Dual-Attentional Knowledge Tracing

(2015 NIPS)Deep Knowledge Tracing

Paper链接: DKT
  虽然知识追踪这个方向很早就被提出来了,但是直到2015年,才首次将深度神经网络(RNN)引入到知识追踪领域,并显示出卓越的性能。模型部分使用的是一个传统的RNN模型:
知识追踪模型——教育大数据挖掘(持续更新......)_第1张图片

这里面模型的输入是学生和题目的交互向量 x t x_{t} xt,其中 x t ∈ ( 0 , 1 ) 2 N x_{t}\in\mathbb (0,1)^{2N} xt(0,1)2N, x t x_{t} xt的前N个向量对应学生做题正确的记录,后N个向量对应学生做错的记录,其中哪一题做对或者做错,那么对应位置的元素为1,其余的元素为0,所以输入的是one-hot向量。RNN网络中每一时刻的隐层向量 h t h_{t} ht对应的是学生在该时刻的知识状态。
  DKT不仅在预测方面取得了较好的性能,还可以发掘练习题之间的关系 J i j = y ( j ∣ i ) Σ k y ( j ∣ k ) J_{ij}=\frac{y(j|i)}{\varSigma_ky(j|k)} Jij=Σky(jk)y(ji)其中 y ( j ∣ i ) y(j|i) y(ji)代表,当学生第一次回答问题 i i i正确后,接下来回答问题 j j j正确的概率,从而捕获到练习题之间的依赖关系 J i j J_{ij} Jij。最后可以生成这些概念之间的条件图:
知识追踪模型——教育大数据挖掘(持续更新......)_第2张图片

(2017 WWW)Dynamic Key-Value Memory Networks for Knowledge Tracing

(等待更新…)

(2019 AAAI)Knowledge Tracing Machines-Factorization Machines for Knowledge Tracing

Paper链接: KTM
  自2015年,DKT首次将深度学习引入到知识追踪领域内,并取得了卓越的性能。但是,因子分析方法作为知识追踪的另一传统类型,虽然仅依靠一些频率计数的方式来代表学生练习序列,依然取得了和DKT相近的性能。因此,KTM在传统因子分析模型的基础上,使用推荐系统领域常使用的分解机模型(factorization machines-FM)进行建模,不仅能够覆盖当前所有的传统因子分析模型,还能够自由地引入更多的特征,使得模型更加灵活,具有更强的泛化能力。
  要理解KTM模型,首先需要了解一些传统的因子分析模型。最早的一个模型是IRT模型(Item Response Theory),它最初是心理学的一个模型,通过用户在测试环境下练习,对用户的状态进行评估。IRT模型有很多种形式,最简单的形式是Rasch模型:
l o g i t p i j = θ i − d j logit p_{ij}=\theta_i-d_j logitpij=θidj
其中 p i j p_{ij} pij代表用户 i i i回答题目 j j j正确的概率, θ i \theta_i θi代表用户 i i i的能力, d j d_j dj则代表要预测的题目的难度。这里面的 θ i \theta_i θi d j d_j dj参数都是随机初始化,通过目标函数的最小化来迭代求取最优值的。但是由于IRT模型是针对测试环境设计的,因此它默认学生的能力是一个固定值,并没有考虑学生的知识状态是在更新的。因此,AFM模型(the additive factor model)被提出来引入学生动态练习的信息:
l o g i t p i j = ∑ k ∈ K C ( j ) β k + λ k N i k logit p_{ij}=\sum_{k\in KC(j)} \beta_k+\lambda_k N_{ik} logitpij=kKC(j)βk+λkNik
其中 β k \beta_k βk对应知识点 k k k的一个权重/偏置, λ k \lambda_k λk则是学会知识点 k k k的一个权重/偏置,后面的 N i k N_{ik} Nik则是记录学生 i i i在知识点 k k k上的一个练习次数,求和符下面的 k ∈ K C ( j ) k\in KC(j) kKC(j)代表题目 j j j所包含的所有知识点(因为一个题目可能不只涉及一个知识点)。PFA模型(performance factor analysis model)与AFM模型类似,唯一区别的点在于PFA对每个知识点的答对和答错次数分别进行记录,来区分不同回答对学生收获的不同影响。
  KTM模型使用普通的FM模型进行建模学生学习过程:
l o g i t p i j = μ + ∑ k = 1 n w k x k + ∑ 1 ≤ k < l ≤ N x k x l < v k , v l > logit p_{ij}=\mu+\sum_{k=1}^n w_k x_k+\sum_{1\leq k < l \leq N} x_k x_l logitpij=μ+k=1nwkxk+1k<lNxkxl<vk,vl>
KTM不仅达到了最好的性能,并且它是一个非常泛化的框架,能够将学生学习的许多附属信息都包含进来,较好地增强了因子分析类型模型的能力

(2019 WI)Graph-based Knowledge Tracing—Modeling Student Proficiency Using Graph Neural Network

(等待更新…)

(2021 CIKM)Multi-Factors Aware Dual-Attentional Knowledge Tracing

Paper链接: MF-DAKT
  随着近年来知识追踪的发展,基于深度学习的知识追踪模型取得了卓越的成绩,并有大量的研究发表。而传统的因子分析模型,在2019年的KTM模型中也已经显示出了卓越的性能,但仍存在许多缺陷性,并未能被很好地继续优化。因此,MF-DAKT主要提出三点:1)传统的因子分析模型输入特征都是学生各个知识点的练习次数来代表动态学习序列,这种特征明显缺少了时序信息,尤其是忽略了临近的练习的影响;2)题目相关的信息也尚未能很好地挖掘,从而使得题目的表征向量很难充分捕获到一些有用的信息;3)KTM类的因子模型结构较为简单,捕获输入特征信息的能力有限,预测部分仍有优化的地方。MF-DAKT模型图如下:
知识追踪模型——教育大数据挖掘(持续更新......)_第3张图片
这里的模型主要是两个大模块:预训练模块和双注意框架模块。首先,预训练就是基于题目相关信息构造的题目图,来对随机初始化的题目表征向量进行训练,使得题目向量能够蕴含图中边的特征等信息。(或许因为这个paper的重点不在图训练部分,所以作者仅使用简单的pair-wise的方法来预训练,后续或许可以尝试用更复杂的图神经网络如GCN等来优化这部分)在获得预训练好的题目表征之后,会和常用的学生、知识点、练习次数等特征联合进行预测。在这部分,MF- DAKT提出一个新的recent因子(记录学生某个知识点最近一次的练习情况)来补充一定的时序信息,因为许多教育研究证明,学生的最近的练习对当前练习影响是最大的。这些特征会被投射到两个表征子空间中(这部分类似于multi-head attention机制),两个子空间中的特征首先会分别通过因子分析网络,来求出各个特征的注意力权重(突出每个特征在不同的事例中的重要度不同),利用注意力权重对各自的表征向量进行重加权之后,这些表征向量会分别在两个子空间进行求和池化(sum pooling)和交互池化(interaction pooling),从而捕获到不同类型的信息。最终,将这两种池化向量并联通过一个MLP得到最终的预测值。由于在预测的过程中,会对预训练好的题目表征进行微调,可能会导致损失一定的图结构信息,例如题目的难度信息。为了保留题目的难度信息,在预测模块,目标函数除了使用常用的二元交叉熵损失,还加上一个题目难度正则化损失函数(即要预测的题目向量通过一个MLP得到难度值,和统计得到的难度值进行平方和损失,作为一个题目难度正则化损失函数)。实验结果表明,MF-DAKT的性能明显优于当前的知识追踪模型,同时验证了因子分析模型的巨大潜力,仍有较多的优化空间

你可能感兴趣的:(知识追踪,python,人工智能,算法,数据挖掘,神经网络,深度学习)