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测试误差
θabc
0。1292。2392。9820。065
0。0841。8432。9760。056
0。2432。0162。7980。069
0。3241。8042。1330。058
0。1262。1592。5560。027
0。2012。2242。3990。067
0。2882。2462。6170。043
0。1141。7412。8340。065
0。1891。9372。3470。076
0。2492。2952。7450。092
0。2642。3192。4330。065
0。3212。3822。0300。044
0。1052。1362。2310。093
0。1322。0612。2440。023
0。1532。0192。8680。068
0。2792。2702。0420。044
0。2042。1961。8500。099
0。1021。9502。5970。059
0。1051。7321。7090。089
0。2821。7642。3280。072
0。2282。2812。5560。114
0。2562。0891。9610。071
0。2222。4452。0020。093
0。2101。6662。2430。035
0。1381。7432。4410。075
0。2012。4382。0340。080
0。1711。7402。1000。106
0。2462。3072。5940。069
0。1951。5772。5350。057
0。2132。4362。1990。057
[1][2]下一页