高小鹏,阮 帅,于福洋,童 超
(北京航空航天大学 计算机学院,北京 100191)
在大数据时代下,如何有效利用每时每刻产生的数量巨大的教学数据引起了研究者的关注。如何在如此多且纷杂的教学数据中挖掘出有价值的信息,用以优化教育服务成为数据挖掘的一个热点。不少研究者将数据分析算法与教学数据结合,进行教学数据的挖掘探索。
在传统教学中,文献[1]中利用多种聚类方法将1 278名学生聚类,根据聚类的结果分析学生内在的驱动力以及以后从事研究的潜力。文献[2]利用数据挖掘技术探究课程的改革是否对学生的学习或者其他方面产生影响。文献[3]在关联规则的基础上通过打分函数对所有的学生进行打分,然后选择潜在落后的学生,并向他们推荐课程。文献[4]利用聚类以及决策树的算法帮助学校管理者更好地分配学习资源。文献[5]通过将聚类和关联规则挖掘算法用于学生对教学的反馈信息中,发现教师表现以及行为的潜在倾向性。
针对在线学习系统的数据挖掘,已经取得了很多研究成果。文献[6]将聚类分析应用到在线学习系统中,通过抽取学生行为的特征,对学生在解决问题时的行为进行分析。文献[7]利用聚类算法做数据的前期处理,并且将聚类的结果用于学生群组分类。文献[8]对学生进行聚类,针对聚类发现的不同学生团体,学校将给予不同的指导。文献[9]利用在线系统数据对学生进行聚类以及成绩预测。文献[10]通过关联规则挖掘算法挖掘在线学习系统的日志,根据挖掘出的关联规则主动引导学生的学习活动,并且推荐相关的资料。文献[11]通过关联关系挖掘算法挖掘学生学习中的问题,并且给予相应的建议。虽然已经存在如此多对于教学数据挖掘的研究,但是少有研究者针对教学数据中的课程间关系进行研究。
传统的关联规则挖掘分为两个步骤:第一步是频繁项集挖掘;第二步是强关联规则挖掘。频繁项集挖掘是根据阈值筛选出符合要求的频繁项,主要算法包括Aprori[12]算法和FP-Tree[13]算法。强关联规则挖掘是根据挖掘出的所有频繁项集产生出对应的强关联规则。
关联关系挖掘算法能够挖掘出符合支持度阈值以及置信度阈值的所有规则集合,但是挖掘出的规则集合是“杂乱”的,以致很难直接从挖掘出的关联规则中发现有价值的信息,如对表1 中带有等级性的数据(A、B、C代表的是等级)进行关联规则挖掘。设置支持度阈值为10%,置信度阈值为10%,挖掘出来的关联规则见表2。
由表2可以得到如下信息:这些关联规则可以传递一些信息,如可以知道事务1在A等级下对应事物2等级的最大可能性,但如果关联规则中存在上万条这样的规则,用户将很难直观地得到想要的数据。
表1 事务数据
表2 关联规则
以图1为例,给出相关概念的定义。
图1 规则交叉图
事务等级:如表1中数据,事务中的数据为A、B、C、D。这个数据可以认为是事务的等级,并且定义等级大小为A>B>C>D。
关联规则:形如A→B的式子,左边代表的是事务1的等级,右边代表的是事务2的等级。例如,表2中每个标号对应的记录可以认为是一个规则。
关联规则趋势:如果规则的右侧对应的等级高于规则左侧对应的等级,那么认为规则是上升趋势,如B→A对应的就是上升趋势,反之为下降趋势。
关联规则支持度:设规则X属于规则集合θ,规则X的支持度=规则集合θ中包含X的条数/数据规则的总条数。支持度代表规则X出现的频率,如规则集合中存在1 000条规则,其中含有X的规则有100条,那么规则X的支持度是100/1000=0.1。
支持度阈值:用户定义的支持度的最小值。
规则交叉:两条规则对应的级别是交叉的,两条规则就是交叉的,如图1所示事务1与事物2存在两条关联规则,分别为A→B和B→A,这两个规则是交叉的。
正常规则集合:规则集合中不存在交叉点,整体的规则存在一定的趋势性。
异常规则集合:按照一定的约束,不断将规则集合中引起交叉的规则剔除并添加到新的规则集合中,直到剩余的规则集合变成正常规则集合,这个新的规则集合称为异常规则集合。
规则等级差:按照事务等级中给出的等级大小,根据A对应5、 B对应4、 C对应3、 D对应2,E对应1的映射方式,将规则左右等级映射为数字,等级差代表的是左侧等级对应的数值与右侧等级对应的数值的差。
规则集合趋势:如果规则集合下降趋势规则的支持度和大于上升趋势规则的支持度和,那么该规则集合趋势为下降,相反为上升。
基于关联分析算法挖掘出关联规则存在的不足,即产生大量的离散型细节规则,对规则进行整合再挖掘,将规则整合到特定的模式下,这些模式能够向用户提供更清晰、更有价值的信息,这些模式称为关联模式。关联模式是一类约束,通过约束将关联规则集合划分为满足特定约束的规则集合以及不满足特定约束的规则集合。
本文定义的关联模式包括如下2种模式:①上升与下降模式,反映规则集合中规则的趋势性,上升模式对应的规则趋势都是上升的,下降模式对应的规则趋势都是下降的;②正常与异常模式,按照基础概念定义中对正常规则集合和异常规则集合的定义,将原始的规则集合划分为正常规则集合和异常规则集合。
针对带有等级的数据,利用Aprioir算法获得满足最小支持度的阈值的频繁项集合,由频繁项集产生所有满足最小置信度的关联规则集合。
算法思路:从规则集中不断地抽取单条规则,进行它的等级差计算,如果其等级差大于零,就将它加入上升规则的集合中;如果它的等级差小于零,就将其加入下降规则的集合中,重复操作。给出算法示例如下:图2为原始规则图,根据图2挖掘出图3(a)所示的下降规则,图3(b)所示的上升规则。
图2 规则图
图3 上升模式与下降模式
算法思路:首先计算出所有关联规则的趋势、关联规则集合的趋势和所有关联规则的等级差,根据计算出的等级差查找规则交叉点,如果存在交叉点,就按照以下异常规则选取原则进行选取,将选取到的规则加入异常规则集合中,循环执行,直至剩余规则集合中不再有交叉点。异常规则选取原则:①选择与其他规则交叉最多的规则(如A→E与其他规则交叉最多,则选取该规则);②选择等级差最大的规则;③选择与全局大趋势相反的规则;④选择支持度小的规则。
实验数据来自于北京航空航天大学计算机学院本科学生在校成绩,其中包含590名学生的成绩数据,对应的是40门课程(分为必修课和选修课)。
成绩数据形式:一种是学生该门课程的评级(A、B、C、D);另外一种是学生该门课程的综合成绩(考勤成绩、作业成绩和试卷成绩的加权成绩)。
扫描所有的成绩数据,按照表4中成绩区间对应的成绩等级,将成绩数据离散到相应的等级上,其中85—100分映射到A等级,70—84分映射到B等级, 60—69分映射到C等级,40—59分映射到D等级,39分及以下映射到E等级。
本实验将关联模式挖掘算法应用在数学分析1以及数学分析2两门课程对应的成绩数据上。表3中的数据是学生在数学分析1与数学分析2上离散化后的成绩数据。
表3 成绩数据
图4反映的是上升与下降模式挖掘算法针对表3数据挖掘出的两个规则集合。由图4(a)可以看出有248人从数学分析1到数学分析2出现上升,由图4(b)可以看出有45人出现下降的趋势,整体能够给出的信息是从数学分析1到数学分析2,学生成绩出现上升的比较多。
图5反映的是正常与异常模式挖掘算法针对表4数据挖掘出的两个规则集合。图5(a)代表正常规则集合,图5(b)代表异常规则集合。通过分析正常模式对应的规则集合,可以看出处于不同成绩等级的大部分学生成绩都有所上升,并且针对B、C两个等级来说上升的普遍范围在0~1个等级,而分析异常模式规则集合可以看出相对于正常模式中的规则,异常规则中的规则或者是下降的,或者是上升幅度过大的,而这些规则可为以后分析相应成绩等级下的学生行为提供依据,并且通过挖掘的两种模式对应的学生数量可以看出两门课程存在较强的关联性。如果挖掘出两门关联课程间的正常模式为下降关系,那么就能够对教学工作起到一个预警作用,找到成绩下降原因,更好地指导教学工作,提高教学质量。
图4 上升与下降模式实验数据
图5 正常与异常模式实验数据
通过关联模式中正常与异常模式的挖掘,可以将规则集合划分为异常规则集合以及正常规则集合。如果异常规则集合与正常规则集合对应规则的支持度和比较接近,那么两事务的关联度低,相反关联度高。
本章利用以下方法计算事务间关联度,其中Sim为相关度,N对应的是正常规则集合,D对应的是异常规则集合,Support对应规则集合中的支持度和。
(1)当Support(N)≤Support(D)时,Sim=0。
(2)当 Support(N)≥Support(D)时,利用如下公式计算关联度,Sim值越小,对应的关联度越小;Sim值越大,对应的关联度越大。
本实验中将关联模式挖掘算法以及关联度计算方法应用于教学数据中,计算40门课程两两课程之间的关联度,实验结果见表4;从表中选取部分课程进行演示,针对某一门课程将所有课程与该课程的关联度排序后,选择关联度最高的4门课程显示出来。
按照经验来看,表4中第1行,数学分析2、高等数学2、物理与数学分析1都有着较强的关联,而离散数学与数学分析1的关系无法按照经验知识判断。
表4中第2行,笔者认为挖掘出的与编译原理相关的课程是不准确的。
表4中第3行,这些课程都有着较强的关系。
表4中第4行,该行对应的课程有一定的关联。
表4中第5行,行中课程大部分对应的是硬件方向课程,具有较强的关联。
表4中第6行,这些课程关联较弱。
表4中第7行,模拟电子、数字逻辑以及电路分析与汇编语言有一定的关联,与数据库均属于电子信息类课程。
通过这些实验结果,我们可以看到很多课程之间的关联关系被清晰地表述出来。在教学课程安排中,是否是相关课程一直都是以人的主观来判断的。本实验从以往学生的成绩中挖掘出课程间可能的关系,给课程的安排提供一个数据参考,使课程安排更加科学准确。
实验结果中有些课程的关联符合人们的经验知识,有些不符合人们的经验知识,产生这种误差的可能原因有以下两种。
(1)启发式的算法存在一定的误差性,算法基于的假设是如果两门课程存在强关联性,那么学生在这两门课程上的成绩应该是相当的。算法基于上述假设,通过成绩数据推导出课程相关度,但是学生的学习是一个很复杂的过程,学习过程会受到很多因素的影响,这些影响的因素会使课程间的关联变得不够明显,导致关联度计算的偏差。
(2)两个课程间存在隐含的关联性,并且反映到学生的成绩中,但是这种关联性还没有被认识到,这需要教育学家对课程以及学生的学习习惯进行进一步分析。
通过真实教学数据实验验证,证明关联模式能有效为用户提供清晰的且有价值的信息,并且关联度计算方法能反映课程间的关联关系。关联模式挖掘出的信息在教学分析中能够起到一定的指导作用。通过正常模式的挖掘,教师能够更好地预测某一成绩等级学生的普遍行为,这种行为能够指导教师对课程进行针对性的调整,提高教学质量;同时,在课程关联度上运用的关联模式挖掘能够准确地反映出课程之间的相关性,为课程的分类提供一定的参考。数据挖掘在教学数据的研究上仍具有很大的空间,如何设计更准确的算法对课程进行科学分类,将是我们未来要研究的方向之一。
参考文献:
[1]Dillon A, Stolk J. The students are unstable! Cluster analysis of motivation and early implications for educational research and practice[C]//Proceedings of the 2012 Frontiers in Education Conference. Washington D C: IEEE, 2012: 1-6.
[2]Becker K, Ghedini C G, Terra E L. Using KDD to analyze the impact of curriculum revisions in a Brazilian university[C]//Data Mining and Knowledge Discovery: Theory, Tools, and Technology II. Orlando: SPIE, 2000: 64-66.
[3]M a Y, Liu B, Wong C K, et al. Targeting the right students using data mining[C]//Proceedings of the Sixth ACM SIGKDD International Conference on Knowledge Discovery and Data Mining. New York: ACM, 2000: 457-464.
[4]ERIC. Data mining and knowledge management in higher education-potential applications[EB/OL]. [2017-11-02]. https://eric.ed.gov/?id=ED474143.
[5]Singh C, Gopal A, Mishra S. Extraction and analysis of faculty performance of management discipline from student feedback using clustering and association rule mining techniques[C]//201 1 3rd International Conference on Electronics Computer Technology(ICECT). Washiongton D C: IEEE, 2011: 94-96.
[6]Antonenko P D, Toy S, Niederhauser D S. Using cluster analysis for data mining in educational technology research[J]. Educa tional Technology Research and Development, 2012(60): 383-398.
[7]Blanc L A L, Rucks C T. Data mining of university philanthropic giving: Cluster-discriminant analysis and Pareto ef fects[J].International Journal of Educational Advancement, 2009, 9(2): 64-82.
[8]Hamalainen W, Laine T H, Sutinen E. Data mining in personalizing pistance education courses[EB/OL].[2017-1 1-02]. https://www.researchgate.net/publication/250083654_Data_Mining_in_Personalizing_Distance_Education_Courses.
[9]Jovanovic M, Vukicevic M, Milovanovic M, et al. Using data mining on student behavior and cognitive style data for improving e-learning systems: A case study[J]. International Journal of Computational Intelligence Systems, 2012, 5(3): 597-610.
[10]Lu J. Personalized e-learning material recommender system[C]//Proceedings of the 2nd International Conference on Information Technology for Application(ICITA 2004).Washington D C: IEEE,2004: 374-379.
[11]Hwang G J. A data mining approach to diagnosing student learning problems in sciences courses[J]. International Journal of Distance Education Technologies, 2003, 3(4): 35-50.
[12]Agrawal R, Mannila H, Srikant R, et al. Fast discovery of association rules[J]. Advances in knowledge discovery and data mining,1996, 12(1): 307-328.
[13]Han J, Pei J, Yin Y. Mining frequent patterns without candidate generation[C]//ACM SIGMOD International Conference on Management of Data. New York: ACM, 2000: 1-12.