知识追踪模型的应用

背景 MOOC

近年来,随着在线学习系统在教育环境中越来越普及,在线学习人数越来越多,教育者不可能追踪每一个学习者的知识状态并提供个性化的学习指导;在线学习系统中的知识需要学习者通过各种冗余信息自我查找,导致学习资源和学习路径多样化但却不一定有效。

从教育研究的角度来看,在线学习系统提供了几个重要的优点,最显著的是留下学习者详细的学习轨迹,提供了调查不同轨迹下学习者行为效能的条件

跟踪的问题本质上

是做时间序列预测(sequence modeling, or sequence prediction)

目的:个性化推荐

为了解决上述问题,一个可以自动追踪学习者知识掌握情况的知识追踪模型对教育者和学习者都是必要的,因为它既可以向教育者

馈学习者知识掌握情况,让教育者更加了解每一个学习者,也可以推断学习者的知识弱点,向学习者推荐高效的学习路径和恰当的学习资源,从而做到因材施教

知识追踪模型

知识追踪模型是模拟学习者知识掌握情况的一个典型模型,由Atkinson 于1972 年首次提出,每个知识点由猜测率、学习率、失误率和学习知识之前的先验概率4 个参数组成(Pardos & Heffernan,2010),并由Crbett 和Anderson (1994) 引入智能教育领域,目前已经发展成为智能辅导系统中对学习者知识掌握情况建模的主流方法。

实际上知识追踪是一种特殊的隐马尔科夫模型(hidden markov model, HMM),每一个节点都通过条件概率表(conditional probability table,CPT) 来量化父节点对自身的影响

研究方向 

(一) 从知识层面分析知识追踪模型的教育应用 

单个知识点和多个知识点两个角度

多知识点的知识层级关系和知识拓扑顺序等知识组合问题

(二) 从学习者层面分析知识追踪模型的教育应用
学习者特性对模型预测精度有影响。在该研究层面也确定了可以提高预测精度的两类方法:模型本身包含的学习者参数特性和学习者学习参与特性

研究表明:

参数特性:赋予学习者不同的先验概率,模型精度不一样;学习过程可能会发生遗忘。(先验知识/学习速率/猜测概率/失误率/遗忘)

参与特性:情绪、态度和参与度

(三) 从数据层面分析知识追踪模型的教育应用

选择不同的数据类型(二进制数据或连续数据)、题目数量和学习者样本量来训练知识追踪模型会导致模型预测精度的差异,所以应该根据不同的需求选择包含需要的知识点维度和学习者维度的数据。不同维度的选取要有相关性,否则会导致数据处理时难以形成逻辑,更多的只能流于表面和片段式分析。 

(四)将知识追踪与其他模型组合应用

展望

知识追踪模型不仅仅应用在自动监督、自动评价和自动反馈等方面,还能向第二导师方向发展,真正实现教育领域的一对一、
个性化和自适应,为教学程序的改善和学习效果的增强寻求可行的途径。

存在疑问 

知识追踪与知识图谱 目前知识追踪只是判断学生的掌握程度以及下道题是否回答正确等 并没有推荐题目

参考资料:知识追踪模型在教育领域的应用:2008—2017 年相关研究的综述*

  • 2
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
知识追踪模型代码的具体实现因应用场景不同而有所区别,以下是一个基于深度学习的知识追踪模型的示例代码: ```python import torch import torch.nn as nn import torch.optim as optim class KnowledgeTrackingModel(nn.Module): def __init__(self, input_size, hidden_size, output_size): super(KnowledgeTrackingModel, self).__init__() self.hidden_size = hidden_size self.lstm = nn.LSTM(input_size, hidden_size) self.linear = nn.Linear(hidden_size, output_size) self.softmax = nn.LogSoftmax(dim=1) def forward(self, input, hidden): output, hidden = self.lstm(input.view(1, 1, -1), hidden) output = self.linear(output.view(1, -1)) output = self.softmax(output) return output, hidden def init_hidden(self): return (torch.zeros(1, 1, self.hidden_size), torch.zeros(1, 1, self.hidden_size)) # example usage input_size = # 输入向量的维数 hidden_size = # LSTM隐藏层的维数 output_size = # 输出向量的维数 model = KnowledgeTrackingModel(input_size, hidden_size, output_size) criterion = nn.NLLLoss() optimizer = optim.SGD(model.parameters(), lr=0.1) # 训练 inputs = # 训练数据集的输入向量 labels = # 训练数据集的标签 hidden = model.init_hidden() for i in range(len(inputs)): model.zero_grad() output, hidden = model(inputs[i], hidden) loss = criterion(output, labels[i]) loss.backward() optimizer.step() # 预测 inputs = # 测试数据集的输入向量 hidden = model.init_hidden() for i in range(len(inputs)): output, hidden = model(inputs[i], hidden) print(output) ``` 该模型使用了一个单层LSTM神经网络,输入向量经过LSTM网络进行处理后,再通过一个线性层输出结果。在训练过程中,使用交叉熵作为损失函数,随机梯度下降作为优化算法。在预测过程中,输入一个新的向量,即可得到该向量所代表的类别。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值