Knowledge Tracing -- 基于贝叶斯的学生知识点追踪(BKT)
目前,教育领域通过引入人工智能的技术,使得在线的教学系统成为了智能教学系统(ITS),ITS不同与以往的MOOC形式的课程。ITS能够个性化的为学生制定有效的
学习路径,通过根据学生的答题情况追踪学生当前的一个知识点掌握状况,从而可以做到因材施教。
在智能教学系统中,当前有使用以下三种模型对学生的知识点掌握状况进行一个追踪判断:
- IRT(Item response theory) 项目反应理论
- BKT(Bayesin knowledge tracing) 基于贝叶斯网络的学生知识点追踪模型
- DKT(Deep konwledge traing) 基于深度神经网络的学生知识点追踪模型
今天我们主要说一下BKT:
BKT是最常用的一个模型,BKT是含有隐变量的马尔可夫模型(HMM)。因此可以采用EM算法或者bruteForce 算法求解参数。
BKT是对学生知识点的一个变化进行追踪,可以知道学生知识点的一个掌握情况变化。
一般有个stop_policy准则,用于判断学生是否经过多轮的做题掌握了相应的知识点。
(Once that probability reaches 0.95, the student can be assumed to have learned the skill. The Cognitive Tutors use this threshold to determine when a student should no longer be asked to answer questions of a particular skill)
(1)首先我们来看一下BKT的模型是如何的:
如下图,是BKT的一个模型,以及对应的4个主要参数,L0,T,G,S。模型需要根据学生以往的历史答题系列情况学习出这4个对应的参数。
BKT是对不同的的知识点进行建模的,理论上来说,训练数据有多少个知识点,就有多少组对应的(L0,T,G,S)参数。
L0:表示学生的未开始做这道题目时,或者为开始连续这项知识点的时候,他的一个掌握程度如何(即掌握这个知识点的概率是多少),这个一般我们可以从训练数据里面求平均值获得,也可以使用经验,比如一般来说掌握的程度是对半概率,那么L0=0.5
T :表示学生经过做题练习后,知识点从不会到学会的概率
G:表示学生没掌握这项知识点,但是还是蒙对的概率
S:表示学生实际上掌握了这项知识点,但是还是给做错了的概率
通过这4个参数,可以构造一个HMM的模型,剩下的事就是训练这个模型

(2)有什么改进的吗?
其实可以发现,这样构造模型,还是非常简单的,模型只是只是简单的针对知识点进行训练,所有的学生都是用的同一个模型。但是学生有好有坏,
因此可以加个节点,不同的学生使用不同的L0。
另外题目的难度也是可以应用到模型的,比如难度系数大的 G S参数就可以不一样。根据难度系数训练多组G S
参考论文:
From Predictive Models to Instructional Policies
Knowledge Tracing -- 基于贝叶斯的学生知识点追踪(BKT)的更多相关文章
- 基于贝叶斯网(Bayes Netword)图模型的应用实践初探
1. 贝叶斯网理论部分 笔者在另一篇文章中对贝叶斯网的理论部分进行了总结,在本文中,我们重点关注其在具体场景里的应用. 2. 从概率预测问题说起 0x1:条件概率预测模型之困 我们知道,朴素贝叶斯分类 ...
- 基于贝叶斯模型和KNN模型分别对手写体数字进行识别
首先,我们准备了0~9的训练集和测试集,这些手写体全部经过像素转换,用0,1表示,有颜色的区域为0,没有颜色的区域为1.实现代码如下: # 图片处理 # 先将所有图片转为固定宽高,比如32*,然后再进 ...
- 基于贝叶斯优化的超参数tuning
https://arimo.com/data-science/2016/bayesian-optimization-hyperparameter-tuning/ 贝叶斯优化:使用高斯过程作为代理函数, ...
- 基于贝叶斯算法实现简单的分类(java)
参考文章:https://blog.csdn.net/qq_32690999/article/details/78737393 项目代码目录结构 模拟训练的数据集 核心代码 Bayes.java pa ...
- Deep Knowledge Tracing (深度知识追踪)
论文:Deep Knowledge Tracing Addressing Two Problems in Deep Knowledge Tracing via Prediction-Consis ...
- Stanford概率图模型: 第一讲 有向图-贝叶斯网络
原文链接(系列):http://blog.csdn.net/yangliuy/article/details/8067261 概率图模型(Probabilistic Graphical Model)系 ...
- 概率图模型(PGM):贝叶斯网(Bayesian network)初探
1. 从贝叶斯方法(思想)说起 - 我对世界的看法随世界变化而随时变化 用一句话概括贝叶斯方法创始人Thomas Bayes的观点就是:任何时候,我对世界总有一个主观的先验判断,但是这个判断会随着世界 ...
- 【原】对频率论(Frequentist)方法和贝叶斯方法(Bayesian Methods)的一个总结
注: 本文是对<IPython Interactive Computing and Visualization Cookbook>一书中第七章[Introduction to statis ...
- 神经网络中的BP神经网络和贝叶斯
1 贝叶斯网络在地学中的应用 1 1.1基本原理及发展过程 1 1.2 具体的研究与应用 4 2 BP神经网络在地学中的应用 6 2.1BP神经网络简介 6 2.2基本原理 7 2.3 在地学中的具体 ...
随机推荐
- 利用fiddler core api 拦截修改 websocket 数据
一般的中间人攻击基本都是拦截修改普通的http协议里面的内容,而对于怎么拦截修改websocket协议传输的内容好像都没有多少介绍. talk is cheap show me the code us ...
- MySQL在x64系统上1067问题解决
最近一个项目需要用到MYSQL,因为以前也弄过,所以就没怎么多想,直接下一个完事了.于是乎果断上官方网站下了一个installer(5.26),修改了一下默认位置和配置,然后一路next,最后在配置完 ...
- linux之awk基础
第一章 1.awk 简介 awk不仅仅时linux系统中的一个命令,而且是一种编程语言,可以用来处理数据和生成报告(excel).处理的数据可以是一个或多个文件,可以是来自标准输入,也可以通过管道获取 ...
- 线状地物图斑化全流程作业(使用ArcMap软件)
一.线状地物调整 1.添加全覆盖图斑数据 2.添加线状地物 3.添加地理图斑 4.添加村界 5.剪裁自己村界的线状地物得(地理处理/剪裁(输入要素为线状地物,剪裁要素为村界,输出要素是得到的新层位置) ...
- RabbitMQ使用注意
1.通常发布者发布结束后会释放Channel,但是消费者由于是异步监听,消费者的Channel不可以释放,否则就断开连接无法监听. 2.当使用默认配置时,ConnectionFactory不指定Por ...
- CodeMirror mode编写
Writing CodeMirror Modes Modes typically consist of a single JavaScript file. This file defines, in ...
- 如何在一个电脑上同时使用两个Git的账号
前言 又需要登录公司的账号,又想在电脑上使用自己的账号. 实现 首先是git config方面的设置,要取消掉原本对于git账号的全局设置. git config --global --unset u ...
- PAT甲题题解-1073. Scientific Notation (20)-字符串处理
题意:给出科学计数法的格式的数字A,要求输出普通数字表示法,所有有效位都被保留,包括末尾的0. 分两种情况,一种E+,一种E-.具体情况具体分析╮(╯_╰)╭ #include <iostrea ...
- DEP
DEP(Data execution protect)数据执行保护,这个功能需要操作系统和硬件的共同支持才可以生效.DEP的原理就是在系统的内存页中设置了一个标志位,标示这个内存页的属性(可执行). ...
- iOS 内存管理-copy、 retain、 assign 、readonly 、 readwrite、nonatomic、@property、@synthesize、@dynamic、IB_DESIGNABLE 、 IBInspectable、IBOutletCollection
浅谈iOS内存管理机制 alloc,retain,copy,release,autorelease 1)使用@property配合@synthesize可以让编译器自动实现getter/setter方 ...