任鸽 杨勇
(新疆师范大学计算机科学技术学院 新疆维吾尔自治区乌鲁木齐市 830001)
在这个信息化时代背景下,近几年国家对教育的不断改革,对科学技术发展的重视、“互联网+”理念的深入贯彻以及新型教学模式的兴起[1],很多的高校也在推广新课程学习系统。
因为现在的课程体制,学生了解课程的学习情况只能通过期末成绩,而教师了解班级的学习情况也只能通过班级期末成绩[2]。对于挂科的学生通知补考时间和地点,学校还需重新通知,然后出考试题和指派监考人员来组织期末挂科的学生,这样就造成了人力和物力上的浪费。如果教师不能及时了解学生课程学习情况,就会造成教学质量低、班级挂科率高的问题。如果学生不能及时了解个人阶段性学习情况,就会出现课程学习效率低的问题。因此,课程预警的产生就是为了能够解决这些出现的问题[3]。
对于高校成绩预警问题,国内外专家和学者做了大量的研究。有基于大数据统计的成绩预警模型,如王德东实现的大数据背景下高校学生成绩预警系统[4];陈玲萍,彭灿华实现的高校学生学习成绩预警系统[5];也有基于数据挖掘算法的,如都娟,翟社平的基于改进Apriori 算法的高校学生成绩预警系统的研究[6]等。
与学生成绩预警相似的学生成绩预测方面也有许多研究,通过对学生成绩的影响因素的分析,从而预测学生的考试成绩。而对应采用的方法也有很多,如吴培[7]采用决策树的方法,通过研究单课程的学习数据,实现对该课程学生成绩的预测,准确率达92%以上。吴兴惠,周玉萍等人[8]提出采用随机森林算法,通过分析学生前几学期的成绩来预测后一学期的成绩,从而分析出了对后续课程影响比较大的前导课程。吕品,于文兵,汪鑫等人[9]通过研究学生的行为特征对学习成绩的影响,选取了参与小组讨论、访问课程资源、课堂举手、缺勤天数等7 个特征构成的特征子集,采用支持向量机(SVM)的方法构建学习成绩预测模型,通过对比试验证明了该方法的有效性,同时也从中得出相应的教学启示。周剑,薛景,韩崇等人[10]提出采用BP 神经网络对学生某课程的期末成绩以及某高中高三学生的高考成绩进行预测,并且在对高三学生高考成绩的预测取得了较高精准度。张彦荣[11]又提出了基于改进灰色神经网络的学生体育成绩预测模型,测试结果表明,该模型能够有效克服传统预测模型不足,具有较高的预测精度。
利用RNN 适合处理和预测具有时间序列性数据的特点,笔者提出一种基于RNN 的高校学生成绩预警模型,通过对学生前期课程成绩的分析,来实现对后一学期课程成绩的预测,进而达到预警的目的。期望能在保证正确性的前提下提高模型的准确率和召回率。
图1:RNN 学生成绩预警模型流程
图2:RNN 预测模型
循环神经网络(Recurrent Neural Network,RNN ),是一类具有短期记忆能力的神经网络。在循环神经网络中,神经元不但可以接收其它神经元的信息,也可以接受自身的信息,形成具有环路的网络结构。
RNN 学生成绩预警模型主要分为4 个步骤:数据采集、数据预处理、数据分析与建模、成绩预警。图1为RNN 学生成绩预警模型流程。
由于本文是需要根据前几个学期的成绩预测下一个学期的成绩,以学生的每个学期作为时间序列,所有本文选取的多(N)对一(1)的RNN 模型。
图2是本文RNN 预测模型所用的结构图。由前几个学期的成绩预测后一个学期的成绩。
为确保实验结果的真实性和可靠性,本文实验选取的是真实数据,数据选取的是我校(新疆师范大学)2012 级-2016 级网络工程专业的所有核心课程的成绩,本文实验数据选取的是我校(新疆师范大学)2012 级-2016 级网络工程专业的所有核心课程的成绩,课程选取由人工筛选。选取数据包括135名学生六个学期的30门课程,共计3375 条记录。在本次实验中,选取90%的样本数据作为训练集,剩余10%的数据记录作为训练集。
本文提出的基于循环神经网络的高校成绩预警模型将学生每个学期的成绩看成时间序列,每个学习选取了5 门课程,所以有5 个输入神经元和5 个输出神经元。通过反复实验,模型的其他参数也都得以确定,模型层数为3 层,隐藏层神经元个数为50,学习率为0.001,迭代次数(epoch)为120 次。
图3:准确率对比图
图4:召回率对比图
图5:F1 值对比图
表1:RNN 和BP 神经网络的各度量指标的比较
为验证本文提出的方法真实有效,本文将传统的基于BP 神经网络的成绩预测方法作为BaseLine,通过大量真实数据进行实验对比分析。在本文中将分类学习任务关注的少数类设为正类,多数类为负类。其中,TP 为真正类,表示将不及格预测为不及格;FP 为假正类,表示将及格预测为不及格;FN 为假负类,表示将不及格预测为及格;TN 为真假类,表示将及格预测为及格。
学生成绩预警应该尽可能地预测出不及格的成绩,减少将及格的学科预测为不及格。所采用的评价指标有准确率、召回率、F1度量
准确率(Precision):又称为查准率,表示正类样例被正确分类的比例,对数据的分布敏感。
召回率(Recall):又称为查全率,表示正类样例被正确分类的完整度,是指分类器对正例分类的“能力”度量,对数据的分布不敏感。
上述的两种度量指标理论上是越高越好,但实际上他们是矛盾的。所以就需要第三个度量指标,它们的调和均值F1 度量(当β取1 时的F 值度量)。它综合考虑了查准率和查全率。
图3,图4分别为RNN 和BP 神经网络对高校学生成绩预测结果的准确率(Precision)和召回率(Recall)的对比分布。从图2中可以明显看出RNN 预测结果的召回率要优于BP 神经网络的预测结果;而图1的准确率随着迭代次数的增加,最后的结果趋于稳定且相差不大。
由于准确率和召回率是一对相对立的度量,所以就需要综合考虑查准率和查全率的另一个度量指标,F1 度量。图5提供了RNN和BP 神经网络的F1 值对比分布曲线。由图5可知,随着迭代次数的增加,两者的F1 值都趋于稳定,且RNN 的F1 值明显高于BP神经网络。
表1为RNN 和BP 神经网络的两种方法构建的高校学生成绩预警模型的准确率(Precision)、召回率(Recall)和F1 值三种度量指标的实验结果。
在这篇文章中,我们提出了一种基于循环神经网络的高校学生成绩预警模型。将学生各个学期的成绩作为时间序列来看待,通过使用循环神经网络模型对每个时间序列进行分析,从而预测下个时间序列的成绩,进而对挂科学生做出预警提示。即对学生以往学科成绩进行分析,从而预测出学生在后一学期内所学的课程是否有挂科情况。
通过实验我们可以看出RNN 网络构建的高校学生成绩预警模型要优于传统的基于BP 神经网络的成绩预测模型,这证明了模型的可靠性和准确性。但整体来看,结果还不尽如人意,准确率还没有达到预想结果,这可能跟数据量不足和数据类别不平衡有关。循环神经网络具有强大的挖掘序列型数据关系的能力,在后续的工作中,我们将继续关注学生成绩预警和深度学习,从而构建出准确率更高的高校学生成绩预警模型。