基于招生数据利用不同的机器学习方法预测大一学生成绩

2023-09-25 17:13
现代计算机 2023年14期
关键词:线性准确率神经网络

王 琛

(温州肯恩大学信息技术中心,温州 325060)

0 引言

随着高校信息化系统的不断完善,学生数据的信息量呈现出急剧增长的趋势。通过对数据进行适当的分析,可以获得有效的评估,从而预测学生的表现。近年来,机器学习技术在预测学生表现方面取得了显著进展[1-3]。与教育数据挖掘不同,机器学习技术可以结合任何学生属性对不同的学生群体进行有效的预测。本研究旨在借助不同的机器学习技术发现招生数据中的潜在规律或模式,继而为教学预警提供服务制定。通过招生数据进行建模,可以预测新生大一成绩,从而帮助高校教学管理者制定预警措施,如对学生进行预警警告或者尽早引导他们改进学习,以便学生在后续的学习中提高成绩和学术水平,这将是教学预警研究中的一个新亮点。

目前,对于招生数据和学业预测的相关研究多局限于对招生数据进行多维数据统计分析[4-5]。本研究将应用不同的机器学习模型对高校大一学生的平均学分绩点(grade point average,GPA)成绩进行预测,通过采集高校实际的招生数据和学业GPA 成绩数据进行数据分析和模型预测,从而研究不同机器学习模型在大一学生GPA成绩预测方面的准确度。除了基本的招生数据处理和权重分析外,本研究还将添加大一各阶段性累计平均GPA,从而设计出一个具有预警功能的高校新生学业成绩评估模型,帮助教师及教学管理者为刚进入校门的学生提供初期成绩评估的预警信息和教学帮助参考,有利于高校对学生早期生涯的学业预警进行干预。

1 研究内容与方法

1.1 研究内容

本研究通过分析现有的招生基础数据和大一GPA 成绩数据之间的关联,通过机器学习模型发现其中的规律,为高校学业成绩初期预警提供参考。为了达成这个目标,我们设计和采用了不同的机器学习模型。通过对这些模型进行训练和对比其在测试集(test set)上的预测结果,我们研究和分析了线性回归模型(linear regression)、多元逻辑回归模型(logistic regression)和神经网络(neural network)在大一GPA 成绩预测准确率方面的表现。之后,我们还对进行了主成分分析(PCA),期望能够从高校招生历史数据中挖掘重要的信息,消除招生新生历史数据之间的重叠数据和噪声数据。最后,将PCA 和精度较高的预测模型相结合,首先采用PCA 降低数据维度,提取对预测结果影响较大的主成分因子,然后使用预测准确率较高的模型对招生基础数据进行预测。图1 为预测模型的流程。

图1 预测模型流程

1.2 研究方法

本研究采用了模型研究和数据分析相结合的方法。在模型研究方面,使用PyTorch 框架构建线性回归模型、多元逻辑回归模型和神经网络模型,并对它们进行训练。PyTorch 是一个基于Torch 的Python 开源机器学习库,可用于自然语言处理等应用程序,支持动态神经网络,具有强大的灵活性和扩展性。在数据采集和分析方面,我们将收集高校的招生基础数据和学生大一的GPA 成绩(四分制)数据,对其进行学习和训练。此外,我们还对数据进行处理,以便发现数据中的主要特征,消除噪声和冗余信息。

在选择机器学习模型方面,我们考虑了所采用的每个模型的优点和局限性,并根据实际情况进行了设计。在PCA 步骤中,我们选择了最小化信息损失和最大化方差的方案,以确保提取到的主成分因子尽可能的准确和重要。在最后的优化步骤中,选择了最适合的模型来对GPA成绩数据进行预测。

1.2.1 数据和数据预处理

本研究采集的数据来自某大学2016 年至2019 年的招生基础数据和对应学生的GPA 成绩(四分制)数据。使用的模型之一神经网络模型是一种基于大数据分析的人工智能模型,当数据量较大时,其预测精度较高。然而,当样本数据量较小时,模型容易陷入局部最优,出现过拟合现象,而降低预测精度。因此,在数据收集阶段,本研究将尽可能扩大数据样本的维度,收集新生的各种信息属性,以减少误差并提高准确率。

本研究还将采用数据重构方法,获取高校新生多维基础历史数据和学生成绩历史数据。采用数据重构的原因是,高校招生受到当年国家政策、社会需求、社会经济状态等因素的影响,导致招生数据变化存在非线性和复杂性。此外,不同省份给出的招生数据内容、格式和代码各不相同,成绩构成也各不相同,例如浙江省新高考改革后不分文理科。

表1 展示了某省实际招生数据的变化。可以看出,该数据有着该省份特有的解析规则和信息,并且不同字段样本间存在数量级的差异。

表1 某省实际招生数据

在数据采集之后,本研究进行了数据清洗、数据集成、数据变换等数据预处理步骤。比如,对于采集到的招生数据中的缺失值本研究采用了插值法,通过计算平均值将其填充到缺失值的位置上。同时,由于招生数据中存在大量的类别值或离散值,为了提高模型的准确性,以及为了让模型的距离计算更合理,本研究使用Pandas 中的get_dummies()函数对所有离散型特征进行了One-Hot编码。经过处理后,得到的招生数据集为一个5615 行、50 列的矩阵,如表2所示。

表2 预处理后的招生数据集矩阵

显然,上述数据具有高维度和高噪声等特性,并且不同省份或样本之间存在数量级的差异。当各招生数据指标间的水平相差很大时,如果直接用原始指标值进行分析,就会突出数值较高的指标在模型分析中的作用,相对削弱数值水平低的指标的作用。因此,在分析数据之前,我们还对数据集进行了标准化和归一化处理。通过归一化将招生数据按比例缩放至一个小的特定区间,能有效降低数据集噪音,便于不同单位或数量级的指标能够进行比较和加权,这样便于后续数据处理和加快模型收敛[6]。本研究采用了Min-Max Scaling、Z-Score Normalization 和L2 Normalization 三种归一化算法进行尝试,基于训练样本上的总损失值比较结果,最终选择了Min-Max Scaling 作为归一化算法。具体算法公式如下:

最后,将数据集划分为训练集(train_Set)、评估集(valid_set)和测试集(test_set),并进行了交叉验证(cross validation)。数据集的部分参数值详见表3。

表3 归一化处理之后的训练集片段

1.2.2 基于数据统计的相关性分析

本研究首先对学生高考成绩和大一GPA成绩进行了皮尔逊相关系数的计算。皮尔逊(pearson)积矩相关系数是传统数据统计里常用的一种方法[7],用于度量2个变量间相关程度,它是一个介于1和-1之间的值。其中:1表示变量完全正相关,0 表示无关,-1 表示完全负相关,计算结果见表4。

表4 不同特征与大一成绩间的相关系数

从表4 可以看出,高考总成绩和学生大一GPA 成绩之间的相关系数值略高于0.3,表明二者具有一定程度的相关性,但不显著。而单门课程的高考成绩和大一GPA 成绩的相关系数值都小于0.3,可以认为相关性不高。此外,从图2也可以明显看出高考成绩对学生大一GPA 的影响没有呈线性递增。分析原因我们认为高校的教育以专业课程为主,更加细分化的专业知识减少高考成绩对学生大学学习的实际影响程度。因此,可以得出结论,虽然高考成绩与大一GPA 成绩之间具有一定程度的相关性,但影响并不明显。此外,基于传统统计的相关性分析方法对于没有明显统计学规律的多元复杂数据的效果并不理想。

图2 高考成绩和大一GPA关系分布

1.2.3 多元线性回归模型分析

线性回归是一种广泛应用的回归模型,其基于以下假设:自变量X和因变量y之间的关系是线性的,即y可以表示为X中元素的加权和[8]。我们假设招生数据和大一GPA 之间存在线性关系,可以表示为特征(如英语成绩、总成绩、年龄等)的加权和。当使用线性代数来建模时,我们输入包含d个特征(在本研究中为50个)的高维招生数据集,将预测结果ŷ表示为

其中:每个xi代表数据集中的一个特征;wi代表该特征的权重;b表示偏差项。在给定招生训练数据特征X和对应的GPA 成绩y,线性回归模型的目标是找到一组最优的权重向量W和偏差项b,这组权重向量和偏差能够使得新样本预测标签的误差尽可能小。

为了寻找最好的模型参数W和b,我们需要定义损失函数和使用随机梯度下降方法来学习和训练模型参数。损失函数用来量化目标值和预测值之间的差距,在训练模型时我们的目标是找到一组参数(w*,b*),通过计算训练集样本在损失函数L(w,b)上的损失均值,最小化在所有训练样本上的总损失:

本研究使用PyTorch 的MSELoss 类来计算均方误差损失函数,也称为平方L2 范数。梯度下降方法几乎可以优化所有机器学习模型。它通过在损失函数递减的方向上不断更新参数来降低误差。我们使用以下公式来表示这一更新迭代的过程(其中∂表示偏导数):

经过多次迭代后,我们就能通过有限的数据来训练模型参数(w*,b*)。为了更好地评估训练效果,本研究会计算每次迭代周期后的损失,并使用更新后的参数计算评估集的准确率,以监控训练过程。记录的结果见表5。

表5 线性回归模型每个迭代周期后的损失和评估集准确率

通过这个已经训练好的线性回归模型,我们就可以使用招生数据测试集来预测未包含在训练数据和评估集中的学生大一GPA,并查看模型的准确度。

1.2.4 多元逻辑回归模型分析

多元逻辑回归本质上是多元线性回归,只是在特征到结果的映射中加入了一层函数映射[9-11]。该映射函数为Logistic 函数(也称为Sigmoid 函数),其形式如下:

首先进行特征线性求和:

然后使用函数s(z)构造预测函数来进行预测,逻辑回归的最终表达式如下:

虽然逻辑回归是非常经典的分类算法模型,但主要用于解决二分类问题,因此需要对GPA数据进行预处理。在本次研究中,将学生大一GPA 大于等于3.2 的样本作为一个类别,小于3.2 的样本作为另一个类别,通过训练模型得到属于每个类别的概率。本研究使用PyTorch 的BCELoss 类作为逻辑回归模型的损失函数。每次迭代周期后的损失以及使用更新后的参数计算的在评估集的准确率见表6。

表6 逻辑回归模型每个迭代周期后的损失和评估集准确率

可以发现该模型在评估集上准确率很高,主要原因是该模型只将预测结果分为了两类。然而,这种分类方式颗粒度并不够精细,可能会导致欠拟合和精度不高的问题。

1.2.5 神经网络模型分析

前面两个模型都是基于单调性假设的线性回归模型,即任何特征值的增大或减小都会导致模型预测输出的增大或减小(对应权重为正或负)。例如,当我们试图预测学生大一GPA 时,我们假设在其他条件不变的情况下,高考成绩高的学生可能比成绩较低的学生获得更高的GPA[12]。然而,即使高考成绩与大一GPA 成绩之间存在单调性,它们之间的关系也不一定是线性的。高考成绩值在高分值段多5 分的人可能比在低分值段多25 分的人能获得更高很多的GPA。为了处理这类非线性问题,我们采用了神经网络模型。

神经网络模型是一种模仿动物神经网络行为特征,进行分布式并行信息处理的算法数学模型。该模型通过调整内部大量节点之间相互连接的关系来实现信息处理,是目前应用最广泛的机器学习模型[13-15]。如图3所示,通过在网络中加入一个或多个隐藏层,可以克服线性模型的限制,使其能够处理更普遍的函数关系类型。

图3 一个单隐藏层的简单神经网络

本研究设计的神经网络模型为单隐藏层神经网络,该网络包含20 个隐藏单元的单一隐藏层,使用CrossEntropyLoss 交叉熵损失作为损失函数,并采用ReLU 作为激活函数。ReLU 提供了一种非常简单的非线性变换。对于给定的元素x,ReLU 函数被定义为该元素x与0 的最大值:

在本次研究中,我们采用传统的分段绩点法,将学生大一GPA 成绩按照分数区间划分为11 个等级类别,分别为A=4.0、A-=3.7、B+=3.3、B=3.0、B-=2.7、C+=2.3、C=2.0、C-=1.7、D+=1.3、D=1.0和F=0,因此设计的输出层包含11个输出单元。通过训练模型不断迭代来优化神经网络的权重和偏差参数,使神经网络可以学习到输入数据和输出之间的映射关系,从而能够准确地预测大一学生的GPA 等级是多少。模型每次迭代周期后的损失和评估集的准确率如表7 所示。

表7 神经网络模型每个迭代周期后的损失和评估集准确率

2 实验结果与优化

2.1 实验结果与分析

我们将训练好的三个模型在测试集上运行。三个不同的机器学习模型对测试集招生数据进行预测,结果显示多元线性回归模型构建的预测模型的准确率最低,为0.6019;其次是神经网络模型,准确率为0.7227;逻辑回归的准确率值最高,为0.8035。表8列出了不同算法的预测分类结果。

表8 不同模型方案在测试集上的准确率

可以看出,其中两种机器学习算法的准确率均在70%以上,预测效果良好。

为了获得更好的分类效果和更高的精准度,本研究尝试利用主成分分析(PCA)对招生数据进行预处理,提取其主成分后,在三个不同的模型上运行。最终测试集的准确率见表9。结果表明,对招生数据进行PCA 主成分提取处理,对模型的精准率提高并不显著,而在某些情况下,可能会导致一定程度的信息丢失。

表9 PCA主成分提取后模型方案在测试集的准确率

2.2 模型优化

本次优化我们增加了学生大一不同阶段的累计GPA,包括大一上期中GPA、大一上期末GPA、大一下期中GPA 数据。这样的优化考虑到了GPA 的时序性,更能反映学生在大一不同时期的学习表现。这一优化有助于提高模型的预测精度,进而更准确地预测学生的大一期末GPA 成绩。考虑到本研究在采用逻辑回归模型时分类颗粒度大,虽然准确度更高但在分类效果上存在一定的不足。相比之下,神经网络模型更适用于该任务。因此,本研究选择使用神经网络模型进行优化调整,以提高预测精度。优化后的模型如图4所示。

图4 增加了不同阶段累计GPA的模型

使用训练集反复训练神经网络并进行权重和偏置的调整后,我们得到了一组优化后的神经网络模型。在测试集上的测试结果表明,这组优化后的模型预测准确率显著提高,其表现见表10。

表10 优化后模型方案在测试集的准确率

3 结语

本研究的主要目的是通过分析招生数据的影响特征来预测学生的大一GPA,研究结果表明传统的统计模型在满足预测需求方面存在不足,因此本研究使用了多元线性回归模型、多元逻辑回归模型和神经网络模型构建预测模型,并通过比较它们的准确率来评估它们的性能。结果显示,逻辑回归模型表现最佳,神经网络模型也比传统多元线性回归方法具有更好的预测性能,尤其适用于分类预测。考虑到本研究在采用逻辑回归模型时分类颗粒度大,因此优化神经网络模型对大一GPA 进行预测更具有应用前景和参考价值。

然而,本研究存在一些局限性。首先,所使用的数据量相对较少,因此在今后的研究中将进一步增加招生数据的训练集数据量以提高模型的拟合能力,使实验结果更具有普适性。其次,在选取的输出结果变量中,大一成绩分类颗粒度不够细。并且,神经网络模型也只使用了单层模型。虽然单隐层网络能够学习任何函数,但如果使用更深的网络可以更容易地逼近预测结果并获得更高的精准度。最后,本研究使用的招生数据集存在一定程度的样本缺失,虽使用了均值填补法对缺失值进行了填补,但仍可能对模型的准确性产生一定程度的影响。未来的研究可以进一步扩大训练集数据量、增加招生数据变量并构建更细粒度的模型、采用更深层的神经网络模型等来改善模型性能。

本研究有助于高校在入学阶段就预测学生未来的学业成绩,并提早规划出有针对性的学业辅助,从而提高学生整体成绩。本研究初步证明了机器学习模型通过招生数据对大一成绩的预测具有较好的准确性。未来可在此基础上进一步改良和优化机器学习模型,同时发掘更多与成绩有相关性的学生信息,随着学生信息大数据规模的不断扩展和增长,这项研究的应用潜力将得到进一步评估和优化。

猜你喜欢
线性准确率神经网络
渐近线性Klein-Gordon-Maxwell系统正解的存在性
乳腺超声检查诊断乳腺肿瘤的特异度及准确率分析
不同序列磁共振成像诊断脊柱损伤的临床准确率比较探讨
2015—2017 年宁夏各天气预报参考产品质量检验分析
线性回归方程的求解与应用
神经网络抑制无线通信干扰探究
二阶线性微分方程的解法
高速公路车牌识别标识站准确率验证法
基于神经网络的拉矫机控制模型建立
复数神经网络在基于WiFi的室内LBS应用