SAKT:self attentive knowledge tracing知识跟踪模型

2023-05-16

1 简介

本文根据2019年《A Self-Attentive model for Knowledge Tracing》翻译终结。

SAKT:self attentive knowledge tracing.

知识追踪(Knowledge tracing)的任务是模拟每个学生在一系列学习活动中对知识概念的掌握情况。最近几年,基于RNN(Recurrent Neural Networks)方法,如 Deep Knowledge Tracing (DKT) 和Dynamic Key-Value Memory Network (DKVMN) 取得了很好的结果。但是这些模型有个问题是,不能很好的处理稀疏数据,毕竟真实世界中,有些学生只进行很少部分的知识概念交互,或者说我们只有这些学生很少的学习数据。

我们的模型SAKT可以很好的处理数据稀疏的问题。

2 介绍

在这里插入图片描述

DKT模型的解释性差。
DKVMN具有更好的解释性:key:知识概念矩阵,value:知识状态表达矩阵。
但这两个模型都不能很好的泛化处理稀疏数据。

SAKT首先识别学生过去所有交互的相关性,然后预测学生的表现。比如学习方程前,学生要先掌握加减乘除。

3 方法

在这里插入图片描述
E:整个练习的数量

Embedding layer

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

Feed Forward layer

加入FF层,引入非线性变换。

在这里插入图片描述

预测层:

在这里插入图片描述

损失函数:

在这里插入图片描述

4 实验结果

可以看到SAKT模型效果很好。对于ASSISTChall 数据,DKT也很好,主要是因为该数据不稀疏。
在这里插入图片描述

5 Ablation Study

No Positional Encoding (PE),No Residual Connection (RC),No block: When no self-attention block is used。

在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

SAKT:self attentive knowledge tracing知识跟踪模型 的相关文章

  • PyTorch中 nn.Conv2d与nn.ConvTranspose2d函数的用法

    原文链接 1 通道数问题 xff1a 描述一个像素点 xff0c 如果是灰度 xff0c 那么只需要一个数值来描述它 xff0c 就是单通道 如果有RGB三种颜色来描述它 xff0c 就是三通道 最初输入的图片样本的 channels xf
  • Python中LSTM回归神经网络的时间序列预测

    原文链接 这个问题是国际航空乘客预测问题 xff0c 数据是1949年1月到1960年12月国际航空公司每个月的乘客数量 xff08 单位 xff1a 千人 xff09 xff0c 共有12年144个月的数据 网盘链接 提取码 xff1a
  • pip安装时 fatal error C1083: 无法打开包括文件: “io.h”: No such file or directory

    原文链接 使用pip安装模块 xff0c 出现错误 xff1a c users anaconda3 include pyconfig h 68 fatal error C1083 无法打开包括文件 io h No such file or
  • linux 程序被Killed,查看原因

    原文链接 1 查看信息 xff1a 输入以下程序 xff1a dmesg egrep i B100 39 killed process 39 可以输出最近killed的信息 2 设定kill优先度 xff1a xff08 1 xff09 完
  • Kafka的幂等性与事务性理解

    最近在深入理解Flink的Exactly Once xff0c 发现Flink Checkpoint只能保障Flink程序内部的一致性 xff0c 无法保证Sink到外部系统的Exactly Once语义 但是Sink到外部如果实现了Two
  • 为什么不直接操作State,而是要额外定义一个变量

    最近浏览Flink文章的时候发现一个现象 xff0c 就是在操作State的时候 xff0c 很多文章里面并不会直接操作State xff0c 而是会定义一个相似的变量去操作 xff0c 在 snapshot 和 recover 的时候讲变
  • 了解下SparkSQL中的笛卡尔积

    虽然应该尽量避免使用笛卡尔积 xff0c 因为要全量匹配 xff0c 所以运算的效率十分低下 xff0c 但是有些业务有必须得用 xff0c 所以在此了解下SparkSQL中的笛卡尔积 SparkSQL中计算笛卡尔积时有两种Join方式 x
  • 在Redis集群模式下使用pipeline进行批量操作

    最近开始又接触到了Redis xff0c 之前在工作中使用Redis的时候 xff0c 由于QPS不高 xff0c 都是直接get set搞定了 这次遇到的业务数据量比较大 xff0c 更新也很频繁 xff0c Redis使用是集群模式 x
  • RDD计算时是把数据全部加载至内存么

    RDD的本质 RDD的本质是一个函数 而RDD的变换不过是函数的嵌套 RDD有两类 输入的RDD 典型如KafkaRDD JdbcRDD转换的RDD 如MapPartitionsRDD RDD的处理流程 以如下代码为例 sc textFil
  • mysql中limit用法详解

    Mysql中limit的用法详解 在我们使用查询语句的时候 xff0c 经常要返回前几条或者中间某几行数据 xff0c 这个时候怎么办呢 xff1f 不用担心 xff0c mysql 已经为我们提供了这样一个功能 xff0c 尽管语法逻辑很
  • 练习代码遇到的零碎知识

    一 xff0c c 43 43 中使用malloc 时 xff0c 出现error malloc was not declared in this scope 1 书写错误 2 没有引用相应的库 解决方法 xff1a 引入stdlib h库
  • ThreadLocal是干嘛用的?

    ThreadLocal是通过将变量设置成Thread的局部变量 xff0c 即使用该变量的线程提供一个独立的副本 xff0c 可以独立修改 xff0c 不会影响其他线程的副本 xff0c 这样来解决多线程的并发问题 ThreadLocal主
  • linux下命令清空回收站

    命令行强制清空回收站 回收站其实就是一个文件夹 xff0c 存放被删掉的文件 ubuntu 回收站的具体位置是 xff1a HOME local share Trash 进到这个目录下直接rm掉所有文件 xff1a sudo rm fr H
  • python语言print()用法应用详解 及格式化输出

    目录 一 print 函数概述 1 1print基本语法 xff1a 1 2 print参数的具体例子 1 2 1 objects基本语法 1 2 2 sep基本语法 1 2 3 end基本语法 1 2 4 file的基本语法 二 格式化输
  • 数据容器(序列)的切片

    目录 1 序列 2 序列的常用操作 切片 2 1 基本语法 2 2 例子 3 序列的切片实践 1 序列 序列是指 xff1a 内容连续 有序 xff0c 可使用下标索引的一类数据容器 列表 xff0c 元组 xff0c 字符串 xff0c
  • 一、Win10+非英伟达显卡+Anaconda+Pytorch安装

    目录 一 Python 二 显卡 2 1查看显卡类型 2 2显卡类型简介 2 2 1显示 2 2 2 呈现 三 安装Anaconda 3 1 安装Anaconda 3 2 创建pytorch环境 四 安装Pytorch 4 2镜像安装 xf
  • ssh: error while loading shared libraries: libcrypto.so.1.1: cannot open shared object file: No such

    问题描述 xff1a ssh及ssl服务升级后普通用户使用scp及ssh命令报以下错误 xff1a ssh error while loading shared libraries libcrypto so 1 1 cannot open
  • 搭建Swin-Transformer-Detection

    前提条件 CUDA10 1Pytorch1 7 0python3 8 下载Swin Transformer Detection源码 git clone https github com cnpmjs org SwinTransformer
  • Python 创建目录(文件夹)/多层目录(文件夹)

    Python 创建单层目录 span class token comment 导入内置os模块 span span class token keyword import span os span class token comment 创建
  • Windows中文账户名修改为英文

    原理 xff1a 使用第三者管理员账户对当前中文名管理员账户的名称进行修改 1 创建新的管理员账户 在Windows开始菜单处点击右键 xff0c 选择Windows PowerShell xff08 管理员 xff09 xff0c 输入以

随机推荐