基于BP 神经网络的高校学生成绩预测
2021-09-06姚明海李劲松
姚明海 李劲松 王 娜
(渤海大学 信息科学与技术学院,辽宁 锦州 121013)
1 研究背景
基于OBE(Outcomes-Based Education)的教学模式,是一种强调以学生为主体,聚焦学生最终学习成果的革新教学模式,对引导高校教师改进教学方法,改善教学效果,提升教学质量具有重大的现实意义。学习成绩是评估学生学习综合得分以及教师教学质量的一项重要指标。所以,提高学生成绩也成为各高校保证教学质量的一项重要工作任务。而经济合作与发展组织(OECD:Organization for Economic Co-operation and Development)在其发布的≪教育概览2018》中指出,根据调查发现,通过采取让期末成绩不及格的同学留级或重修并不能提升学生的最终毕业成绩[1]。目前的高校学习成绩管理仍存在很多局限,大部分高校都是在成绩公布后才能掌握学生的学习情况。如果有一种有效的成绩预测机制,学校就可以根据预测情况,干预学生学习过程,对不同群体的学生提供及时准确的教学指导,这必会对提高教学质量起到重要的推进作用。因此,学生成绩预测已经成为教育数据挖掘领域的一个热点研究课题[2]。
基于数据挖掘理论的教育数据挖掘早已成为数据挖掘应用领域的热门之一[3]。它试图从教育大数据中挖掘出潜在的影响教学行为的内在因素,并为教育机构调整教学方案,指导师生教学行为等提供决策依据。Francis 等[4]运用聚类和分类相融合的算法,利用学生基本特征、学术特征、行为特征和额外特征构建成绩预测模型。刘博鹏等[5]通过动态特征提取和偏互信息对学生特征进行选取,并通过交叉验证方法对支持向量机算法进行动态参数调整后实现成绩预测。刘艳杰等[6]利用贝叶斯网络挖掘各学科之间的关联性,然后用决策树算法进行成绩预测。于繁华等[7]针对在线教学过程中教学方案缺乏针对性以及教学效果评估和反馈缺乏时效性的问题,在量化数据与相似度排序的基础上提出基于学习过程和学习成绩的分析算法,通过规则检测与离群检测建立了交互式教学系统中的预警模型。申航杰等[8]提出融合模糊聚类和支持向量回归方法预测成绩。崔荣一等[9]针对学校教学质量传统评价方法中存在的线性化、静态化等缺陷测,提出基于人工神经网络的智能评价方法。虽然基于数据挖掘的学习预警取得一定的研究成果,但目前的研究多是基于大学四年全部成绩,聚焦于挑选预测指标和构建预测模型上,而对预测起始时间和评估预测模型效果方面研究较少[10]。虽然原有预测模型能对毕业成绩做出准确预测,但此时学生已临近毕业,即使进行及时教学指导,则对最终毕业成绩影响有限。这显然与期望的改善教学效果,提升教学质量目标存在一定偏差。
众所周知,对大学生比较重要的两个阶段分别是处于过渡期的大一阶段,以及临近毕业的大四阶段。大一是学生从高中步入高校的重要转型阶段,在这时期,学生的生活和学习方式都会发生重要的转变。如果在大一学习结束后,通过统计分析学生的学习生活状态,预测其毕业时的学习成绩,就可以对成绩过低者提供进一步的警示教育和长期帮扶措施;对其他类型的同学也可以提供更好的选课方案,提高其学习效果,使不同类型的学生都能达到毕业要求,顺利毕业[11]。因此,为了构建科学的教学模式,假设学生大一成绩同最终毕业成绩间具有潜在映射关系,提出基于学生大一成绩构建成绩预测模型,并通过实验分析对该假设进行验证。笔者提出利用BP(Back Propagation Network)神经网络挖掘大一成绩同大学四年最终平均成绩的关系,建立成绩预测模型,将为保障教学质量,丰富国内现有教学模式,形成适应新工科人才培养工作要求的行之有效的教学质量管理机制提供有效的借鉴。
2 BP 神经网络
BP 神经网络[12]是一种3 层或3 层以上的带误差反馈机制的前向神经网络,属于有监督的学习方法,其结构如图1 所示。
图1 BP 神经网络结构示意图Fig.1 Structure diagram of BP neural network
BP 神经网络的构建(训练学习)过程包括信号(样本数据)前向传播和误差反向传播两部分。信号前向传播时,输入信号从输入层经隐藏层到输出层,逐层进行非线性变换,产生输出信号。其中,每层神经元的状态只影响下一层神经元的状态。如果在输出层得到的实际输出与期望不符,则进行误差的反向传播。在误差反馈阶段,通过将误差信号从输出到输入的方向逐层反馈,并将误差分摊给各层所有神经元。根据各层获得的误差调整该层各神经元的权值和阈值,使误差沿梯度方向下降。经过反复训练网络,直到输出误差或训练次数达到预设时,BP 神经网络构建完成。
利用输入的训练样本训练网路,BP 神经网络可以构建从输入到输出的非线性映射关系。因其具有结构简单、适应性强的特点,在函数非线性逼近等问题上具有很强的复演能力。虽然当前有诸如卷积神经网络等更为高性能的算法或网络结构,但考虑到出发点和运算复杂度等因素,笔者基于BP 神经网络挖掘高校学生大一成绩同大学四年所获得的最终平均成绩的关系,并以此构建成绩预测模型。
3 成绩预测模型描述
众所周知,学生在高校的学习过程除了受到教学质量影响,还受到行业发展、个人心理变化、课程设置、教师教学指导等诸多因素的影响。但想要基于诸多因素构建更为精准的预测模型仍属于教育数据挖掘领域的难点问题。所以,对诸如行业发展、个人身体健康等无法直接量化因素,成绩预测研究暂未考虑。同时,各专业开始的课程之间存在着一定程度的承接关系。诸如高等代数与概率论,C 语言程序设计与数据结构等专业基础、专业核心类课程尤为明显。这些先导课程的学习状态直接影响到后续课程的学习效果,进而影响毕业成绩。而像大学英语、大学生心理健康、思想道德修养与法律基础等相对独立的通识类课程,虽然无法直接影响其他课程,但这些课程也对培养学生的学习、思维、创新能力等方面起到积极的作用,对其他课程包括毕业成绩起到间接的影响作用。因此,在刨除其他因素的作用,仅考虑课程的前提下,多数学生的成绩应呈现趋势性,如随着逐渐进入学习状态而成绩不断提升,对个人要求不断放松而成绩不断下降,以及成绩稳定在一定范围内等变化趋势。所以,虽然大一期间开设的课程里通识类课程数量多于专业基础、专业核心类课程,但因其对毕业成绩存在直接或间接的影响,用大一课程成绩预测毕业成绩可以被视为可行的。此外,由于BP 神经网络具有隐藏层的结构和权重参数可动态调节的特点,更适合挖掘某些课程同毕业成绩的潜在关系。
提出的基于BP 神经网络的成绩预测模型算法流程如图2 所示。
图2 基于BP 神经网络的成绩预测模型框架图Fig.2 Framework diagram of performance prediction model
由图2 中可以看出,成绩预测模型分为预测模型构建和成绩预测两个阶段,流程概括如下。
1) 预测模型构建阶段:
①获取学生全部课程成绩;
②对课程成绩进行预处理;
③按照听课人数、学期等因素选出用于构建预测模型的课程;
④将大一的课程成绩作为输入,毕业平均成绩作为输出,训练预测网络模型,构建出成绩预测模型。
2) 成绩预测阶段:
①获得新生第1 学年成绩;
②按照预测模型构建阶段的处理方式对课程进行选择和成绩处理;
③将获得的课程成绩送入预测模型,得出预测成绩。
4 预测模型构建及结果分析
4.1 实验数据
笔者构建预测模型使用的数据为在某高校教务系统中获取的信息与计算科学专业2016 级两班共54 名学生的全部85 门课程成绩,无需学生或老师再额外填写调查问卷或调整成绩录入事项,更容易被学校、教师和学生接受。对实验数据进行如下处理:
1) 删除上课人数过少(小于75%)或每班超过5 人(占班级人数的20%)未选该课的课程;
2) 对缺失值用各班该门课程平均值替代;
3) 将格式为[优秀,良好,中等,及格,不及格]的等级成绩替换为[95,85,75,65,55]百分制成绩;
4) 以班级为单位将百分制成绩归一化到[0,1],避免不同任课教师的评分差异;
5) 最后选出大一期间符合人数要求的17 门课程(专业核心课1 门,专业基础课6 门,通识课10 门)成绩作为模型的输入数据,毕业时的平均成绩作为模型的目标输出数据。
4.2 性能评价指标
选用简便、直观的平均绝对误差(MAE:Mean Absolute Error)作为评估成绩预测模型的预测误差指标,其计算公式为
其中N为样本个数;S和Sp分别为原始成绩和模型预测成绩。E为绝对误差的平均值,其值越小,说明模型预测误差越小,模型预测越准确。
4.3 BP 神经网络相关参数
BP 神经网络参数设置直接决定该神经网络的性能,但网络参数如何设置目前仍未有明确依据。因此,考虑到问题实际情况和运算时间、代价等因素,将BP 神经网络设为经典的3 层结构,即隐藏层数量为1。其他参数设置如下:
1) 输入层和输出层的节点数量分别为17 和1;
2) 隐藏层神经元数量为33(神经元数量=2×17-1);
3) 输入层到隐藏层的传递函数为tan-sigmoid 型函数(tansig);隐藏层到输出层的传递函数为log-sigmoid型函数(logsig);
4) 最大训练次数为20,训练要求精度为0.000 1。
其余参数均为基于Matlab的BP 神经网络默认参数。
4.4 实验结果与分析
为证明BP 算法在成绩预测方面的有效性和稳定性,笔者分别随机从54 名学生中选出1 名、3 名、5 名、10 名和20 名作为测试样本(训练样本数量即为53、51、49、44 和34),并进行100 次随机选择(选出1 名时为54 次),对得到的MAE 值取其平均值,最终平均预测性能结果如图3 和图4 所示。
图3 训练性能对比图Fig.3 Training performance comparison chart
图4 测试性能对比图Fig.4 Test performance comparison chart
图3 和图4 中横坐标和纵坐标分别为用于构建BP 网络的训练样本数量和模型预测出的成绩同真实成绩间的误差。实验结果充分验证了笔者提出的大一学生成绩同最终毕业成绩间具有潜在联系的假设,并表明BP 神经网络在成绩预测方面具有极高的实用性、稳定性和准确性。首先,由图3 和图4 中可以看出,无论是训练性能还是测试性能都呈现浮动性,这不同于随着训练样本的增加性能有所改变的特点,说明BP 算法在成绩预测方面具有不需要过多的训练样本且受样本数量影响较低的优点,使基于BP算法的成绩预测模型可以在较少样本前提下构建,胜任人数较少学院的成绩预测工作。其次,训练样本的训练误差未超过0.019,换成百分制即误差低于1.9 分。最后,对测试样本,预测误差未超过0.04,若换成百分制即误差在[-4,4]分之间。优异的预测效果可以帮助教师改革创新指导策略,促进学生的学习和不断进步,切实提高人才培养的目标达成度。
因此,基于BP 算法的成绩预测模型可以更好地利用大一成绩对毕业成绩进行预测,为教师更有效的进行教学指导提供参考依据,并可以为人才培养发挥更大作用。
5 结 语
成绩预测是基于OBE的教学模式重要辅助手段。为了保证教学质量和实际需求,尽早对学生毕业成绩做出预测,笔者提出大一学生成绩同其毕业成绩间存在关联关系的假设,并在某高校信息与计算科学专业大一学生成绩基础上,利用BP 算法构建了成绩预测模型。实验结果表明,大一成绩同学生毕业成绩间存潜在关联关系;同时,提出的基于BP 算法的成绩预测模型,选用数据更简洁,模型构建更便捷,在成绩预测方面具有很好的准确性和可推广性。而如何提高预测准确率以及更为充分挖掘课程间的关联规则仍是今后的研究重点之一。