APP下载

基于矩阵分解的高校学生成绩预测研究

2020-07-31薛梦婷

现代信息科技 2020年4期

摘  要:学生成绩预测及告警是协助高等院校职能部门人员管理学生学习情况和监测教师教学质量的有效方法。通过提前预测学生考试分数,对预测成绩偏低的学生加强管理,提前重点关注该类学生的学习情况,可以降低学生考试不及格的风险。文章利用矩阵分解算法提取学生历史分数中的关键特征值,并将其用于学生成绩预测。实验结果表明,使用改进的奇异值分解方法预测学生成绩,具有较强的实用性和较好的效果。

关键词:成绩预测;矩阵分解;奇异值分解;学业预警

中图分类号:G434;TP391     文献标识码:A 文章编号:2096-4706(2020)04-0142-04

Abstract:The prediction and warning of studentsperformance is an effective method to assist teachers of the functional departments of colleges to manage studentslearning and monitor teachersteaching quality. By predicting studentsexamination scores in advance,strengthening the management of students with low predicted scores,and focusing on the learning of such students in advance can reduce them the risk of failing the exam. In this paper,we use the matrix factorization algorithms to extract the key eigenvalues from the students historical scores and use them to predict student performance. The experimental results show that the improved SVD method is practical and effective in predicting studentsperformance.

Keywords:performance prediction;matrix decomposition;singular value decomposition;academic warning

0  引  言

2010年,在信息化“十二五”规划中,浙江大学首次提出建设“智慧校园”的概念。所谓“智慧校园”,就是指以提高教学质量为宗旨,将教育教学与信息化技术相结合,借助大数据、人工智能、云计算、数据挖掘等新兴技术,提供一种集智慧型、智能化、无监督学习、数据化等为一体的教育、科学研究、教学管理和生活服务,并对教学、管理进行预判和监测的智慧化学习环境[1]。因此,学生成绩预测是智慧校园建设的一大助力,它将信息化和教育教学的概念相结合,并同时提供教师教学质量监测的功能。

为了更好地建设“智慧校园”,本文研究的重点是对高校学生的期末考试成绩进行预测,从而实现学业预警。高等院校不同于初中和高中,并没有频繁的考试来监测学生阶段性的学习成果,学生的学习状况和期末成绩完全取决于其本人的学习态度和个人能力。因此,期末考试挂科的现象在大学里屡见不鲜,既拉低了学生的期末绩点,还可能影响学生申请保送研究生、出国留学和找工作等。所以,本文尝试通过多门学科的历史学生成绩和学生个人历史成绩,来预测学生将要学习科目的分数。当得到的预测成绩分数较低时,可以对该类学生提出学业预警,减少其考试不及格的可能性。另一方面,通过对教师所授科目的成绩进行预测,也可以从侧面反映该教师的教学质量,为教学质量评估提供参考。

目前,许多专家和学者在学生成绩预测领域已经有一些探索和研究。陈子健等人[2]使用机器学习和数据挖掘等的方法,从学生学习行为、父母的参与度和态度等多个不同的特征探索学生成绩的影响因素。肖巍等人[3]通过对比国内外基于数据挖掘的学习预警研究发现,国内对于预警的研究主要集中于预警指标的挑选,并未涉及探索预警起始时间和评估模型效果方面。刘艳杰等人[4]通过构建完整的贝叶斯网络,发现部分基础学科与其他学科间关联性较强,不能忽视该类基础学科的建设。张莉等人[5]使用机器学习中的支持向量机算法,将六次模拟考试成绩作为特征,进行学生的高考成绩预测。然而,由于该研究没有考虑到不同年份、不同学校的数据差异,其预测方法不够具有普适性。

本文使用基于矩阵分解的相关技术,并将其应用在学生成绩预测领域,得到了较好的预测效果。

1  算法原理

本文以分数矩阵来表示学生对应课程的成绩。一般情况下,由于一个学生的选修和必修课程仅占全部课程中的少数,所以针对每个学生个体而言,只有少部分课程存在历史成绩。因此,学生课程的分数矩阵是极其稀疏的。成绩预测是对该稀疏矩阵进行填充,因而低秩矩阵补全方法成为了预测稀疏矩阵缺失项的重要手段,其中,奇异值分解(Singular Value Decomposition,SVD)是主流的算法之一。本文使用以SVD为代表的矩阵分解技术来解決成绩预测中的数据稀疏问题。

1.1  SVD算法

2.3  实验结果及分析

如图1、图2和图3所示,不论是使用准确率还是RMSE、MAE作为评价指标,SVD++预测分数的效果都优于SVD和NMF。

由实验结果可知,隐含特征数F(即分数矩阵M的奇异值数量)对成绩预测的准确性存在一定影响。当隐含特征数过少时,由于无法提取足够多的隐含特征,会导致成绩预测结果误差较大;当隐含特征数F=300时,成绩预测取得的效果较好;而随着隐含特征数的不断增大,推荐精度逐渐趋于稳定,原因可能是隐含特征数在超过临界点之后,提取了过多与学生相关性较低的特征,这就直接导致预测分数与实际分数偏差较大,影响预测效果。

对照实验表明,SVD++具有较强的适应性和较好的成绩预测准确性,实验结果总体表现较好。相对于SVD和NMF而言,SVD++算法提取了更多的隐藏信息用于成绩预测。

3  结  论

本文分别使用SVD、SVD++、NMF三种矩阵分解算法分解原始分数矩阵,降低数据维度,利用随机梯度下降法求解预测分数矩阵,将以SVD为代表的矩阵分解算法应用到学生成绩预测领域。实验结果表明,SVD算法预测效果受到隐含特征数F的影响,当隐含特征数F=300时,预测效果最好。同时,还对比和分析了三种算法的预测结果,发现考虑了学生能力和课程难度以及隐式信息的SVD++算法略优于其他两种算法。

但是,本文实验的结果仍旧不是特别理想,比如SVD++算法中没有加入更多隐式信息,比如学生上课出勤情况、课程表、去图书馆次数等信息。下一步笔者将考虑使用更多不同的信息特征来进行成绩预测分析。

参考文献:

[1] 王运武,于长虹.智慧校园——实现智慧教育的必由之路 [M].北京:电子工业出版社,2016.

[2] 陈子健,朱晓亮.基于教育数据挖掘的在线学习者学业成绩预测建模研究 [J].中国电化教育,2017(12):75-81+89.

[3] 肖巍,倪传斌,李锐.国外基于数据挖掘的学习预警研究:回顾与展望 [J].中国远程教育,2018(2):70-78.

[4] 刘艳杰,李霞.基于贝叶斯网络的学生成绩预测 [J].山东理工大学学报(自然科学版),2019,33(5):75-78.

[5] 张莉,卢星凝,陆从林,等. 支持向量机在高考成绩预测分析中的应用 [J].中国科学技术大学学报,2017,47(1):1-9.

[6] FUNK S. Netflix Update:Try This At Home [EB/OL].(2006-12-11).https://sifter.org/~simon/journal/20061211.html.

[7] BELL R M,KOREN Y,VOLINSKY C. Research Track Paper Modeling Relationships at Multiple Scales to Improve Accuracy of Large Recommender Systems [C]// Acm Sigkdd International Conference on Knowledge Discovery & Data Mining. ACM,2007:95-104.

[8] KOREN Y. Factorization meets the neighborhood:A multifaceted collaborative filtering model [C]// Proceedings of the 14th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining,Las Vegas,Nevada,USA,August 24-27,2008. ACM,2008:426-434.

[9] LEE D D,SEUNG H S. Learning the parts of objects by non negative matrix factorization [J].Nature,1999,401(6755):788-791.

作者簡介:薛梦婷(1992.07-),女,汉族,江苏南京人,助理实验师,硕士研究生,研究方向:数据挖掘、中文情感分析、教育信息化。