知识追踪系列之IRT

article/2025/9/28 5:47:16

IRT简介


IRT理论即项目反应理论(Item Response Theory, IRT)。F. Lord在1951年从普林斯顿大学毕业时的博士论文《A Theory of Test Scores》被认为是IRT理论的开端之作。IRT最早使用在心理学领域,目的是做能力评估。现在已广泛应用于教育行业,用于校准评估测试、潜在特征的评分等。

模型介绍

IRT模型是用于评估被试对某一项目或某一类项目的潜在特质。
IRT模型是建立在一定的假设之下:

  • 单维性假设,即假设某个测验只测量被试的某一种能力。
  • 立性假设,即假设被试在每一个项目上的作答反应是相互独立,互不影响的,作答反应只与被试自身的能力水平有关,与其他元素无关。
  • 模型假设,即被试在项目上的正确反应概率与被试的能力水平有一定的函数关系。

IRT有一参数、两参数、三参数模型,三参数模型的数学公式如下:

                                                                               p_{i}(\theta )=c_{i}+\frac{1-c_{i}}{1+e^{-da_{i}(\theta -b_{i}))}}

其中相关参数的定义如下:

参数

定义解释
d常数1.702 
ai项目区分度系数表示项目或题目的区分度,在曲线中影响曲线中部的斜率,当斜率越小,那么就很难将被试的测试分数结果区分开
bi项目难度系数表示项目或题目的难度,在曲线中代表曲线横轴方向的位移,难度系数越大,则被试想要获得比较高的分数就需要比较高的能力
ci项目猜测系数表示即使被试对测试的项目一点先验知识都没有,靠蒙也能蒙对的概率,比如选择题有0.25的概率才对
\theta被试的能力值表示被试在项目或题目所要考核的知识点或能力方面的掌握程度
p_{i}(\theta )被试做对该项目的概率 

 

IRT简化的一参数模型Rasch模型:

                                                                                p_{i}(\theta )=\frac{1}{1+e^{-d(\theta -b_{i}))}}

在Rasch模型中,所有的曲线,其形状都是一样的。实际上,这是不合理的。比如,有两道难度相同(比如难度等于2)的题目,一道是判断题,一道是选择题(4个选项)。对于判断题,即使学渣完全不知道怎么做,也有大约有50%概率能答对,而学霸也是50%左右的概率能答对。对于选择题,学渣大约有25%概率能答对,而学霸仍然是50%左右。因此,选择题比判断题能够更好的区分学霸和学渣,我们称它的区分度(discrimination)更高。

本次实验的数据来自于学生oj题目数据,所有题目都属于同一种类型,因此不需要引入区分度来进行区别。与此同时,蒙对一道oj题目的概率较小,因此猜测系数在本次实验中也不考虑。因此采用Rasch模型进行学生oj做题情况预测。

参数估计

IRT模型的参数估计方法有很多,包括极大似然估计,EM算法,贝叶斯算法等,本文将简单介绍使用极大似然估计方法进行参数估计过程。

  • 极大似然函数

                                                                            L=\prod_{i=1}^{m} p_{i}^{y_{i}}(1-p_{i})^{1-y_{i}}

  • 似然函数求对数

                                                               ln(L)=\sum_{i=1}^{m}y_{i}ln(p_{i})+(1-y_{i})ln(1-p_{i})

  • 求导数(注意这里用的Rasch模型,只有难度系数一个参数)

                                                                            \frac{\partial ln(L)}{\partial \theta }=\sum_{i=1}^{N}(p_{i}-y_{i})b_{i}

  • 梯度下降更新\theta

                                                            \theta ^{+}=\theta -\eta \frac{\partial lnL(\theta )}{\partial \theta }=\theta -\eta\sum_{i=1}^{N}(p_{i}-y_{i})b_{i}

其中\eta表示学习率,pi表示预测值,yi表示实际值。

实验部分

定义Rasch模型函数:

def sigmoid(x,b):return 1.0/(1+np.exp(1.702*(-x+b)))

画出三种难度下的模型函数,其中横坐标为掌握程度,纵坐标为答对的概率

import matplotlib.pyplot as plt
x = np.linspace(0,2*np.pi,500)
y1 = sigmoid(x,1)
y2 = sigmoid(x,2)
y3 = sigmoid(x,3)plt.plot(x,y1,color = 'r',label = 'level1')         #label每个plot指定一个字符串标签
plt.plot(x,y2,'-.', color = 'b', label = 'level2')
plt.plot(x,y3,'--', color = 'g', label = 'level3')plt.legend(loc='best')
plt.show()

梯度更新

#传入dataRecord为做题记录,classLabels为题目难度
def gradAscent(dataRecord,classLabels):dataRecord = np.array(dataRecord)classLabels = np.array(classLabels).transpose()alpha = 0.01maxCycles = 500weights = np.array([1])#通过broadcastfor k in range(maxCycles):h = sigmoid(weights,classLabels)error = (dataRecord - h)weights = weights + alpha*np.dot(classLabels.transpose(),error)return weights

模拟学生数据

data = {"格式化输入输出":{"做题记录":[0,0,1,0,1,0,1,0,0,0,1,1],"题目难度":[1,1,1,1,1,2,2,2,2,2,2,2]},"基本数据类型":{"做题记录":[1,0,0,1,0,1,0,0,1,1],"题目难度":[1,1,1,1,2,2,2,2,2,2]}}

计算结果

dataMat = data["格式化输入输出"]["做题记录"]
classLabel = data["格式化输入输出"]["题目难度"]
gradAscent(dataMat,classLabel)array([1.54495735])

问题发现

1.对于oj数据,经常会出现的情况是学生尝试同一道题目多次才能做对。在多次试错的过程中掌握程度会变得很低,因此就很难预测他在多次试错中做对。也即是说,IRT模型无法体现学生从错误中学习经验,从而做对的特点。

2.一个模型只能对一个学生的一个知识点进行建模,无法反映学生之间、知识点之间的关联。


http://chatgpt.dhexx.cn/article/QZS8sIUy.shtml

相关文章

贝叶斯分类器(上)

目录 一、有关贝叶斯的简介 二、相关数学知识 1.先验概率与后验概率 2.贝叶斯公式 3、最大后验概率 4、最大似然估计法 一、有关贝叶斯的简介 贝叶斯老爷子的名字,很多同学都耳熟能详。估计不少的同学都在数学上被贝叶斯折磨过。贝叶斯在数学方面主要研究概率论…

机器学习常用的分类器比较-实例

这篇学习文章是在上一篇博客(http://blog.csdn.net/july_sun/article/details/53088673)的基础上,从机器学习的四要素(数据,算法和模型,计算机硬件,机器学习平台)角度出发用实例将各…

模式识别之分类器

常见分类器介绍 1、SVM分类器(监督学习分类器) 答:训练样本必须先标识不同类别,然后进行训练。SVM算法就是找一个超平面,对于已经被标记的训练样本,SVM训练得到一个超平面,使得两个类别训练集中…

常用分类器的效果对比

如果把机器学习归为两大类,那么主要的工作可以分为:分类和聚类。而分类任务基本上占整个机器学习或者是数据挖掘领域的70%,可见我们遇到的很多问题,都可以用分类的算法进行解决。机器学习发展到现在,许多被证实有效的分类算法被提…

监督学习之分类学习:线性分类器

监督学习之分类学习:线性分类器 如果想了解更多的知识,可以去我的机器学习之路 The Road To Machine Learning通道 Introduction 分类学习是最为常见的监督学习问题,并且其中的经典模型也最为广泛地被应用。其中,最基础的便是二分类(Binary Classification) 问题…

【线性分类器】线性分类器理论知识

文章目录 一、图像分类任务二、线性分类器:2.1 图像表示:2.2 损失函数:多类支持向量机损失: 2.3 正则项与超参数:K折交叉验证: 2.4 优化算法:梯度下降法(SGD)&#xff1a…

分类器的相关概念

昨天,人民网 发了一条八卦微博,盘点“雨神”(萧敬腾)是如何炼成的。微博称,网友统计发现,在萧敬腾 近年12次主要行程中,有10次他的“现身”让当地下起了雨,下雨的概率为83.3%。 图1 …

二类分类器构造多类分类器

from: http://tech.ddvip.com/2009-03/1238054080112304.html 从 SVM的那几张图可以看出来,SVM是一种典型的两类分类器,即它只回答属于正类还是负类的问题。而现实中要解决的问题,往往是多类的问题(少部分例外&#xf…

KNN分类器

1.1 KNN的主要研究内容 (1)分类器的基本原理及算法内容 (2)利用现有的公开数据集(鸢尾花)实现分类器分类 (3)利用某种评价标准对分类结果进行分析评判 1.2分类的定义…

机器学习学习笔记(三)之分类器

分类器: 输入数据,识别是什么类,可以拓展为更广泛的用途。 将特征数据化,作为判断的依据。 和regression有相似的地方,但也有很大区别,把最好不把classification当作regression做 对于有多个分组的如cla…

分类器

分类器的作用:常规任务是利用给定的类别、已知的训练数据来学习分类规则和分类器,然后对未知数据进行分类(或预测)。逻辑回归(logistics)、SVM等常用于解决二分类问题,对于多分类问题&#xff0…

机器学习-分类-线性分类器

在一个机器学习任务中,如果每一条数据的目标值是离散的,则该任务是一个分类任务。 解决分类问题基本的方法有:线性分类器、决策树、朴素贝叶斯、人工神经网络、K近邻(KNN)、支持向量机(SVM)&am…

加密芯片大对比

市面上加密芯片,让人看的眼花缭乱,本文对各家加密芯片作了分析及对比 https://files.cnblogs.com/files/walta99/%E5%8A%A0%E5%AF%86%E8%8A%AF%E7%89%87%E5%A4%A7%E5%AF%B9%E6%AF%94.pdf 转载于:https://www.cnblogs.com/walta99/p/8484469.html

硬件加密芯片

TF32A09 芯片简介 产品描述 TF32A09系列芯片是同方股份有 限公司计算机系统本部自主研发的一 款高速度、高性能32位信息安全SoC 芯片。该芯片集成了高速的安全算法 和通讯接口,摒弃了传统的数据加解 密处理方式,使数据流加解密速度大 幅提升&#x…

芯片程序保护-常规芯片加密方式

芯片程序为什么要保护 针对于市场上越来越多的芯片解密方案的成熟和扩大,目前很对客户存在一个对于自己的产品会被同行或者其他竞争者抄袭的情况,对于硬件这块通常情况下是无法防止被抄的。但对于电路板的核心芯片和程序部分,是存在一些方式…

ATSHA204A加密芯片攻略——使用篇

ATSHA204A加密芯片是ATMEL公司研发的一款高安全性的,功能丰富的加密IC,使用SHA-256算法进行加密操作,内置16*32字节的slot(EEPROM)可以存储用户数据和秘钥,唯一的9字节序列号用于区分其他芯片,还有512bits的OTP区用于保…

硬件加密芯片介绍

同方股份有限公司计算机系统本部自主研发的一款高速度、高性能32位信息安全S高速加密芯片TF32A09系列。该系列芯片集成了高速的安全算法和通讯接口,摒弃了传统的数据加解密处理方式,使数据流加解密速度大幅提升,适用于高速数据流加密。 TF32A…

STM32芯片加密的方法

stm32加密方法: flash加密 96位ID号加密 96位id号 id校验 反汇编 Id存到数组,程序执行之前与数组之中的ID比较,如果相同继续执行,不同则终止执行 加密步骤: ①设计一套加密算法,利用MCU内部的unique ID作…

加密芯片十大品牌对比

加密芯片十大品牌对比 各大品牌加密芯片厂商都为各自的加密芯片定了型号,用户在进行加密芯片的选型时,如果没有明确的参考依据,很难效率而准确的选取到合适的加密芯片。作者结合自身经验,为大家提供一些简单实用的加密芯片选型建…

芯片加密与解密技术方法

目录: 一、简介 二、硅芯片安全措施的演变 三、总结 ------------------------------------------------------------------------------------------------------------- 一、简介 IC集成电路在早期,除法律和经济外,几乎没有保护措施…