知识跟踪模型GraphKT

1 知识跟踪Knowledge Tracing的概念


知识跟踪可以用来解决自适应学习问题。如何通过与教学材料的在线互动来有效地跟踪学生的学习进展?知识跟踪可用于量化学生的知识状态,即对教材所涉及的技能掌握水平。用于评估和模拟学生随着时间推移对技能的认知掌握程度。

问题描述:鉴于学生以前在各种技能方面的问题解决序列,与知识追踪相关的预测任务是根据学生过去与在线辅导系统的互动反馈,预测未来反应的正确性(即学生正确解决问题的可能性有多大)。知识跟踪可以表述为一个有监督的学习问题:给定学生在特定学习任务上截至时间 t 的过去交互 XT=(x1,x2,...,xt) ,预测学生在下一次交互 xt+1中的表现。交互 xt=(qt,at) 被定义为一个元组,其中包含学生在时间步长 t 所尝试问题的 KC id qt,而标签 at是一个二进制变量,代表学生是否回答正确。知识跟踪通常试图预测学生在下一个时间步中正确回答问题的概率,即 p( at+1=1|qt+1,XT) 。

知识追踪的改进可以更好地为学生量身定制技能学习建议,从而实现更有效和高效的学习。

2 数据集说明


ASSISTments 2009-10 SkillBuilder https://github.com/CAHLR/pyBKT-examples/blob/master/data/as.csv

其中包含 124 项技能(例如,构建饼图)和大约 525,000 个总二元正确性响应(跨技能汇总正确和错误的比例约为 70/30%)。

该文件包含每个学生-问题的一条记录(例如,如果学生 S 回答了具有两种技能的问题 P,则这两种技能将被折叠成技能 1_ 技能 2 的格式,并在一条记录中表示):

技能构建问题集具有以下特点:

问题基于一种特定技能,一个问题可以有多个技能标记。

学生必须连续答对三个问题才能完成作业;

如果学生使用了辅导("提示 "或 "将问题分解为步骤"),问题将被标记为不正确;

学生将立即知道自己是否答对了问题;

如果学生无法独立解决问题,最后一个提示会给出答案;

目前,该功能仅适用于数学问题集。

3 表达技能图


创建一个明确的图结构来描述学生解决问题序列中技能之间的相互作用,利用图神经网络来构建直接建模这种相互依赖关系的技能嵌入。可以利用类似的“邻近”技能提供的背景来更准确、更有效地评估学生的知识。

构建技能图需要保留学生序列中技能共现和通常访问技能的顺序的信息。可以将有序共现定义为一对两个技能 A 和 B,使得 A 出现在同一学生序列中,并且先于 B 出现。技能图中的节点对应于数据集中的每个技能,存在两个节点之间的有向边(如果它们之间存在非平凡的有序共现率)。程序逻辑包括:计算每个学生序列中有序共现的次数,通过前向共现连接有向图中的节点。

4 GraphKT


GraphKT是一种基于图的响应正确性预测模型,通过序列建模(Transformer架构)解决学生问题序列。GraphKT 利用图神经网络(GNN)构建的每个技能的节点嵌入来表示技能图。可选择 图神经网络模型GCN、GraphSAGE 和 GAT 作为构建节点嵌入的方法。

GraphKT的架构 节点嵌入图来源:https://web.stanford.edu/class/cs224w/slides/05-GNN3.pdf

其中 c_t 表示时间 t 的正确性值,s_t 表示应用于技能图的 GNN 输出的节点嵌入。如图所示将学生序列中 t 时刻的技能指数 sₜ 作为 GNN 的输入,通过固定大小的初始技能嵌入字典进行转换。虽然这一过程依赖于技能指数,因此本质上是转导式的,这并不影响该方法的实际应用,因为 KT 本质上仅限于转导式设置(即我们无法对未知技能进行预测)。

GNN 的输出是学生所尝试的技能的节点嵌入,该节点嵌入与之前的教师强制正确率值(即时间 t - 1)相连接,形成 GraphKT 的输入特征。利用这些输入特征,通过因果转换器进行前向传递,在屏蔽未来值的情况下(即以因果方式)执行多头注意。在每个时间步,对转换器输出应用线性层将其转换为标量,并应用Sigmoid激活将其转换为二进制概率值。

GraphKT 是一种基于图神经网络的知识追踪方法,它利用节点嵌入来模拟技能之间的相互依存关系。

GraphKT 的核心组件包括创建技能图、实现各种图神经网络和训练模型(包括基线模型)。

辅助和实用程序代码的其余部分可访问https://github.com/abadrinath947/GraphKT。

5 参考文献

  1. Corbett, Albert T. 和 Anderson, John R. http://act-r.psy.cmu.edu/wordpress/wp-content/uploads/2012/12/893CorbettAnderson1995.pdf
  2. https://github.com/abadrinath947/GraphKT
  3. https://web.stanford.edu/class/cs224w/ CS224W: Machine Learning with Graphs Stanford / Fall 2023
  4. https://paperswithcode.com/task/knowledge-tracing
  5. https://mp.weixin.qq.com/s/UoWZfz_qgOI17wvNL3cQow 近期知识追踪论文分享
  6. https://mp.weixin.qq.com/s/NzsFkxrG8mYAC_gYNJVbgg【JETDE】 导读 | 知识追踪技术综述 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/549805.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

不借助第三方工具打包QT程序

准备工作: 项目/可执行文件名:QTAppName 打包项目存放的文件名:pack(这个文件名无所谓) 脚本名: copylib.sh(类似ldd命令):用于将.so库文件的依赖项复制并放入自动生…

docker拉取镜像速度慢

解决办法是配置阿里云镜像加速 在docker desktop的docker engine里添加 "registry-mirrors": ["https://owzy8hoh.mirror.aliyuncs.com"] 修改以后重启docker 参考: 【docker】Windows10系统下安装并配置阿里云镜像加速_docker desktop 配置…

Steam平台FPS游戏节来袭,速来免费领取头像、边框和贴纸

首先,活动时间从4月16日持续到4月23日,想领取免费物品的小伙伴们要抓紧时间啦!领取链接就在传送门等你哦。《战地》和《使命召唤》系列没有打折哦,有点遗憾。不过,别灰心,这次活动还是很给力的哦&#xff0…

Hyperledger Fabric

一.Hyperledger Fabric介绍 Hyperledger区块链全家桶 Hyperledger Fabric技术特性 资产 — 资产定义使得几乎任何具有货币价值的东西都可以在网络上交 换,包括从食品到古董汽车再到货币期货。链码 — 链码执行与交易排序的分离,限制了跨节点类型所需的…

Hibernate框架

什么是Hibernate 我们可以从度娘上摘抄这样有关Hibernate的介绍: Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,它将POJO(简单java对象)与数据库表建立映射关系,是一个全自动的orm框架&…

【nnUNetv2进阶】四、nnUNetv2 魔改网络-小试牛刀-加入注意力机制ChannelAttention

nnUNet是一个自适应的深度学习框架,专为医学图像分割任务设计。以下是关于nnUNet的详细解释和特点: 自适应框架:nnUNet能够根据具体的医学图像分割任务自动调整模型结构、训练参数等,从而避免了繁琐的手工调参过程。 自动化流程&a…

LeetCode 80—— 删除有序数组中的重复项 II

阅读目录 1. 题目2. 解题思路3. 代码实现 1. 题目 2. 解题思路 让 index指向删除重复元素后数组的新长度;让 st_idx 指向重复元素的起始位置,而 i 指向重复元素的结束位置,duplicate_num代表重复元素的个数;一段重复元素结束后&am…

入侵检测数据预处理 特征工程 面临的问题

数据预处理 对于分类任务来说,由于原始数据可能存在异常、缺失值以及不同特征的取值范围差 异大等问题,对机器学习会产生影响,因此,在进行机器学习模型训练之前,需要先对数据 进行预处理。数据预处理的主要过程包括数据清洗、去量纲、离散化等。 1.数据清洗 对采集到的数据进行…

如何制作文字gif图?一键快速生成gif闪图

大家在聊天的过程中少不了使用gif表情包,但是大家知道这些gif动图怎么制作的吗?下面就来跟大家分享一下gif动图是如何制作的吧!其实,非常的简单无需下载软件只需要使用gif图片制作(https://www.gif5.net/)工…

QT creator 代码中有中文,提示常量中有换行符解决方案

QT creator 代码中有中文,提示常量中有换行符解决方案 参考视频问题问题解决 参考 感谢感谢,非常感谢,有你,让Qt不再困难,困扰我四年的问题解决了!!! https://blog.csdn.net/m0_45866718/article/details/112389513 视频 https://www.bilibili.com/video/BV1Fp4…

GitHub提交PR

本教程只做开源代码库Github工程提交pr的教程,不做其他的深入的讲解 Github和Gitlab的操作类似,只不过Github叫PR,GitLab叫MR,基本上做法是一致的 以开源项目QuickChat为例 https://github.com/Binx98/QuickChat https://github…

CAN网络管理(网络节点)

什么是CAN的网络节点 网络节点是指连接到CAN总线上的设备或模块,每个网络节点都具有唯一的标识符,称为节点ID,用于在CAN总线上进行通信和识别。 如何判断CAN的网络节点是多少 可以根据DBC来定义查看, 以ADCU为例,域控作为主节点,一般外部的像雷达,camera的数据都是向…

Yolo-world使用

1、安装 python pip install ultralytics 前往官网下载模型:https://docs.ultralytics.com/models/yolo-world/#key-features 我这里使用yolov8s-world.pt举例 最简单的使用示例 if __name__ __main__:model YOLO(model/yolov8s-world.pt)results model.pre…

JCVI-筛选blast最佳结果(生物信息学工具-015)

通常,大家会问我们经过了NR注释,SwissProt注释,那么如何进行,如何挑选最佳比对结果? 同理,存在一个问题,如何挑选最佳的blast比对结果?什么事最优的同源序列? 唐海宝老…

DBUtils工具类的使用

1、DBUtils是什么 为了更加简单地使用JDBC,Apache组织提供了一个DBUtils工具,它是操作数据库的一个组件,实现了对JDBC的简单封装,可以在不影响数据库访问性能的情况下简化JDBC的编码工作量。DBUtils工具要有2个作用。 写数据&am…

力扣周赛392复盘

3105. 最长的严格递增或递减子数组 题目 给你一个整数数组 nums 。 返回数组 nums 中 严格递增 或 严格递减 的最长非空子数组的长度。 思考: 返回什么:返回最长非空子数组的长度。return max(decs_len,incs_len); 但实际上我们只需要用一个变量ans就…

记录PS学习查漏补缺

PS学习 PS学习理论快捷键抠图PS专属多软件通用快捷键 PS学习 理论 JPEG (不带透明通道) PNG (带透明通道) 快捷键 抠图 抠图方式 魔棒工具 反选选中区域 CtrlShiftI(反选) 钢笔抠图注意事项 按着Ctrl单击节点 会出现当前节…

漫步密度森林:借助HDBSCAN实现高效数据聚类

文章来源:navigating-the-density-forest-harnessing-hdbscan-for-advanced-data-clustering 2024 年 4 月 9 日 介绍 在数据科学中,聚类算法是揭示数据集内在结构的重要工具。在这些工具中,基于分层密度的噪声应用空间聚类 (HDBSCAN) 作为…

arm中模/数转换器工作原理以及I2C工作原理

ADC介绍 什么是ADC ADC就是模拟到数字转换器(Analog-to-Digital Converter)的缩写。 它是一种电子设备或模块,S3C2440内部拥有一个ADC外设。用于将连续变化的模拟信号转换为离散的数字信号,以便数字系统(如微处理器、微控制器等)能够对其进行处理和分析。 模拟信号:一…

Spring学习(二)

图解: 2.核心容器总结 2.2.1 容器相关 BeanFactory是IoC容器的顶层接口,初始化BeanFactory对象时,加载的bean延迟加载 ApplicationContext接口是Spring容器的核心接口,初始化时bean立即加载 ApplicationContext接口提供基础的be…