基于连接论的连续评分IRT模型的项目参数与能力评估_人工神经网络论文

基于联结主义的连续记分IRT模型的项目参数和被试能力估计,本文主要内容关键词为:模型论文,主义论文,参数论文,能力论文,项目论文,此文献不代表本站观点,内容供学术参考,文章仅供参考阅读下载。

分类号:B841.2

1 问题的提出

与经典测验理论相比,项目反应理论(简称IRT)由于具有参数不变性、能进行计算机化自适应测验等优点而受到欢迎[1,2],但是也存在着不少问题,首先是目前比较成熟的、得到广泛应用的IRT软件,如BILOG、MicroCAT等,主要是运用极大似然法或贝叶斯方法进行项目参数和被试能力估计[3],一般都只能处理二值记分的项目,也有少数软件可以处理等级记分的项目,例如MULTILOG,但对于连续记分的项目还缺少估计方法和工具;其次是在运用BILOG、MicroCAT和MULTILOG等软件时往往需要数百人的大样本,而对于小样本则缺少有效的估计方法,因此需要另寻途径来解决这些问题。

2 联结主义理论中的级连相关模型

联结主义理论(或称人工神经网络)是近年来得到广泛关注的认知心理学理论[4,5,6],它一方面可以用来模拟人的认知活动,探讨人类的信息加工机制[7],另一方面可以作为一种工具来分析系统的输入和输出之间的关系,特别是当系统的输入和输出之间难以用显性的数学方程表示时,联结主义模型就可以通过其本身的学习功能,在用一组已知的输入和输出数据对它进行训练以后,就可以在一定程度上掌握了该系统内部的输入和输出之间的关系,即建立了某种模型。如果我们再给这个经过训练的网络模型以新的输入,那么它就可以给出相应的输出值。因此,人们可以利用联结主义模型的这种性质来进行预测和参数估计等活动[8]。

联结主义模型通常由一个输入层、一个输出层和若干个隐含层组成,每一层中含有若干个结点,一个模型中所含的隐含层数目和各层所含结点数目,是由具体问题的性质和复杂程度来确定的。各个结点之间的联结具有一定的权重,它的大小反映了相邻两个结点之间相互影响的程度,在模型被训练的过程中,各结点间的权重得到了调整。

联结主义模型通常可以分为静态型和动态型两种,静态型模型的拓扑结构是实验者在一开始的时候就设计好的,它的训练过程就是调节各结点之间的权重。动态型模型的拓扑结构是在训练过程中不断变化的,它能够随着训练的进行,自动地加入新的隐含结点,同时也调整各结点间的联结权重,这样就可以更快地减少训练误差。

级连相关模型是动态型联结主义模型中的一种[9],它的计算精度较高,运算速度较快。在开始训练时,该模型只有输入层和输出层,处于最小拓扑结构。随着训练过程的进行,它能够根据需要自动地逐个加入隐含结点。该模型的训练分为输出和输入两个阶段交替进行,首先是输出阶段,在这一阶段,模型对联结隐含结点和输出结点间的各权重进行调整,直到误差不再减少为止;然后转至输入阶段,在这一阶段,模型对于联结输入结点和候选隐含结点间的各个权重进行调整,并从中选出其输出变量和网络的误差变量间相关为最大的候选隐含结点,把它装入网络,这样使得每次装入的新隐含结点都能最大程度地影响误差的变化。然后再转至输出阶段,这个过程不断重复,直到达到预定的训练精度。在本研究中,由于无法事先确定模型的拓扑结构,以及为了较快地对模型进行训练和达到较好的训练和测试效果,采用了级连相关模型作为研究的工具。

3 连续记分IRT模型

连续记分IRT模型是二值记分IRT模型的扩展,即它的记分不是按照二值逻辑的全对或全错的方式来进行,而是根据被试答对项目的程度来进行记分,如果全对该题目就得满分。由于各题目的满分值不一样,有的是3分、5分、6分或更高的分数,为了统一起见,可以对它们进行归一化处理,全部转化为0至1的值。这样就可以和下面的三参数逻辑斯谛模型中的P(θ)相一致。Samejima[10]、Muller[11]和Mullenbergh[12]等都对连续记分IRT模型进行过研究,它和二值记分模型一样,可以用正态卵形模型和逻辑斯谛模型表示。对于常用的三参数逻辑斯谛模型,它的表示式为:

P(θ)=c[,i]+(1-c[,i])exp[1.7a[,i](θ-b[,i])]/{1+exp[1.7a[,i](θ-bi)]}

在该模型中,式中的ai、bi和ci分别为第i个项目的区分度、难度和猜测参数,θ为某个被试的能力,P(θ)为该被试答对第i个项目的概率,它的值为0至1,这是一个连续的值。

虽然有些学者对于该模型进行了一些研究,但是他们的研究还只是涉及该模型的性质、信息函数的定义、参数不变性等方面,在具有实用意义的参数和被试能力估计方面还没有成熟的结果。

为了对连续记分IRT模型的参数估计问题进行研究,作者对目前常用的几个IRT软件的算法进行分析[13,14],发现它们的共同特点都是运用统计的方法来进行参数估计,都无法对小样本情况下的IRT连续记分模型进行参数估计,于是作者就决定另辟捷径,在本研究中采用了和常用统计技术完全不同的联结主义模型(人工神经网络)方法。运用统计方法不能完全解决的问题,并不意味着用其它方法就不能解决,其关键问题是常用的统计参数估计方法大多是建立在线性模型的基础上的,而被试的反应和IRT中参数之间的关系是非线性的,因此在运用统计方法进行参数估计时,要采用大样本才能得到较好的结果。而人工神经网络的输出和输入之间的关系本身就是非线性的,特别值得一提的是,本研究把人工神经网络的激活函数设计为S型的Sigmoid函数,它的表达式为

f(x)=exp(x)/[1+exp(x)]

它和上述的三参数逻辑斯谛模型的表示式非常相似,仔细比较一下,就可以看出它实际上就是IRT模型在c[,i]=0,b[,i]=0,1.7a[,i]=1,θ=x时的特例,因此联结主义模型(人工神经网络)的这种输出和输入之间的非线性结构就可以较好地处理IRT中相类似的数据关系。

4 计算机模拟实验的设计和实施

该实验的基本思想是:把一组被试对于一组项目的反应矩阵作为级连相关模型(以下简称为神经网络)的输入,这组被试的能力θ或该组项目的参数a、b和c作为该模型的输出,并且用这些输入和对应的输出值对该神经网络进行训练,经过训练的网络就具备了估计θ,a,b或c的能力。当输入一组新的反应矩阵时,该网络就可以输出所需的被试能力或项目参数估计值。本实验是用计算机模拟方法来考察运用这种方法得到的估计值和真实值之间的误差是否能够达到相当小的程度。

4.1 实验步骤的设计

整个实验分以下几个步骤进行:

(1)运用蒙特卡罗方法产生一组均匀分布的被试能力值θ,一组均匀分布的项目参数值(包括项目区分度a、项目难度b和项目猜测参数c)。被试能力值θ的分布范围为[-3,+3],项目区分度a的分布范围为[0,2],项目难度b的分布范围为[-3,+3],项目猜测参数c的分布范围为[0,0.25]。

(2)根据项目反应模型,让各个模拟的被试回答各个模拟的项目,产生反应矩阵。

(3)将该反应矩阵作为神经网络训练模式的输入部分,用所要学习的项目参数或被试能力作为训练模式的输出部分。若要估计被试的能力,就把反应矩阵中的每一行作为一个模式,因为它恰好是一个被试对于一组项目的反应;若要估计项目参数,就把反应矩阵中的每一列作为一个模式,因为它反映了每一个项目被解答的情况。

(4)用上述训练模式对一组神经网络进行训练,直至达到预定的精确度为止。在本研究中为了统计上的方便,对30个神经网络进行了训练,预定的精确度为网络的目标值和实际输出值之间的误差小于0.001。

(5)用经过训练的神经网络来估计被试能力和项目参数。在本研究中需要估计的被试能力和项目参数的真实值实际上是用蒙特卡罗方法产生的,因此可以计算出估计值(实际输出值)和真实值的误差,称为测试误差,并用下式表示:

式中,T[,p.o]为每个测试模式的每个输出结点的目标值。N[,p.o]为每个测试模式的每个输出结点的实际输出值。p是测试模式的数目,o是输出结点的数目。根据测试误差E的大小,可以看出经过训练的神经网络是否真正可以对项目参数和被试能力进行很好的估计。

4.2 预备实验

由于在正式对神经网络进行训练以前,对于要用什么样的模式来训练没有任何先验的知识,为此先进行预备实验。和正式实验的步骤一样,首先运用蒙特卡罗方法产生25个被试对15个项目的反应矩阵,用这一矩阵和相应的被试能力或项目参数组成4组训练模式,分别用以估计θ,a,b和c。在对被试能力进行估计时,将矩阵的行作为一组神经网络训练模式的输入部分,因为矩阵的一行数据就代表了一个被试对所有项目的反应;相应被试的θ值作为训练模式的输出部分,因为它代表了被试的能力值。在对项目参数进行估计时,将矩阵的列作为一组神经网络训练模式的输入部分,因为矩阵的一列数据就代表了所有被试对一个项目的反应;相应项目的a,b或c值作为训练模式的输出部分,因为它代表了项目的参数值。就用这些训练模式分别对4组神经网络进行训练,这4组神经网络分别对应于被试能力和项目的三个参数,每组有30个网络。然后,再用蒙特卡罗方法产生另外25个被试对另外15个项目的反应矩阵,并用已经训练过的网络对这个反应矩阵估计θ,a,b和c,记录下测试误差。其结果表明,虽然可以进行被试能力和项目参数的估计,但误差较大,无法达到实际应用的精确度。根据神经网络训练的一般规律,估计出现这一情况的原因有两条,一是训练模式太少,二是训练模式和测试模式之间没有任何联系,即没有用“锚题”或“锚人”把它们联系起来,改进的方法可以是增加训练模式,或运用一定的“锚题”或“锚人”方法,在本研究中先用“锚题”的方法进行试验(具体方法在进行正式实验时详述),试验的效果很好,然后进行下面的正式实验。

4.3 正式实验

(1)步骤1:产生训练矩阵和测试矩阵

运用蒙特卡罗方法产生25个被试(称为第一组被试)对45个项目(称为第一组项目)的反应矩阵(称为第一矩阵),这一矩阵在下面的实验中将作为测试矩阵;从该45个项目中随机取出15个项目(称为第二组项目),再用蒙特卡罗方法产生另外25个被试(称为第二组被试),令它们和上述随机取出的第二组项目起反应,产生另一个反应矩阵(称为第二矩阵),用它作为训练模式的一部分,由此可见,训练矩阵和测试矩阵之间有15个项目作为“锚题”,如下面图1所示。

图1 被试、项目和反应矩阵

图1中的第三组项目和第三矩阵将在下面作解释。

(2)步骤2:建立能力训练模式

用“第二矩阵”中的每一行作为一个模式的输入,其相应的25个第二组被试的能力值作为输出,组成能力训练模式,对一组神经网络(共30个,称为第一组神经网络)进行训练。

(3)步骤3:建立能力测试模式并进行测试

将“第一矩阵”中的每一行作为一个模式的输入,相应的第一组被试的25个能力值作为输出,组成能力测试模式,用上述经过训练的第一组神经网络对其进行测试。这时,实际上是神经网络对第一组被试的能力值进行估计。然后,将估计值和真实值进行比较,记录下测试误差,如表1左边第1列所示,要注意的是,表中记录的是30个网络的测试误差实际值,根据公式可见,它是所有输出结点和所有测试模式的误差总和。由于本研究中只有一个输出结点,有25个测试模式(因为有25个被试),因此要将表中的测验误差实际值除以25,得到对单个测试模式的测试误差,然后,再计算其平均数M和标准差SD,结果如表2所示,可以看出测试误差是比较小的。由此可见,当测试模式中有部分项目(本例中为15个项目)和训练模式相同时,经过训练的神经网络可以对被试的θ进行很好的估计。应该指出的是,测试模式和训练模式中没有被试是重复相同的,这说明经过训练的神经网络确实可以对新的被试进行能力估计。

表1 测试误差

θa

b c

0.129

2.239

2.982 0.065

0.084

1.843

2.976 0.056

0.243

2.016

2.798 0.069

0.324

1.804

2.133 0.058

0.126

2.159

2.556 0.027

0.201

2.224

2.399 0.067

0.288

2.246

2.617 0.043

0.114

1.741

2.834 0.065

0.189

1.937

2.347 0.076

0.249

2.295

2.745 0.092

0.264

2.319

2.433 0.065

0.321

2.382

2.030 0.044

0.105

2.136

2.231 0.093

0.132

2.061

2.244 0.023

0.153

2.019

2.868 0.068

0.279

2.270

2.042 0.044

0.204

2.196

1.850 0.099

0.102

1.950

2.597 0.059

0.105

1.732

1.709 0.089

0.282

1.764

2.328 0.072

0.228

2.281

2.556 0.114

0.256

2.089

1.961 0.071

0.222

2.445

2.002 0.093

0.210

1.666

2.243 0.035

0.138

1.743

2.441 0.075

0.201

2.438

2.034 0.080

0.171

1.740

2.100 0.106

0.246

2.307

2.594 0.069

0.195

1.577

2.535 0.057

0.213

2.436

2.199 0.057

(4)步骤4:建立项目参数训练模式

当估计项目参数时,将“第一矩阵”中的每一列作为一个模式的输入,因为每一列都代表所有被试对一个项目的反应情况,于是可以将与各列相应项目的a、b或c作为输出,组成项目参数训练模式,用该模式对一组神经网络(共30个,称为第二组神经网络)进行训练。

(5)步骤5:建立项目参数测试模式并进行测试

用蒙特卡罗方法产生15个项目(称为第三组项目)的参数a、b、c,并用原先已经产生的第一组被试的θ值对它们起反应,产生反应矩阵(称为“第三矩阵”)。然后,将“第三矩阵”中的每一列作为模式的输入,相应的15个项目的参数a、b或c作为输出,组成测试模式。用经过训练的第二组神经网络对其进行测试,也就是由神经网络对第三组项目进行参数估计,然后将估计值和真实值进行比较,记录下测试误差,如表1的2、3、4列所示。和对θ估计的测试误差一样,它是所有测试模式的误差之和。这里共有15个测试模式(即上述的第三组项目)。因此要把表1中的的2、3、4列数字除以15,再求平均数M和标准差SD,得到结果在表2中。

表2 单个模式测试误差的平均数和标准差

统计项 θ

a b c

M

0.0027

0.13790.1586 0.0045

SD 0.0009

0.01740.0227 0.0015

4.4 减少项目参数的测试误差的实验

从表2的数据可以看出,上述方法对于θ的估计已经达到了较好的精度,但对于a、b和c的估计误差仍然比较大。于是再用增加训练模式的方法来试图减少测试误差。上述在训练第二组神经网络时,是用“第一矩阵”中的每一列作为模式的输入,该矩阵共有45列,相应于第一组的45个项目。现在将这组项目扩大,即增加到60个,75个,90个和105个,这些项目的参数都是用蒙特卡罗方法产生的。然后,拿第一组25个被试的θ值和它们起反应,用产生的反应矩阵和相应的项目参数作为训练模式,对30个神经网络进行训练,并重复上述步骤4和步骤5,得到在各种不同数量的训练模式条件下的a、b和c的单个模式测试误差的平均数M和标准差SD,如表3所示。从表中数据可以看出,随着训练项目数的增加,对项目参数a、b和c的测试误差都有明显降低,当项目数达到105时,基本上已经可以接受参数估计的结果了。

从上面的讨论可以看出,在该计算机模拟实验中,共有两组被试,第一组被试是用于能力测试模式的,第二组被试是用于能力训练模式的;该实验中有三组项目,其中的第二组项目是第一组的一部分,第一组项目用于项目参数训练和能力测试模式的,第三组项目是用于项目参数测试模式的,第二组项目是用于能力训练模式的;该实验中有三个反应矩阵,其中的第一矩阵又被分为左、右两个部分,左部分是由被抽取出来的第二组项目产生的,右部分是由其余项目产生的,第二矩阵的“行”作为能力训练模式,第一矩阵的“行”作为能力测试模式,第一矩阵的“列”作为项目参数训练模式,第三矩阵的“列”作为项目参数测试模式。

4.5 实际测验中的被试能力和项目参数估计步骤小结

上述的实验是在计算机模拟的情况下了产生的各组被试能力和项目参数,在实际的测验情况中,可以按照以下步骤来进行测验编制以及被试能力和项目参数估计:

(1)在已知项目参数的题库中取出若干个项目(类似于上述模拟实验中的第二组项目,这些项目可以是二值记分的,它可以事先通过BILOG等估计得到),再加上自行编制的、未知参数的若干项目(类似于上述模拟实验中第三组项目),混合后组成实际的测验试卷。

(2)用这一试卷对一组真实的被试(类似于上述模拟实验中的第一组被试)进行测试,得到一组实际的结果。

(3)用蒙特卡罗方法产生一组被试的能力值(类似于上述模拟实验中的第二组被试),令它和真实试卷中的已知项目参数的那部分项目(类似于上述模拟实验中的第二组项目)起反应,得到反应矩阵(类似于上述模拟实验中的第二矩阵)。

(4)用这一矩阵和这组蒙特卡罗方法产生的被试能力值组成能力训练模式,对一组神经网络进行训练。

(5)用真实的测验结果矩阵的每一行作为一个模式的输入部分,输入上述经过训练的神经网络,其输出就是真实被试的能力估计值。

(6)运用蒙特卡罗方法产生一组项目参数,根据上述的模拟实验,大约要有100个项目的参数,令真实被试的能力估计值和它们起反应,得到一个反应矩阵(类似于上述模拟实验中的第一矩阵右部分)。用这个矩阵中的每一列和相应的蒙特卡罗方法产生的项目参数组成训练模式,对另一组神经网络进行训练,使之具有估计项目参数的功能。

(7)将这一经过训练的神经网络对真实测验中未知参数的那部分项目(类似于上述模拟实验中的第三组项目)进行参数估计,从而得到这些项目的参数估计值。

至此,就把实际的被试能力和项目参数估计出来了。对照上述模拟实验的图1,其中的第一矩阵左部分和第三矩阵是由真实测验的数据产生的,第一矩阵的右部分和第二矩阵是用蒙特卡罗方法产生的。

5 讨论

5.1 该方法的优点

(1)提出了一种全新的IRT项目参数和被试能力的估计方法,以往的方法都是建立在统计基础上的,而该方法则是建立在联结主义理论(人工神经网络)基础上的。

(2)以往的方法多数只能对二值记分的IRT模型进行参数估计,本研究中的方法则可以对连续记分的IRT模型进行参数估计。由于人工神经网络有很强的学习功能,因此从理论上讲,它也可以用于等级记分和二值记分的IRT模型,当然,这有待于进一步的实验研究。

(3)本研究中用于估计被试能力的样本只有25人,用于估计项目参数的样本只有15个项目,都属于比较小的样本,这说明该方法可以用于小样本的情况,这是以往方法所不能解决的。虽然在对神经网络训练时可能要用到较多的训练模式,但这些模式是可以用蒙特卡罗方法产生的,并不要扩大实际的测验样本。

(4)在使用一般的统计方法处理小样本的数据时,确实存在着参数估计的可靠性问题,但是本实验的研究表明,在运用与统计方法完全不同的联结主义(人工神经网络)方法处理数据时,就有可能克服这一困难。这是什么原因呢?在对人工神经网络理论进行深入探讨以后[15~17],可以发现神经网络在对IRT参数进行估计时,并不是一开始就直接根据原始数据来估计参数,而是先对一组神经网络进行训练,使它们首先具备了这方面的知识,然后再用训练过的神经网络对IRT参数进行估计,这种参数估计的可靠性如何,并不取决于被估计的样本的大小,而是取决于对这些神经网络进行训练的样本的数量、质量以及神经网络的拓扑结构和算法。在这其中,训练模式是研究者运用蒙特卡罗方法产生的,它本身并不是一个小样本,而是一个比较大的样本;产生这些数据的模型就是IRT模型本身,因此数据本身的质量是有保证的。关于神经网络的拓扑结构,在大多数情况下是要通过预测和调整学习率等参数来确定隐含层的数量和其中每一层的神经元的数量,但由于本研究采用的是级联相关模型,它可以根据反传误差的大小自动地调整网络的拓扑结构和联结权重,因此可以自动地建立优化的网络结构,不再需要考虑学习率等问题;另外在人工神经网络的训练过程中,本研究的程序设计也使得只有误差达到预定的很小的数值时,训练过程才停止,这就保证了被训练过的神经网络是较高质量的。由此可见,联结主义(人工神经网络)模型是采用了和一般统计技术完全不同的思路和方法,它对IRT参数估计的可靠性主要不是取决于被估计样本的大小,而是依赖于经过训练的神经网络的质量,因此我们只要采取一定的措施将神经网络训练好,就有可能对小样本的IRT数据进行可靠的参数估计。

5.2 需要进一步研究的问题

(1)首先是在编制测验时,需要一部分已知项目参数的二值记分题目,这对于已经建立题库的学科来说是可以做到的,但对于尚未建立题库的学科,就无法运用这一方法。虽然可以用BILOG等软件对有关的二值记分项目进行参数估计,但如果没有BILOG等软件又该怎么办呢?要解决这个问题,需要构造更加复杂的神经网络模型,笔者目前正在构造“基于知识的级连相关模型”,并试图用它解决这一困难,实验结果将另文阐述。

(2)该方法要求实际的测验中有一部分作为锚题的项目是已知参数的,那么这一部分锚题至少应该是多少项目呢?它们占整个测验的比例至少要达到多少呢?本实验表明若锚题数量为15,它们在整个测验中所占比例为三分之一,就可获得良好结果,那么少于15个项目行不行?低于三分之一的比例行不行?笔者也正在作进一步的实验。

(3)本研究中用蒙特卡罗方法产生虚拟的被试能力和项目参数,那么它们的分布应该是什么形式为最好?人工神经网络的理论认为是均匀分布为最好,因此在本研究中采用了均匀分布。但是在对实际数据的分析中,有些数据是由真实的被试和项目产生的,不可能保证他(它)们呈完全的均匀分布,那么这种偏离均匀分布的情况对于估计值的误差有多大影响?另外,是否可以减少虚拟数据数量甚至取消虚拟数据,而完全采用真实的数据?也需要进一步探讨。

虽然有待于进一步研究的问题还很多,但这一实验毕竟提出了一种新的、有一定应用价值的方法。

标签:;  ;  ;  ;  ;  ;  ;  

基于连接论的连续评分IRT模型的项目参数与能力评估_人工神经网络论文
下载Doc文档

猜你喜欢