基于协同过滤算法的在线学习结果预测
2018-01-31徐丹路永于化龙
徐丹 路永 于化龙
【摘 要】随着在线教育平台的发展,在学生和在线平台的交互过程中产生了大量的学习数据,为教育数据挖掘提供了数据基础。本文以KDD Cup 2010提供的在线学习数据为研究对象,利用协同过滤算法找到待预测学生的K近邻,进而对该学生的答题结果进行预测,取得了理想的效果。
【关键词】协同过滤;教育数据挖掘;学习结果预测
中图分类号: TP391.3 文献标识码: A 文章编号: 2095-2457(2018)30-0052-004
DOI:10.19694/j.cnki.issn2095-2457.2018.30.022
Student Performance Prediction based on Collaborative Filtering Algorithm
XU Dan1 LU Yong2 YU Hua-long1
(1.School of Computer Science,Jiangsu University of Science and Technology,Zhenjiang Jiangsu 212003;
2.Department of Technology and Informationization,Public Security Bureau of Xuzhou,Xuzhou Jiangsu 221000)
【Abstract】A large amount of learning data is generated during the interactive between the students and online study platforms.The data is captured and stored and consequently used for educational data mining.In this paper,we utilize the collaborative filtering algorithm to find the K nearest neighbours of the test student.The performance of the student will be predicted according to its K nearest neighbours.The experiment is executed on KDD Cup 2010 data set and shows expected results.
【Key words】Collaborative filtering algorithm;Educational data mining;Student performance prediction
0 引言
近年來,随着慕课、edex等在线教育平台的出现和普及,在学生和在线平台的交互过程中产生了大量的学习数据,教育大数据的概念随之兴起。在此基础上产生了教育数据挖掘和学习分析两种相互关联又互有不同的研究领域[1]。
国际教育数据挖掘学会认为教育数据挖掘的主要目的为:利用数据挖掘的方法探索教育数据,帮助更好的理解学生以及学生的学习环境和背景,进而预测学习者群体的学习效果[2]。学习分析则通过搜集教与学过程中的行为数据,并应用机器学习和数据挖掘的方法和模型,从多个维度深度挖掘有价值的数据信息,揭示其中隐藏的学习行为模式,预测学习者的学习结果,从系统角度出发帮助学生、导师和教育管理者做学习和教学决策[3,4]。二者的关键不同在于教育数据挖掘侧重于全自动方法发现教育数据隐藏信息,更多的用于结果预测;学习分析则偏向于采用人为主导的方法分析教育数据,更多的用于为学习行为和现象寻找可解释和可理解的模型[5]。
教育数据挖掘中的主要任务之一是学习结果预测。通过对学生学习行为和学习过程的分析预测未来的结果事件,例如哪些学生可能存在辍学的风险。也可对不能直接采集的数据属性进行预测,如学生的学习成绩。在[6]中,等人开发的Purdue Signals project项目即是采用预测模型进行学生学习结果预测的典型案例,实践证明该系统能够明显的改善教学效果。
本文的主要工作是通过协同过滤算法对在线教育数据进行挖掘,探寻数据之间存在的关联模式,对学习结果进行预测。因此本文的研究重点在于数据的获取和分析以及数据挖掘算法在教育数据中的应用。
1 协同过滤算法
协同过滤算法在电子商务和推荐系统中被广泛应用[7]。其基本思想是,通过对用户历史行为数据的挖掘发现用户的偏好,基于不同的偏好对用户进行群组划分并推荐类别相似的商品。协同过滤算法根据其主体不同可分为两类:基于用户的协同过滤算法和基于商品的协同过滤算法。
本文将协同过滤算法用于学生学习结果预测,将学生看作用户,将学生的学习表现看作项目,采用以学生为主体的协同过滤算法,寻找与目标学生距离最近的K个学生,根据这K个学生的学习结果来预测目标学生的学习结果。
如图1所示,本文算法流程主要包括三个部分,首先计算待分类数据和已知数据之间的相似性,其次根据相似性生成待分类数据的K近邻集合,最后根据K近邻中学生的答题结果预测待分类学生的答题结果。
2 学习结果预测
教育数据挖掘产生的主要原因之一是不断增加的、可分析的教育数据的出现。当学习者通过电子设备与在线学习平台交互时,学习数据便被获取并存储起来以备后用。比较有代表性的教育数据来源于卡耐基梅隆大学的Datashop,其提供了多个与教育相关的公开和私有数据集[8]。另一个具有代表性的数据集是KDD(Data Mining and Knowledge Discovery)Cup 2010提供的关于学生通过在线辅助教学平台学习情况的公开数据集[9]。KDD Cup 2010是为数据挖掘和知识发现竞赛而设置的数据集,有明确的训练集和测试集,其目的是用于学生学习结果的预测。因此,在本文中选用KDD CUP 2010作为我们的实验数据集。
KDD CUP 2010一共有5个数据集,包括3个发展数据集和2个挑战数据集。两个数据集最大的不同是,发展数据集用于参赛算法的测试,其测试集提供真值数据,而挑战数据集用于比赛,其测试集不提供真值数据。我们选择发展数据集中的Algebar I 2005-2006数据集用于实验。通过575名学生在数学学习过程中和计算机辅助教学系统之间的交互数据预测学生最终的答题结果。学生通过计算机辅助教学系统答题,在答题过程中与辅助教学系统之间的交互可分为两种:一是遇到困难可以向辅助教学系统提问,二是答题结束后提交最终答案,学生和教学系统的每次交互称为一个transaction。在学生学习过程中,有四个基本概念,分别为问题、步骤、知识点和学习机会数。其中,问题是学生要解决的基本任务,也可称为练习,通常包括多个步骤,有的步骤可用于解决不同的问题。每个步骤可能包括多个知识点,当然,不同的步骤可以涉及相同的知识点。学习机会数是指学生学习某个知识点的次数,当学生在解题过程中遇到某一知识点,则该知识点的机会数加1。数据集中的特征如表1所示。
导入之后得到的数据示例如表2所示,需要注意的是,为了方便显示我们省略了一些属性。另外,KC是关于知识点的详细描述,所占篇幅较长,我们仅以SkillRule代替。
训练数据集中有19种特征,其中特征7-13、15-17的值在测试数据集中被隐藏,特征14 (Correct First Attempt) 为需要预测的分类特征。因此,在训练过程中也排除了特征7-13和特征15-17。我们将剩下的8种非类别特征分为三类,一是与学生相关的特征,即特征2;二是与题目相关的特征,即特征3-6;第三类是与知识点相关的特证,即特征18和19。在对数据样本进行距离度量过程中采用协同过滤算法,把学生当做主体,即协同过滤算法中的客户,将题目和知识点看作与客户相关的项目。
2.1 相似性度量
距离度量也分为三个部分,学生本身的相似性度量、学习-题目相似性度量和学生-知识点相似性度量。
学生本身的相似性度量,给定训练集Dtr,sp为训练样本中的学生标识号,sq为待分类样本中的学生标识号,则学生自身的相似度为:
学生-题目相似性度量,记学生sp,sq所做的步骤集合分别为Isp,Isq,其做过的相同步骤的集合可表示为,则学生-题目相似度可用Pearson相似性度量[10]方法表示如下:
式中,I是学生sp,sq做过相同步骤的数量,是学生sp提交的第i个步骤的结果,是学生sp在相同步骤上的提交结果的均值。
学生-知识点相似性度量,记学生sp,sq所做的步骤涉及的知识点集合分别为Ksp,Ksq,则相同的知识点集合可表示为,则学生-题目相似度可表示为:
式中,表示学生sp的第k个知识点出现次数。该公式前一项给出了两个学生知识点的交集和并集中知识点数量的比值,后一项给出了对于相同的知识点,其出现次数的差距的倒数。
因此,以学生为主体的两个数据样本之间的相似度可以用公式(4)表示,并将最终的相似性度量进行归一化。
2.2 结果预测
对于待分类的数据记录,计算其和已知数据记录的相似性度量,获取和待分类记录中相似度最高的K个记录,并且按照相似度从大到小的顺序降序排列。
确定待分类记录的最近邻后,即可预测其对应的的答题结果。这里我们采用加权平均的方法,即取该记录的最近邻中K个学生的答题结果的均值,若均值大于0.5,则认为待分类记录的学生的答题结果为1,否则为0。
本文采用均方根误差值RMSE(Root Mean Square Error)评估预测值和真实值之间的差异。记i为一问题步骤,s为学生,则esi表示學生s对于步骤i的答题结果的预测值,gsi表示学生s对于步骤i的答题结果的真实值。RMSE值越小,则预测值与真实值越接近,算法的分类正确率越高。
预测算法在测试数据集Dt上的RMSE可用下式计算:
在测试数据集上的分类正确率和RMSE如图2所示。图中K是表示待测试数据的最近邻数量,分别取5,10和15。从图中可知,当K=10时,其RMSE和预测正确率明显高于K=5时的性能;但相较于K=10,K=15时的RMSE和正确率指标略有改进,但幅度不大。
3 结语
本文首先对KDD Cup 2010提供的数据集进行了详细的分析,在此基础上探讨了协同过滤算法在学生学习结果预测中的应用,并取得了理想的预测结果。下一步工作重点在于构建针对本校学生的学习数据集,进行学习结果分析与预测,据此进行个性化的干预和指导。
【参考文献】
[1]蒋卓轩,张岩,李晓明.基于MOOC数据的学习行为分析与预测[J].计算机研究与发展,2014:1.
[2]Baker RS,Inventado PS.Educational data mining and learning analytics[M]//Learning analytics.Springer,New York,NY,2014:61-75.
[3]Pe a-Ayala A.Educational data mining:A survey and a data mining-based analysis of recent works[J].Expert systems with applications,2014,41(4):1432-1462.
[4]贺超凯,吴蒙.edX 平台教育大数据的学习行为分析与预测[J].中国远程教育,2016(6):54-59.
[5]Siemens G,d Baker R S J.Learning analytics and educational data mining:towards communication and collaboration[C]//Proceedings of the 2nd international conference on learning analytics and knowledge.ACM,2012:252-254.
[6]Arnold K E.Signals:Applying academic analytics[J].Educause Quarterly,2010,33(1):1-10.
[7]荣辉桂,火生旭,胡春华,等.基于用户相似度的协同过滤推荐算法[J].通信学报,2017,35(2):16-24.
[8]Koedinger K R,Baker R S J,Cunningham K,et al.A data repository for the EDM community:The PSLC DataShop[J]. Handbook of educational data mining,2010,43:43-56.
[9]Stamper J,Pardos Z A.The 2010 KDD Cup Competition Dataset:Engaging the machine learning community in predictive learning analytics[J].Journal of Learning Analytics,2016,3(2):312-316.
[10]刘翠翠.协同过滤算法在教育数据挖掘中学生成绩预测的研究[D].昆明理工大学,2016.