基于PSO-BP网络的学习成绩预测研究
2021-04-21王芮
王 芮
(阜阳幼儿师范高等专科学校,安徽 阜阳 236015)
0 引言
信息化时代背景下,传统的课堂变成了以电脑、手机及移动终端为辅助的网络课堂,学生可以随时随地学习。对学生学习成绩的预测是教师及时了解学生学习情况,有的放矢地调整教学方案,制定更加具有针对性学习方案的关键所在。神经网络是采用一种类似于大脑神经突触连接结构的信息处理模型,目前被广泛应用于成绩预测中。BP(back propagation)神经网络是一种按照误差逆向传播算法训练的多层前馈神经网络,在实际使用过程中存在算法收敛速度慢、效率低下等问题。粒子群优化算法(particle swarm optimization),简称PSO算法,是一种通过模拟鸟群觅食行为发展起来的随机搜索算法,将PSO算法对BP神经网络初始化权重系数进行优化可以达到提高网络收敛速度的目的[1]。基于此,本文采用PSO-BP网络对学习成绩的预测问题进行研究。
1 PSO-BP网络
1.1 BP神经网络
BP神经网络是按照误差逆向传播算法训练的多层前馈神经网络,由Rumelhart提出,在实际工程中具有广泛的应用。典型的BP神经网络共包含三层,分别为输入层、隐含层和输出层,具体如图1所示[2]。
图1 典型BP神经网络结构
BP网络计算包括正向传播和误差逆向传播两个过程,正向传播过程为x从输入层传递到隐含层,同时从隐含层传递到输出层。如果输出层的输出数据y和期望值不匹配,那么就会进入到误差反向传播阶段。通过误差反向传播来不断地修正连接的权重,从而达到误差逐渐减少的目的。设BP网络从输入层到隐含层的权值矩阵为ω1,偏差矩阵为b1;从隐含层到输出层的权值矩阵为ω2,偏差矩阵为b2;从输入层到隐含层的神经元传输函数为f1,从隐含层到输出层的神经元传输函数为f2,那么
y=f2(ω1f1(ω1x-b1)-b2)
(1)
采用梯度下降法对所建立的BP神经网络进行不断地学习和训练使得网络的权值和阈值调整,最终达到网络输出值和期望输出值之间的均方根误差达到最小值。
1.2 PSO优化算法
PSO优化算法是根据鸟类觅食的自然现象提出的。在鸟儿觅食的开始阶段,每一只鸟的位置都是独立的,觅食方向是随机不确定的。在鸟儿觅食的过程中,已经寻找到食物的鸟儿通过和其他尚未寻找到食物的鸟儿进行信息交换,那么整个鸟群中鸟觅食的方向就会向目标位置靠近。在整个鸟群中,每一只鸟都会结合系统中距离食物最近的鸟儿的位置和随后的觅食方向进行优化处理。
PSO优化算法是在搜索空间初始化一组随机粒子,通过迭代找到最优解。在粒子群中,每一个随机粒子都有自己的位置、速度和适应度值,采用适应度函数来计算粒子的适应度值,每一个粒子个体的位置都有个体的极值和群体的极值进行更新。假定在D维空间中有N个粒子,PSO算法的基本参数定义如下:
粒子i的位置为xi=(xi1,xi2,……,xiD),粒子i的速度为vi=(vi1,vi2,……,viD),粒子经历过的最佳位置为pi=(pi1,pi2,……,piD),种群经历过的最佳位置为pg=(pg1,pg2,……,pgD),那么速度更新公式和位置更新公式分别为
vid(k+1)=wvid(k)+c1randid(·)[pid(k)-xid(k)]+c2randid(·)[pgl(k)-xid(k)]
(2)
vid(k+1)=xid(k)+vid(k+1)
(3)
其中,w为惯性权重,c1和c2为加速学习系数,k为当前迭代次数,rand(·)为随机函数。
由公式(2)可知,速度更新公式包含了三个部分,第一部分为粒子自身的运动,其取决于粒子自身初始速度和惯性权重w;第二部分为粒子对自身位置和其在全局最优位置之间距离的判断,是粒子不断认知的过程;第三部分为粒子自身位置和全局最优位置之间的判断,是社会的影响过程。PSO算法流程图如图2所示。
图2 PSO算法流程图
1.3 PSO-BP神经网络
BP神经网络采用梯度下降法进行学习训练,其速度比较慢,同时网络的初始权值和初始阈值对输出的结果具有比较大的影响,如果选择不当容易在学习训练的过程中陷入局部最优的状态。采用PSO算法对BP网络进行优化,得到PSO-BP神经网络,PSO-BP流程图如图3所示[3]。
图3 PSO-BP网络流程图
由图3可知,采用PSO-BP网络进行学习成绩的预测首先需要确定BP网络的结构,对粒子的位置和速度进行初始化处理。由于对不同的数据采用的计算方法存在差别,因此要对原始的输入数据进行归一化处理,归一化处理的公式为[4]
(4)
其中,x′表示归一化的数据,xmin表示原始数据的最小值,xmax表示原始数据的最大值。
采用初始化的数据进行网络训练,同时将训练的误差作为粒子的适应度值,选择粒子个体的最优位置作为全局最优位置。按照粒子位置和速度更新公式进行粒子位置和速度的更新,同时计算更新之后的粒子适应度。比较粒子群中的每一个粒子最好位置所对应的适应度,将适应度最小的粒子作为全局最优位置,同时判断是否达到了全局最优位置或是否达到了最大的迭代次数。如果达到了全局最优位置或者达到了最大的迭代次数,那么停止迭代,将PSO优化后的解作为BP神经网络的初始权值,同时进行网络的训练,将训练好的BP网络用于数据的预测。
2 学习成绩预测
2.1 数据预处理
在智慧校园背景下,学生的学习成绩数据可以通过学校的网络中心获得。本文对某省属重点大学的学生成绩进行预测,所获取的数据包括学生的姓名、学号、课程名称、课程性质、课程代码等。对于所获得的原始数据要进行预处理,即将缺考学生、补考学生、非正常考试项、课程名称进行删除,得到预处理的数据,其格式如表1所示。
不同的课程之间有的存在比较高的相关度,有的存在比较低的相关度,采用比较多的课程成绩对目标课程成绩进行预测会使得算法参数变得
表1 预处理后学生数据
十分复杂,收敛的速度变慢,同时部分的课程成绩对目标课程成绩的预测是干扰项,影响了目标课程成绩预测结果。本文采用Apriori算法计算课程成绩和目标课程成绩之间的相关度,按照相关度的大小选择四门相关度比较强的课程对目标课程进行成绩预测[5]。通过对大量原始数据的处理将其简化为只包含四门相关课程和一门目标课程的成绩数据表,保存一部分数据作为训练数据,同时另外一部分作为检测预测结果的数据。
2.2 模型训练与成绩预测
采用PSO优化算法对BP神经网络的初始化权值和阈值进行优化处理。PSO算法的参数选择对优化的结果具有比较大的影响,通过试验得到PSO算法的较优参数设置结果,即学习因子c1=1.46,c2=1.48,最大迭代次数Tmax=60,种群规模N=10,惯性权重ωmax=0.9,ωmin=0.3,初始化速度在闭区间[-1,1]。采用MATLAB软件编制PSO-BP程序,得到均方根误差变化曲线图如图4所示。
图4 均方根误差变化曲线图
将PSO-BP网络用于目标课程学习成绩的预测中,同时为了对比PSO-BP网络和BP网络对目标课程学习成绩的预测精度,采用BP网络对目标课程学习成绩进行预测,对比结果如表2所示。
表2 目标课程成绩预测结果对比
由表2可知,不论是采用BP网络还是采用PSO-BP网络,其对目标课程成绩的预测相对误差均在5.0%以内,同时PSO-BP网络对目标课程成绩的预测精度更高,相对误差在2.0%以内。按照[90,100]为优、[80,90)为良、[70,80)为中、[60,70)为差、[0,60)为不及格的规则对目标课程成绩进行划分,很明显采用BP神经网络去预测实际成绩为81、73、61三名学生的成绩时出现了错误。
2.3 学习成绩预测建议
分别采用BP神经网络和PSO-BP神经网络对目标课程学习成绩进行预测,结果表明采用PSO-BP神经网络对目标课程学习成绩预测的精度比较高,但是采用神经网络对目标课程成绩的预测不宜采用等级规则对学生的学习成绩进行预测,这因为在90分左右、80分左右、70分左右以及60左右的学生很容易被误判,如本应该是及格而采用神经网络预测的结果为不及格,这明显是错误的,也不利于更加客观地对学生的该门课程进行评价。智慧课堂背景下,基于PSO-BP网络的学习成绩预测可以比较精确地给出课程的分数,这有助于教师按照学习成绩的预测结果更加具有针对性地去调整教学方案、优化课程资源、不断地提高教学质量和教学效率。
3 结论
智慧课堂背景下对学习成绩的预测至关重要,可以及时调整教学方案、优化教学资源、提高教学质量,本文采用PSO-BP网络搭建了学习成绩预测模型,对原始数据进行预处理,同时采用Apriori算法计算课程成绩和目标课程成绩之间的相关度,通过相关度的大小选择四门相关度比较强的课程来对目标课程成绩进行预测,同时采用BP网络对目标课程成绩进行预测对比。结果表明PSO-BP网络对学习成绩的预测精度比较高,而采用BP网络预测的成绩如果采用等级评价法,其评价的结果出现了错误。本文的研究对目标课程学习成绩的预测具有一定的参考价值,同时也是对教学资源优化配置的重要参考。