计算机系统应用  2018, Vol. 27 Issue (3): 136-142   PDF    
基于认知诊断的协同过滤试题推荐
单瑞婷1, 罗益承2, 孙翼3     
1. 北京邮电大学 国际学院, 北京 100876;
2. 北京邮电大学 信息与通信工程学院, 北京 100876;
3. 中国科学院大学 计算机与控制学院, 北京 100049
摘要:针对协同过滤忽略了学习者的知识点掌握情况(学习状态), 对个性化教育试题推荐中运用的协同过滤算法进行了一定改进研究, 该推荐算法分为三个步骤: (1)结合认知诊断模型, 对学习者所练习题目中反映的知识点掌握情况进行建模分析; (2)利用协同过滤算法, 结合学习者的知识点掌握情况, 来对学习者的表现情况进行相似度分析; (3)根据相似用户的历史行为数据和目标用户的知识点掌握状态, 针对学习者的近邻用户进行试题推荐. 该推荐办法借鉴了群体相似学习者的共性, 也考虑到了个体学习者的独特性, 结合二者来对学习者进行个性化试题推荐, 保证了试题推荐的准确性和性能, 在个性化教育系统中, 结合认知诊断改进了原有的协同过滤算法来对试题做出推荐.
关键词: 推荐系统    认知诊断    奇异值分解    协同过滤算法    个性化教育    
Collaborative Filtering Algorithm Based on Cognitive Diagnosis
SHAN Rui-Ting1, LUO Yi-Cheng2, SUN Yi3     
1. International School, Beijing University of Posts and Telecommunications, Beijing 100876, China;
2. School of Information and Communication Engineering, Beijing University of Posts and Telecommunications, Beijing 100876, China;
3. School of Computer and Control Engineering, Chinese Academy of Sciences, Beijing 100049, China
Abstract: In view of the problem that the collaborative filtering algorithm ignores the learners’ knowledge domain (learning state), this study improves the collaborative filtering algorithm used in the recommendation of personalized education. The recommendation algorithm is divided into three steps. (1) Based on cognitive diagnosis model, the study builds up a model construction analysis of the learner’s knowledge domain based on learner’s response matrix. (2) It Uses the collaborative filtering algorithm, combined with the knowledge domain of the target learners to analyze the learners with similar behaviors. (3) According to the similar learner’s historical behaviors and the target learner’s knowledge domain, the system would recommend testing questions (items) for the target learners. This recommendation method not only draws lessons from the generality of the similar learners of the same group, but also takes into account the uniqueness of the individual learners. The study combines the two to recommend the individualized items for the target learners, which ensures the accuracy and performance of the recommendation method. In the individualized education system, the recommendation method combined with cognitive diagnosis and collaborative filtering algorithm is an improved application.
Key words: recommended system     cognitive diagnosis     singular value decomposition     collaborative filtering     individual education    

随着电子商务和大数据的快速发展, 为了能为不同用户提供其真正感兴趣和需要的个性化服务, 推荐系统在这样的背景下被提出来, 不需要用户额外提供信息, 只需利用用户的历史行为, 便能挖掘出海量数据背后有用的信息. 其中, 协同过滤算法是应用最广泛的一种推荐技术, 根据用户的历史行为数据, 来对每个人的近邻用户进行推荐, 不需要考虑项目的具体内容, 也不需考虑项目涉及的领域知识, 且随着用户时间的推移, 用户的历史行为数据增多, 可不断修正算法的准确率和性能.

在个性化教育系统中, 推荐系统已逐渐受到越来越多教育者的关注, 如何在有限时间内从大量试题资源中给不同学习者推荐真正需要的试题, 是一个急需解决的关键问题. 推荐系统在电子商务领域已十分成熟[1], 但是电子商务领域的关键技术无法直接移植于个性化教育系统, 应该在电子商务领域的域的基础上考虑教育领域的独特性, 并根据相似学习者的历史行为数据, 进行个性化的试题推荐. 另外, 针对协同过滤算法忽略学习者的知识点掌握情况(学习状态)的问题, 本论文改进了个性化教育系统中已有的试题推荐算法, 引入了认知诊断模型(Cognitive Diagnosis Model, CDM)的概念.

CDM广泛用于教学评估、心理鉴定等科学、教育、医疗诊断方面. 认知诊断, 即通过可观察的历史行为来分析被试者不可观察的内部状态. 认知诊断模型的主要任务是分析个体差异, 挖掘被试者更多的内部状态, 以此来对被试者间的共同点来建模. 个性化教育系统中的认知诊断引入了Q矩阵的概念[2], Q矩阵具体说明了题目-属性之间的关系, 从被试者对于不同项目(试题)的响应情况, 可以推断出应答者对不同试题所要求的知识点的掌握程度[3].

在此项目中, 将结合认知诊断模型中对于学习者的知识点掌握情况, 与推荐算法中的协同过滤算法一道, 对相似表现情况的学习者进行相似度分析, 并根据相似学习者之间的知识点掌握情况来对另一相似学习者作出试题推荐. 总结本文的主要工作及改进如下:

(1)结合认知诊断模型, 该算法考虑了教育领域的独特性, 根据学生的历史做题数据, 对其知识点的掌握情况进行了考虑, 并综合相似学生掌握知识点的相似度来对试题做出推荐, 同时考虑了相似群体的共性和个体的独特性. 实验结果可信度高, 结果解释性好, 且覆盖更为全面, 且可扩展性和性能要优于普通的协同过滤算法, 更符合个性化教育系统中的需求.

(2)一方面, 通过该算法可以给目标用户提供个 性化试题推荐, 另一方面, 也可以对未知用户但已知部分做题状况作出分析, 依靠其相似用户的表现来对剩余的做题情况作出预测.

1 相关工作 1.1 认知诊断

CDM是被试项目的反应函数, 将被试可观察的反应模式(ORP)转化为被试知识状态(KS)的数学模型[4]. 认知诊断模型不同于普通的纸笔测验或者计算机自适应测验, 虽然三者都能产生对被试者测验结果的能力报告, 但是认知诊断模型还能产生被试者对所考察知识点的详细掌握情况, 通过认知诊断模型, 从被试者角度, 可以直接了当的看到自己知识点的缺漏和不足, 并为今后的学习提供指导, 从教师角度, 可以掌握不同学生对于知识点的掌握情况, 从而因材施教[5].

在众多认知诊断模型中, 最常见的、应用最广泛的是DINA模型 (Deterministic Inputs, Noisy “And” gate; Junker & Sijtsma, 2001)和规则空间模型(RSM; Tatsuoka, 1995, 2009). 其中, DINA模型依据被试者的表现引入了两个评价因子: 失误和猜对因子, 使得测试结果更接近被试者的真实响应状态, 另外, DINA模型运用了Q矩阵 [6], 判断出被试者的知识域或者说被试者对知识点的掌握程度[7,8].

对于DINA模型而言, 题目反应矩阵R可以由学生掌握属性集合矩阵A和题目-属性矩阵Q[9]得到, 并且, 我们发现, 反应矩阵R其中任一元素R(某测试学生i, 某题目j)可以表示成以下方式:

$R\left( {i,j} \right) = \mathop \prod \limits_{i = 1}^K \alpha _{ik}^{{q_{jk}}} = \left\{ {\begin{array}{*{20}{l}}{1,{\alpha _{ik}} \ge {q_{jk}},k = 1,\rightleftharpoons,K}\\{0,{\alpha _{ik}} < {q_{jk}},\exists k \in \left\{ {1,\rightleftharpoons,K} \right\}}\end{array}} \right\}$ (1)

虽然上式给出了题目反应矩阵R与学生的知识状态矩阵A与题目-属矩阵Q的关系, 但在实际情况中学生对题目的反应矩阵是唯一的可观测量, 而矩阵A与矩阵Q作为隐藏变量无法从数据中直接得到. 也就是说, 至今的理论基本上都是建立于Q矩阵为事先定义好的[10,11]. 从而, 基于观察数据中的Q矩阵和学生对知识点的掌握情况, 由任一已知的另一批学生知识点掌握情况或者另一套题目对于知识点的必需与否情况, 来对另一批学生对同一套题的答题情况或者同一学生群体对于不同套题目的答题情况进行预测. 以此, 根据该预测情况通过个性化学习系统对于学生的薄弱知识点方面进行重点指导.

1.2 协同过滤推荐算法

在个性化教育中, 协同过滤算法应用的核心是通过学生的做题情况, 以此分析学生对某些特定知识点的掌握情况, 并综合不同学生对不同题目的得分来评测学生的相似性, 并以此来预测相似学生掌握某知识点的程度, 并基于相似学生之间的相似度, 并结合相似度评价标准来对学生未掌握的知识点(题目)做出题目推荐.

协同过滤主要分为基于近邻的协同过滤方法和基于模型的协同过滤方法[12]. 基于近邻的协同过滤方法根据学生的答题情况来计算不同学生之间的相似度, 以找到与目标学生相似度最高的学生, 通过该相似学生的得分对目标学生进行得分预测, 并以此进行试题推荐[1316]. 基于近邻的协同过滤方法又可分为基于项目(试题)和基于用户的协同过滤, 从题目或者学生的不同的角度来考虑其相似度, 两者都可以不对推荐项目的具体内容(知识点)进行考虑; 基于模型的协同过滤应用最为广泛, 通过忽略学生响应矩阵中重要性较小的值, 来对原本的高维矩阵进行降维, 学生和试题都看作一对影响因子, 刻画学生和试题在低维空间中的表现程度, 并据此来预测学生在试题上的得分, 进一步根据预测的得分进行试题推荐[3].文献[15]和文献[17]表明, 基于模型的协同过滤方法能根据用户的历史数据构建模型, 克服了数据稀疏性问题, 同时具有很好的精确度和扩展性, 具体方法如奇异值分解(Singular Value Decomposition, SVD)[18,19].

2 基于矩阵分解的协同过滤算法 2.1 算法介绍

针对目前大多数协同过滤算法普遍存在的可扩展性和抗稀疏性问题, 联合传统的SVD的基础上提出了基于SVD的协同过滤算法, 大大减轻了传统协同过滤算法的可扩展性和稀疏性问题[20]. 在本文中给定的R矩阵为具有m个测试学生, n道测试题目的学生做题评分矩阵, 且R∈{0, 1}. R=0代表测试者答错或未作答, R=1代表测试者答对题目. 用SVD算法来分解一个m×n的评分矩阵R, 其中m、n均为正整数, 可分解成为m×m的正交矩阵U矩阵, m×n的对角矩阵Σ和n×n的正交矩阵V矩阵的转置的乘积, 可形象的表示为:

${{\rm R}_{m \times n}} = {{\rm U}_{m \times m}} \times {\Sigma _{m \times n}} \times {\rm V}_{n \times n}^{\rm T}$ (2)

其中, U、V矩阵分别称作左奇异矩阵、右奇异矩阵, Σ矩阵是一个对称矩阵, 矩阵内的元素为奇异值, 在对角线上由上至下依次递减, 而且矩阵内奇异值降低的很快, 在很多情况下, 前10%的奇异值的和就占了总奇异值和的99%以上.

以此, 我们可以通过Σ矩阵的前r个奇异值的方法来对R矩阵进行降维, 保留其r个最大奇异值的右奇异矩阵组成一个r维空间(r×n), 对降维后的R矩阵近似R矩阵进行分析, 消除算法冗余度. 可以通过高维上的特征值分解, 可通过Σ矩阵的前r个特征向量来预测矩阵的主要变换方向, 以此来预测近似矩阵. 近似矩阵R'可表示为:

${{\rm R}_{m \times n}} \approx {\rm R}' = {{\rm U}_{m \times r}} \times {\Sigma _{r \times r}} \times {\rm V}_{r \times n}^{\rm T}$ (3)

式中的 r 的取值原则为, 在奇异值尽可能大的情况下截取r的值, 在接下来的研究中, 我们留下相邻 r 距离不超过50%的奇异值, 而截取的r越接近于n, 我们得到的R’矩阵也就越接近于原始矩阵R.

2.2 算法步骤

如果原始学生-题目评分矩阵为稀疏度较高的高维矩阵, 得到的简化矩阵的维数r远小于原始维度n, 经过降维后的相似性比较只需对两个一维量进行比较, 这大大提高了运算效率, 同时也提高搜索精度, 因此降低了原始数据的稀疏性, 进而使推荐结果更为准确.

3 相似用户评价标准

为了求得用户间的相似性以对相似用户做出试题推荐, 对降维后的学生-题目评分矩阵进行相似度计算, 根据学生与学生、题目与题目之间的相似度来对目标学生做出试题推荐.

3.1 基于SVD分解的相似度比较

对于学生-题目评分矩阵R(m×n), 进行SVD分解得到的矩阵Σ代表多维空间中在各个维度上的权重, 可对Σ进行降维处理. 从公式(4)中看出, 令Σ变为rr列的对角矩阵, 于是, 矩阵U变为m×r, 其行代表学生, 每一行代表每一个学生在r维空间中的一个向量. 矩阵V变为n×r, 其行代表题目, 每一行代表每一个学生在r维空间中的一个向量.

r=2即降维到二维, 则每个学生向量每个题目向量看成二维空间中的一个点. 因此, 通过对每一个学生的响应矩阵R进行降维, 每一道题目被映射成了r维空间中的一个向量, 可以通过衡量向量间的距离来判断学生与学生, 题目与题目之间的各种距离来判断是否相似从而进行推荐.

3.2 相似度的评价

在使用SVD分解后的距离来衡量相似度时, 我们尝试了多种距离, 用实际的数据进行比较, 来寻找一种最为准确的距离进行推荐. 在实验中考虑的是基于用户的协同过滤推荐, 于是可以通过计算矩阵U中向量UiUj的距离(余弦距离)来判断第i个学生和第j个学生是否相似, 距离越小说明相似程度越低. 通过大量数据的实验, 可以求出一个阈值σ(实验中为0.05), 相似度阈值σ则可以通过大量数据进行实验测得, 当距离小于阈值σ时, 说明两个学生在学习状态上是相似的, 故可以依据相似学生的做题情况进行题目的推荐. 反之, 说明两个学生学习状态有差异.

4 实验 4.1 数据集介绍

对于实验数据, 我们采用了三组数据对比, 三组数据均为真实实验的数据. 关于三组数据集的相关信息表1所示.

表 1 三组实验数据的详细数据

DATASET1: 对应536名中学生对于15道减法题的答题情况, 15道题总共考察了5个知识点, 其Q矩阵(试题-知识点)的热力图如图1所示. DATA-SET1在三类数据集中拥有最少的测试者人数, 且试题、知识点个数也较为偏少, 试题-知识点关系也由图1给出, 可以观察到此数据集较为简单, 且不同题目所需的知识点也较为分散, 说明不同题目间所涵盖知识点的差距较大, 可看做初级教育中对于相关初级知识点(如分配律、结合律等)的综合考查. 对于该数据集, 需要仔细设定相似度截取标准, 避免出现过多的相似用户从而影响推荐结果. 该数据还最早用于K. Tatsuoka (1990)的研究中, 其后用于C. Tatsuoka (2002) 和de la Torre and Douglas (2004)等的论文中.

图 1 DATASET1的Q矩阵热力图

DATASET2: 对应757名学生对于23道数学题的答题情况, 23道题总共考察了15个知识点, 其Q矩阵(试题-知识点)的热力图如图2所示. DATASET2在三类数据集中所测试的学生数居中, 而试题数、知识点数最多, 由图2可知, 各个试题考查知识点数较少且较为分散, 而每道试题未考查的知识点大多有所涵盖, 说明该数据集主要针对中高级不相关知识点的一个考察, 更接近于现实情况的真实数据. 对于DATASET2, 需要稍微调整相似度截取标准, 实验证明只有很少的相似度接近与目标用户的相似度. 该数据最早用于Su et al.(2013)的TIMSS 2003小学数学测试.

图 2 DATASET2的Q矩阵热力图

DATASET3: 对应1710名中学生对于17道题的答题情况, 17道题总共考察了4个知识点, 分别是: CM(批评的方法)、II(识别改进)、PP(保护对象)、DG(辨识一般性). 其Q矩阵(试题—知识点)的热力图如图3所示. DATASET3拥有最多的学生数, 但所考察知识点数较少, 试题数适中, 由图3可知, 部分题目考察知识点无交叉, 该数据集适用于考察大数据集下初级教育中不相关知识点(如加减乘除)的单独做题情况. 由于数据集较大, 如何对数据进行降维又不影响对各学生所掌握知识点的分析是一大难点. 该数据来源于Jurich和Brad- shaw (2014)对于SDA6的研究.

图 3 DATASET3的Q矩阵热力图

通过学生对于题目的响应情况, 结合Q矩阵我们可以判断学生对于题目所要求知识点的掌握情况. 例如, 从热力图中可看出, 深色代表做对题目不需要掌握该知识点, 白色代表题目考查此知识点. 对于DATASET1中的第一题(T01)来说, 做对该题需要具备知识点QT1; 对于DATASET2中的第一题(M012001)来说, 做对该题需要同时具备知识点S1、S13、S15.

4.2 实验评测指标 4.2.1 精确率

精确率(precision), 表示推荐结果当中推荐正确的程度. 其定义式如下所示:

$precision = \frac{{TP}}{{TP + FP}}$ (4)

其中TP为推荐试题中学生真正正确作答的个数, FP表示推荐试题中学生错误作答的个数.

4.2.2 召回率

召回率(recall), 针对原本的数据样本而言, 表示的是样本中的正例被预测正确的程度. 其定义式如下所示:

$recall = \frac{{TP}}{{TP + FN}}$ (5)

其中TP为推荐试题中学生真正正确作答的个数, FN表示待推荐试题中学生真正正确作答的个数.

4.2.3 F1值

F1值和精确率、召回率密切相关, 是综合这二者指标的评估指标, 用于综合反映整体的指标, 其定义式如下所示:

$F1 = \frac{{2 \times precision \times recall}}{{precision + recall}}$ (6)
4.3 实验过程及相关算法 4.3.1 对目标用户进行试题推荐

4.3.2 预测不完整评分矩阵并推荐试题

当然我们还可以利用此算法对未知表现状态的学生进行答题情况的预测, 或者对于学生漏做的题目进行答题情况的预测. 说明第一种情况, 当出现一个新的学生, 且我们知道其部分答题的状况时, 也可以使用SVD分解得到其在r维空间中的向量, 再进行新学生与其他已知表现的学生进行相似度比较, 从而进行题目推荐. 可通过以下几步完成:


4.4 实验结果分析 4.4.1 不同缺失值对推荐准确率的影响

表2表示抹去R矩阵中同一目标用户不同数量的缺失值作为测试集, 目标用户原本的答题状态作为验证集, 实验数据显示, 算法得出的相似用户个数会随着缺失值个数的增加而增多, 而当缺失值个数为4的时候推荐结果最为准确, 也就是说, 当未知学生的评分矩阵缺失值个数为4时, 我们预测的该用户的完整R矩阵最接近真实值. 同时, 也验证了基于SVD的协同过滤算法的可靠性.

表 2 同一目标用户不同缺失值个数的测试集对推荐准确率的影响

4.4.2 不同算法下推荐评测指标的比较

接下来我们根据不同测试集, 对传统的认知诊断模型里的DINA模型和基于认知诊断的协同过滤算法进行实验比较, 实验结果如表3所示. 我们有以下结论:

(1) 可以观察到, 考虑了学生对知识点掌握程度的协同过滤算法准确率和召回率均优于传统的认知诊断模型, 并结合目标用户的相似用户的知识点掌握情况来给学生推荐题目, 算法更具可靠性和说服性;

(2) 随着学生数量的增加, 基于认知诊断的协同过滤算法的性能越来越优越, 说明对于现实生活中大量的学生得分情况数据, 该算法能高效准确的对学生掌握知识点的状态进行分析, 并结合协同过滤算法对不同学生做出个性化试题推荐;

(3) 测试集试题比率较少时, 传统的认知诊断模型无法准确对学生知识点状态进行推断, 此时推荐结果波动幅度大, 主要原因为训练数据的减少导致DINA方法中对于学生知识点掌握状态的误差较大.

4.4.3 结果分析

在DATASET1中, 我们抽取了学生A和学生B的做题情况对5个知识点(QT1、QT2、QT3、QT4、QT5)的掌握程度(正确做对需要掌握该知识点的题目个数/需要掌握该知识点的题目个数)进行分析比较, 由图4所示, 可以看出, 学生A对于知识点QT1、QT2、QT4的掌握程度较高, 但是学生A完全没掌握知识点QT5; 然而学生B对于知识点QT5的掌握程度远远高于学生A, 但是对于其余知识点的掌握程度都小于学生A.

表 3 传统认知诊断模型和基于认知诊断的协同过滤算法对于不同测试集的比较(单位: %)

图 4 不同学生对知识点的掌握程度雷达图

接下来, 对学生A、B的R矩阵分别进行SVD分解和数据降维, 将左奇异矩阵和右奇异矩阵分别截取两列, 以此可将每道题目映射成二维空间的一个向量, 并通过相似度排列找出对应的相似用户, 依据相似用户的行为来对目标用户做出试题推荐. 在DATASET1中, 学生A、B的正确率均为50%, 基于知识点掌握程度的认真诊断方法倾向于对学生A集中推荐试题T04、T10、T14, 解决学生A未能掌握知识点QT5的问题, 因为做对该三道题必须掌握知识点QT5, 对其他4个知识点不作要求, 结合协同过滤过滤算法中学生A的相似用户的做题表现, 我们最终对学生A推荐试题T10、T14; 对于学生B, 算法集中于推荐试题T02、T06、T07、T13、T15, 主要考验除了知识点QT5以外的知识点相关题目, 因为做对该五道题必须同时掌握知识点QT1、QT2、QT3、QT4, 结合协同过滤算法中学生B的相似用户的做题情况, 我们最终对学生B推荐试题T02、T06、T13、T15.

另外, 为了避免目标用户与相似用户间掌握的知识点程度的误差, 我们规定, 对于目标用户答题正确但其相似用户答题错误的题, 认为目标用户有未掌握该题相关知识点的可能, 对目标用户做出推荐; 而对于目标用户答题错误但其相似用户答题正确的题, 认为目标用户未掌握该题相关知识点, 也对用户进行推荐.

5 总结与展望

在此篇论文中, 针对个性化教育系统中协同过滤算法无法考虑被试者知识点掌握情况的不足, 提出了结合认知诊断模型、奇异值分解方法(SVD)和近邻模型来研究个性化学习领域下学生评分矩阵R的预测以及题目推荐. 实验分为以下三步: (1)根据目标用户的答题情况, 可以结合认知诊断模型当中的题目—属性Q矩阵来对学生掌握知识点的程度进行计算分析, 并将作为之后试题推荐的借鉴; (2)利用基于SVD的协同过滤算法对测试集中的R矩阵进行分解、降维, 得到了学生和题目在多维空间中的坐标, 并利用相似度计算方法计算其他用户与目标用户直接的相似度, 找出相似用户; (3)根据第(2)步中的相似用户的答题状态来对目标用户做出推荐, 同时也要参考第(1)步中目标用户对各知识点的掌握程度. 从结果来看, 在数据量较大的情况下, 可以进行正确判断相似性并进行推荐. 实验验证, 基于学生认知状态的试题推荐是合理且解释性较高的, 说明基于认知诊断的协同过滤方法是合理可行的.

实验表明, SVD分解可以得到学生掌握知识的范围, 并且具有良好的鲁棒性, 计算出更多推荐信息的同时也保证了推荐的质量. 该方法免除了计算学生或题目间相似度的过程, 算法实现过程简单, 但是不太容易解释理解, 推荐的精确度会受到一定影响. 从实验中可以看到, 虽然对学生特征向量的降维提高了模型的预测精度, 但是对计算机计算能力和内存有一定消耗. 此外, 训练用的学生题目维度较小, 因此怎么优化分解高维度下学生题目的响应是还需研究探讨的问题.

参考文献
[1]
鲁丹. 个性化教育资源推荐系统的设计与实现[硕士学位论文]. 上海: 华东师范大学, 2014.
[2]
Tatsuoka KK. Rule space: An approach for dealing with misconceptions based on item response theory. Journal of Educational Measurement, 1983, 20(4): 345-354. DOI:10.1111/jedm.1983.20.issue-4
[3]
De La Torre J, DINA model, parameter estimation: A didactic. DINA model and parameter estimation: A didactic. Journal of Educational and Behavioral Statistics, 2009, 34(1): 115-130.
[4]
丁树良, 毛萌萌, 汪文义, 等. 教育认知诊断测验与认知模型一致性的评估. 心理学报, 2012, 44(11): 1535-1546.
[5]
任群. 认知诊断测验的应用研究[硕士学位论文]. 合肥: 安徽大学, 2011.
[6]
Liu JC, Xu GJ, Ying ZL. Learning item-attribute relationship in Q-matrix based diagnostic classification models. arXiv:1106.0721, 2011.
[7]
De La Torre J. An empirically based method of Q-matrix validation for the DINA model: Development and applications. Journal of Educational Measurement, 2008, 45(4): 343-362. DOI:10.1111/jedm.2008.45.issue-4
[8]
De La Torre J, Chiu CY. A general method of empirical Q-matrix validation. Psychometrika, 2016, 81(2): 253-273. DOI:10.1007/s11336-015-9467-8
[9]
Liu JC, Xu GJ, Ying ZL. Theory of self-learning Q-matrix. Bernoulli, 2013, 19(5A): 1790-1817. DOI:10.3150/12-BEJ430
[10]
Sun Y, Ye SW, Shi HY, et al. Maximum likelihood estimation based DINA model and Q-matrix Learning. International Conference on Behavior, Economic and Social Computing. Shanghai, China. 2014. 1–6.
[11]
Romero SJ, Ordoñez XG, Ponsoda V, et al. Detection of Q-matrix misspecification using two criteria for validation of cognitive structures under the least squares distance model. Psicológica, 2014, 35(1): 149-169.
[12]
李改, 李磊. 基于矩阵分解的协同过滤算法. 计算机工程与应用, 2011, 47(30): 4-7. DOI:10.3778/j.issn.1002-8331.2011.30.002
[13]
朱天宇, 黄振亚, 陈恩红, 等. 基于认知诊断的个性化试题推荐方法. 计算机学报, 2017, 40(1): 176-191. DOI:10.11897/SP.J.1016.2017.00176
[14]
张潇, 沙如雪. 认知诊断DINA模型研究进展. 中国考试, 2013(1): 32-37.
[15]
Koren Y, Bell R, Volinsky C. Matrix factorization techniques for recommender systems. Computer, 2009, 42(8): 30-37. DOI:10.1109/MC.2009.263
[16]
Linden G, Smith B, York J. Amazon. com recommendations: item-to-item collaborative filtering. IEEE Internet Computing, 2003, 7(1): 76-80. DOI:10.1109/MIC.2003.1167344
[17]
Salakhutdinov R, Mnih A. Probabilistic matrix factorization. Proceedings of the 20th International Conference on Neural Information Processing Systems. Vancouver, British Columbia, Canada. 2007. 1257–1264.
[18]
Billsus D, Pazzani MJ. Learning collaborative information filters. Proceedings of the 15th International Conference on Machine Learning. San Francisco, CA, USA. 1998. 46–54.
[19]
Desmarais MC, Naceur R. A matrix factorization method for mapping items to skills and for enhancing expert-based Q-matrices. In: Lane HC, Yacef K, Mostow J, et al., eds. Artificial Intelligence in Education. Berlin, Heidelberg. Springer. 2013. 441–450.
[20]
赵营. 结合SVD的协同过滤算法研究. 通讯世界, 2016(10): 255.