知识追踪入门系列-论文资料汇总

知识追踪⼊门系列-论⽂资料汇总
Paper : 知识追踪相关论⽂
下载论⽂和代码见reference第⼀个链接
Deep Knowledge Tracing:
⾸次提出将RNN⽤于知识追踪,并能够基于复杂的知识联系进⾏建模(如构建知识图谱)
Deep Knowledge Tracing and Dynamic Student Classification for Knowledge Tracing(DKT-DSC)
跟第⼀篇论⽂⽐较相似,都⽤到了 LSTM,不同的是这篇论⽂还考虑了将学⽣进⾏分类,在进⾏预测的时候也有不同,
How Deep is Knowledge Tracing
探究DKT利⽤到的统计规律并拓展BKT,从⽽使BKT拥有能够与DKT相匹配的能⼒
Going Deeper with Deep Knowledge Tracing
对DKT和PFA,BKT进⾏了模型⽐较,对DKT模型能碾压其他两种模型的结果进⾏了怀疑并加以论证,进⼀步讨论了原论⽂能够得出上述结果的原因,对进⼀步使⽤DKT模型提供了参考。
Incorporating Rich Features Into Deep Knowledge Tracing
对DKT使⽤上进⾏数据层扩展,扩展学⽣和问题层的数据输⼊,包括结合⾃动编码器对输⼊进⾏转换
Addressing Two Problems in Deep Knowledge Tracing viaPrediction-Consistent Regularization
指出DKT模型现存缺点:对输⼊序列存在重构问题和预测结果的波动性,进⽽对上述问题提出了改善⽅法
Exercise-Enhanced Sequential Modeling for Student Performance Prediction
将题⾯信息引⼊,不仅作为输⼊送⼊模型,⽽且将题⽬编码后的向量计算cosine相似度作为atention的socre
A Self-Attentive model for Knowledge Tracing  使⽤Transformer应⽤于知识追踪
《Knowledge Tracing Machines: Factorization Machines for Knowledge Tracing》
使⽤传统的机器学习⽅法 FM 进⾏知识追踪,想法很独特,发表于 AAAI-2019
《Dynamic Key-Value Memory Networks for Knowledge Tracing》
使⽤键值对记忆⽹络进⾏知识追踪,重点学习记忆⽹络是如何动态更新的
《Knowledge Tracing with Sequential Key-Value Memory Networks》 使⽤了改进过的LSTM 和记忆⽹络进⾏知识追踪Graphic neural network for knowledge tracing 该论⽂⾸次将图神经⽹络应⽤于知识追踪,
未完待续。。。。。。
有关DKT实现到了pytorch版本的具体实现
模型代码已经发布在github上,可点击查看和下载具体代码。
或者可以直接通过如下命令直接下载到本地:
具体运⾏和使⽤⽅法参考GitHub项⽬上ReadMe。
项⽬结构-DKT
在DKT⽂件夹下包括两个⽂件夹:KTDataset和KnowledgeTracing。
数据集-KTDataset
KTDataset⽂件夹下有6个常⽤的知识追踪数据集,数据都已经处理成三⾏格式:
第⼀⾏:答题数
第⼆⾏:题⽬编号
第三⾏:答题结果,0表⽰错,1表⽰对
举例:
Note:可根据需要,按照数据格式⾃⾏添加新的数据集。
模型结构-KnowledgeTracing
模型的整个流程都在KnowledgeTracing⽬录下,包括模型、参数设置、数据处理、模型训练和评估,分别在四个⼦⽬录下:model,Constant,data,evaluation。
参数设置-Constant
Constant下主要设置⼀些参数和超参数,超参数也分为四⼤块:数据集存储路径、数据集、题⽬数、模型超参数。
数据集存储路径
1Dpath = '../../KTDataset'
数据集:⼀共包括6个数据集
1 2 3 4 5 6 7 8datasets = {
'assist2009' : 'assist2009',
'assist2015' : 'assist2015',
'assist2017' : 'assist2017',
'static2011' : 'static2011',
'kddcup2010' : 'kddcup2010',    'synthetic' : 'synthetic'
}
题⽬数:表⽰每个数据集⾥⾯题⽬的数量
1 2 3 4 5 6 7 8numbers = {
'assist2009' : 124,      'assist2015' : 100,    'assist2017' : 102,    'static2011' : 1224,    'kddcup2010' : 661,      'synthetic' : 50
}
模型超参数:主要包括所⽤数据集、输⼊输出维度、学习率、最⼤步长、学习周期等。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17DATASET = datasets['static2011']
NUM_OF_QUESTIONS = numbers['static2011'] # the max step of RNN model
MAX_STEP = 50
BATCH_SIZE = 64
LR = 0.002
EPOCH = 1000
#input dimension
INPUT = NUM_OF_QUESTIONS * 2
# embedding dimension
EMBED = NUM_OF_QUESTIONS
# hidden layer dimension
HIDDEN = 200
# nums of hidden layers
LAYERS = 1
# output dimension
OUTPUT = NUM_OF_QUESTIONS
模型实现-model
模型在model⽬录下的RNNModel.py⽂件中实现,模型实际上就是⼀个简单的LSTM⽹络,其结构跟DKT原⽂中所讲述的结构⼀致,在LSTM模型最后添加了⼀个线性层和⼀个sigmoid激活函数。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
maxstep15class DKT(nn.Module):    def __init__(self, input_dim, hidden_dim, layer_dim, output_dim):        super(DKT, self).__init__()        self.hidden_dim = hidden_dim        self.layer_dim = layer_dim        self.output_dim = output_dim        = nn.RNN(input_dim, hidden_dim, layer_dim, batch_first=True,nonlinearity='tanh')        self.fc = nn.Linear(self.hidden_dim, self.output_dim)        self.sig = nn.Sigmoid()    def forward(self, x):        h0 = s(self.layer_dim, x.size(0), self.hidden_dim))        out,hn = (x, h0)        res = self.sig(self.fc(out))        return res
数据处理-data
在data⽬录下包括三个⽂件:readdata.py、DKTDataSet.py、dataloader.py。它们的作⽤分别是定义数据的读取、pytorch框架下的数
据集定义、以及pytorch框架下的dataloader的构造。
readata: 在readata.py⽂件中,定义了⼀个类:DataReader,从名字可以看出这是⼀个⽤来读取数据的类。其中包含两个函数
getTrainData()和getTestData(),分别是⽤来读取训练数据和测试数据。两个函数的定义其实⼀模⼀样,只是名字不⼀样⽤来区分训练和测试数据,这样的写法有些冗余,后⾯会再做⼀些优化。
1
2
3
4
5
6
7
8
9
10
11class DataReader():    def __init__(self, path, maxstep, numofques):        self.path = path        self.maxstep = maxstep        self.numofques = numofques    def getTrainData(self):        ...    def getTestData(self):        ...

本文发布于:2024-09-24 07:21:48,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/4/350514.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:模型   知识   数据   追踪
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议