河南科技大学史敬灼、付艺玮:基于机器学习的课程学习预警与帮扶
文摘
科技
2023-07-11 14:11
北京
对学习有困难的学生提供预警与帮扶,是工程教育专业认证的基本要求之一。课程是学生学习过程的基本构成单元。与课程的形成性评价过程相结合的学习预警,可以在课程学习过程中识别学习困难学生并进行有针对性的帮扶,从而使更多学生能够通过努力达成课程学习目标,为最终达成毕业要求提供有效支撑。
河南科技大学电气工程学院的史敬灼、付艺玮,在2023年第5期《电气技术》上撰文,基于课程形成性评价成绩数据,采用机器学习算法设计课程学习的滚动预警方法,给出了实现过程中的技术细节,讨论了设计帮扶措施的基本原则。实践表明,所述算法能够有效识别学困学生,帮扶措施能够改善学习成果。
建立相关制度,采取相关举措,尽可能使学生毕业时达到毕业要求,是工程教育专业认证的基本要求。工程教育认证标准解读及使用指南(2022版)1.3节要求“对学生在整个学习过程中的表现进行跟踪与评估,并通过形成性评价保证学生毕业时达到毕业要求”,明确指出“形成性评价是在教学过程中为了解每个学生的学习情况,及时为学生提供学业帮助而开展的过程性评价活动”。与之对应,“对学业有困难的学生预警与帮扶的制度和措施”成为专业自评和专家考查的重点内容之一。认证实践中,不少专业的学习预警办法是在学年(学期)末考察学生的平均学分绩点,若低于预设的阈值,则向学生发送预警通知。学生学分绩点偏低,往往意味着有些课程没有学好,未达成课程学习目标的后果已成事实。如果能够在每门课程学习过程中判定学困学生、提出课程学习预警,并采取有针对性的帮扶措施来尽可能保证本门课程学生学习目标的达成,就可以避免学生因为没学好而影响后续关联课程的学习,也可以避免因补修、重修耽误其他学习活动的时间,从而为学生达成毕业要求提供更有效支撑。认证标准解读要求的“形成性评价”,能够在课程进行过程中持续、实时掌握每位学生的课程学习状况,为上述课程学习预警的实施提供了必要基础。有文献阐述了笔者在“电力电子技术”课程中的形成性评价做法。根据当前的课前预习、课后回顾等评价成绩,教师往往将成绩偏低的学生认定为学困学生,但这样的判定方法恐难以保证全面、准确,进而可能导致有效性问题。应注意的是,判定学困学生的目的是为了让这些学生在期末能够顺利达成学习目标、通过课程考核。所以,对学生能否在课程结束时通过课程考核的结果进行预测,应成为判定学困学生的重要依据。要在课程进行过程中基于形成性评价数据判定哪些学生在期末可能考核不合格、因而是现在需要帮扶的学困学生,需要科学方法的支撑。有文献将人工智能方法分别与工程教育认证工作中的课程质量评价、课程体系设置合理性评价相结合,进行了工程教育学术研究的有益探索。从学习预警方面的现有文献来看,将机器学习方法用于学习预警是一种趋势。但目前相关工作多停留在教育学的研究层面,国内一线教师应用很少,其原因主要在于两个方面:一是现有文献选择用于机器学习的特征数据,多是目前国内一线教师无法或不易获取的,从而使其所提方法不能被一线教师使用;二是教师对相关研究方法不熟悉,且方法复杂、上手困难。本文从一线教师的角度出发,基于课程学习过程中不断更新的形成性评价数据,采用人工智能领域的机器学习算法,滚动预测学生的期末课程考核情况,以实时判定学困学生。本文较为详细地论述技术实现细节,并对帮扶措施进行讨论。“电力电子技术”课程理论学时数为48,每周4学时,12周完成课堂教学。在第三周教学完成时,根据前三周形成性评价成绩数据,对学生进行第一次课程学习预警。此后,每两周使用截至当时积累的形成性评价数据进行一次预警,直至课程结束,共计5次预警。要完成学习预警,需要事先通过机器学习算法学得预测模型。这里,将2021—2022学年第一学期的课程数据用作训练数据来学得模型,并用于2022—2023学年第一学期课程教学。学得预测模型的过程,包括特征选择、数据预处理、构造预测模型、参数调试等步骤。在机器学习技术中,将用来训练模型的输入数据称为样本x,输出数据即待预测的量称为标记y。每个样本包含的数据通常不止一个,这些数据称为属性或特征,每个样本包含的特征个数称为样本的维数d。用来训练模型的数据应包含样本及其对应的标记,两者合在一起称为样例 (x, y),用于模型训练的全部样例构成训练集。通过训练获得的模型,可以用来预测测试样本的标记。对于本文而言,希望预测的是学生能否在课程结束时通过课程考核,并对那些很可能考核不合格的学生进行预警与帮扶。因而,标记y是课程考核成绩,并对该值设定阈值(例如60分)以判断学生是否通过考核。所谓特征选择,是确定将哪些数据作为输入数据来预测y。显然,所选择的特征量应该与被预测的课程考核成绩之间存在明确的因果关系。现有文献通常采用线上教学平台收集的学生学习过程数据作为输入数据,例如浏览平台各个板块的次序、观看视频过程中回放和暂停的频次、互动发帖内容中的情绪因素等。疫情期间,普遍采用线上教学方式。但目前国内常用的学习通、雨课堂等线上教学平台,尚不能提供如此全面的细节数据,而能够获得的课堂签到率、视频观看时长等数据,是否可以真实反映学生在无监督状况下的线上学习状态也还存在疑问。另外,平台数据是否能够有效反映学生当前学习面貌,也与平台功能、教学组织、学习习惯、地域文化等因素相关。与这些平台数据相比,教师在自身实施形成性评价过程中积累起来的数据,更易获取,更有针对性,且教师明了其可信度,可以方便地用于了解学生当前学习状态。“电力电子技术”形成性评价包含课前预习、课后回顾、课后作业、大作业等递进式环节,每个环节都对应着不同的学习任务并独立评分。除上述形成性评价成绩之外,学生对先修课程知识的掌握程度也会影响本课程的学习,可将多门先修课程的成绩按照学分加权后用作特征量。另外,学生在学习本课程之前累积的平均学分绩点能够在一定程度上反映学生的学习态度和学习能力,也可被选为特征量。综上,本文选择先修课程加权平均成绩、平均学分绩点、本课程的课前预习、课后回顾、课后作业、大作业成绩作为特征量,维数d=6。为便于后文叙述,这里依次对上述6个特征量分别编号为1、2、3、4、5、6。2021—2022学年第一学期的课程教学对象为电气专业3个班的102位学生,每位学生的上述6项成绩数据构成一个样本,再加上学生最终获得的课程考核成绩作为标记,得到可用于模型训练的102个样例,构成训练集。机器学习是从训练数据(训练集)中学得模型的。理想情况下,它希望能够从这些有限的训练样例中学到样例空间中全体样例所具有的一般特征,从而可以利用学得模型来对新样本的标记进行可靠预测。训练数据是否能够准确表达所有可能样例的一般特征,是学得模型是否有效的关键。对训练数据的预处理,是实现这一要求的步骤之一。机器学习中的数据预处理通常包含缺失值处理等多项内容。在课程学习预警任务中,主要涉及异常值处理、数据标准化两项。所谓异常值是指样本数据中与其他数据存在明显差异的数据点,也称离群点。散点图是用来直观判断异常值的有效办法。图1、图2以本文训练集中课前预习成绩为横轴,分别给出了课后回顾、大作业成绩的散点图,图中每个点代表一位学生(一个样本)的成绩数据。观察图1和图2可以看出,图中圆圈标识的数据点远离多数数据点,属于异常值,予以剔除。剔除4个具有异常值的样本之后,训练集包含98个样例。数据标准化的主要形式是数据归一化。不同特征量的数据变化范围不同,会影响机器学习算法的学习和预测能力。本文所选6个特征的数据取值范围(成绩满分值)各不相同。另一方面,在动态的滚动学习预警过程中,每次预警所用数据对应的满分值也不一样。例如,课程前三周只包含5次课前预习,随着时间推移,在其后第二次、第三次学习预警时,这个次数会一直增加,对应的数据取值范围也随之变化。由于上述两方面的原因,需要对前述6个特征值的原始成绩数据做归一化处理,即通过除以各自的满分值,将数值变化范围统一为[0, 1]。为了构造预测模型,需要在众多机器学习算法中选择适合于任务和数据的一种。这些算法可以大致分为分类、回归、聚类三类。课程学习预警任务的目的是在全体学生中识别出有可能考核不合格的那一类学生,属于分类问题。为了采用分类算法完成课程学习预警任务,需要将训练集中样例的标记值转换为不同的类别值。本文将归一化之后的标记y(课程考核成绩)按照 y<0.6、0.6≤y<0.7、0.7≤y<0.8、y≥0.8分为4类。在对各种机器学习分类算法的使用经验不充分的情况下,Matlab软件“统计与机器学习工具箱”可以为选择算法提供便利。该工具箱包含一些常用的分类算法函数,采用上述训练数据进行不同算法的测试,发现朴素贝叶斯算法的效果较好。虽然另有比该算法效果更好的算法,但该算法易于理解、过程简单、适用面广,便于非专业教师掌握并熟练使用。用于解决分类任务的朴素贝叶斯算法源自贝叶斯决策论。以对类别误判带来的损失风险最小化为目标,应将测试样本x的类别预测为使条件概率P(c|x)取最大值的类别值c。这里,类别即前文所述标记y;类别值,即标记值。若样本x有4个可能的类别标记,为了简便,在算法程序和样例数组中,可以使用数字1、2、3、4来表示不同的类别。其中,1即c=1对应于前述y<0.6、课程考核不合格。式(4)对应于样本特征取值为离散值的情况,例如对学生成绩进行分类、转换为类别值,这样才能统计特征值为xi的样例个数。在特征取值为连续值时,例如上述归一化之后的各项成绩,则需利用极大似然估计来得到概率密度函数p(xi|c)的值。至此,式(1)中分子的数值可估计,这就是朴素贝叶斯算法。用于学习预警的特征均为学生成绩数据,经归一化之后仍为连续值,且全体学生成绩数据的概率密度通常是符合正态分布。但在按照标记(分类后的课程考核成绩)将全部训练样本区分为某几类样本之后,其中某一类样本就很可能不再符合正态分布。尤其是在进行滚动学习预警并对学生的学习施加人为干预(帮扶)的情况下,学生成绩的分布状态不确定,且是在动态的预警和帮扶进程中不断变化的。因此,无法假定第c类样例符合某一确定的分布形式并按照式(5)估计p(xi|c)的值,只能对样本的各个特征进行分类,根据式(4)估计P(xi|c)。这里尝试采用与课程考核成绩相同的分类方式。在训练集样例数量有限的情况下,使用式(3)计算P(x|c)的过程中,可能出现某一分类的样例数为0即某个P(xi|c)=0的情况,这会使式(3)计算结果为零,从而将其他非零P(xi|c)值所包含的信息一并抹去。为避免这一情况,可以采用拉普拉斯修正(Laplacian correction)将式(2)、式(4)修改为式中:N为标记的分类数;Ni为第i个特征的分类数。需注意,可以用式(2)、式(4)或式(6)、式(7)对概率P(c)、P(xi|c)进行准确估计的前提是训练集样例充足且独立同分布。样例数量充足是个相对的概念,取决于可能的样本总量。在特征取连续值的情况下,可能的样本数量有无穷多。将6个特征都分为4类,样本总量为46=4096个。若选取5个特征并将其分为3类,则样本总量为35=243个。相对于4 096而言,98个训练样本不能说是充足的。而对于243,98个样本可以认为是充足的。下文会给出这些情况下的预测结果,读者可以进行对比。所谓独立同分布是指所用的训练样例都是从符合同一概率分布的全体样本中独立抽样得到的。在训练集包含几个班的全体学生成绩的情况下,这个条件通常能够满足。“所有特征之间相互独立”是朴素贝叶斯算法的前提假设。实际应用中,这个假设通常不能被很好地满足,但朴素贝叶斯算法依然在广泛的应用中表现出良好的性能,成为使用最多的机器学习算法之一。回顾上述朴素贝叶斯算法的计算式可以看出,采用朴素贝叶斯算法对新样本进行预测,只需要对训练集中各类样例进行计数,然后按照式(1)~式(4)进行简单计算,并取P(x|c)P(c)计算值的最大值,就可得到预测结果。构造预测模型时不需要训练,大大简化了实现过程。朴素贝叶斯算法本身没有可调的算法参数,但所选择的特征(维数)、分类的类别个数是否适当,都需要在预测模型测试过程中逐步确定。如前文所述,采用2021—2022学年第一学期电气专业3个班98位学生的“电力电子技术”课程完整成绩数据构成训练集。为对模型的泛化能力进行测试,需构建用于测试的数据集。测试集的选取应尽可能贴近实际应用以保证测试结果的有效性。如前所述,所建模型将被用于滚动的课程学习预警,第一次预警在课程第三周学习完成后进行。形成性评价的成绩数据随课程学习进程的推进而不断积累,越是前期进行的预警操作,所能获取并用作预警依据的成绩数据量越少,对预测模型的泛化能力要求也就越苛刻。由此,取上述98位学生课程前三周的形成性评价成绩数据构成测试集。前文构建模型过程中,指定维数d=6、特征及标记的分类数均为4,采用朴素贝叶斯算法,基于训练集进行分类计算,在训练集上的分类结果混淆矩阵见表1。混淆矩阵中,纵向第一列为训练样例给出的真实分类标记值,横向第一行为预测(计算)的分类值,其他数字为样例个数。显然,处于矩阵对角线上的数字是被准确预测的样例个数,其他数字则是被误判的样例个数。被准确预测的样例总数与训练集样例总数之比,称为精度。表1对应的预测精度为78.6%,而测试集精度则只有60.2%,该精度值明显偏低。尝试减少样例特征和标记的分类数,按照y<0.65、0.65≤y<0.8、y≥0.8分为3类,得到混淆矩阵见表2。表2中“/”前数字对应于训练集结果,“/”后对应于测试集结果。训练集精度提高至86.7%,查准率、查全率分别为85.7%、88.2%,测试集指标也明显提高。表2 混淆矩阵(d=6,分类数3,训练集/测试集)这里,查准率与查全率是一对相互矛盾的模型性能度量指标。由于学习预警的目的在于判定可能考核不合格的学困生并进行帮扶从而使其能顺利通过期末考核,所以预测模型是否能够将可能考核不合格的学生全部找出,即查全率,具有更为重要的意义。而如果查准率数值较低,则意味着有一些学生被误判为学困生并得到了预警、帮扶,这对于实现学习预警的目标是有利无害的。前述分类界限值,将y<0.65而不是y<0.6的学生标记为1类,也是出于查全率更重要的考虑。据此,在对课程学习预警模型的好坏进行评估时,将预测精度作为初步的判别指标,将查全率作为重要判别指标,兼顾查准率。下面考虑特征选择的有效性。前文根据因果关系选择了6个特征用于课程学习预警。使用Matlab的最小冗余最大相关性(minimum redundancy maximum relevance, MRMR)等特征选择算法对训练样例进行分析,结果表明第6个、第1个特征在分类重要性排序中靠后,可考虑删去。在“电力电子技术”形成性评价中,大作业是由小组协作完成的,小组成绩即每位组员的成绩;这使大作业成绩数据的分布状况与个人完成的课前预习等其他三项形成性评价成绩有明显区别,如图1和图2所示。图1中,课后回顾成绩随着课前预习成绩的提高而提高,呈现明显的正相关关系。而图2所示大作业成绩与课前预习成绩的相关性则不明显,且学生个体之间的差异度及区分度小。因此,在判定学生个人学习状况的学习预警中,大作业成绩对判定结果的重要性相对较弱,甚至可能带来不利影响。所以,删去第6个特征,得到混淆矩阵见表3。随后又尝试将分类数减为3、删去第1个特征等,此处不再详述。表4对上述尝试所得模型性能指标进行了对比,其中训练集与测试集的第1、2、3行数据,依次对应于表1~表3所示情况。表3 混淆矩阵(d=5,分类数3,训练集/测试集)注:1. 表中“分类数”列数据,“-”前为特征分类数,其后为标记分类数;2. 表中“特征选择”列给出的数字,对应前文1.1节对六个特征的编号。“1~6”意指使用了全部六个特征,“2~5”意指使用了编号为2~5的四个特征。表4分别将使用训练集、测试集进行分类所得性能指标的最大值用粗体标出。与训练集比较,测试集的分类是对新样本的预测,可以反映分类算法的泛化能力,更具价值。分析表4所列数据,并综合前文讨论可以看出:1)使用先修课程加权平均成绩、平均学分绩点和本课程的课前预习、课后回顾、课后作业成绩5个特征量且分类数为3-2的模型整体占优,可选定为预测模型。图3为采用该预测模型所得分类结果的散点图,真实标记为1而被误判为其他类别的数据点在图中以“×”表示,这些数据点是最需要关心的。在训练集和测试集全部数据中,共有三个这样的样本,表5给出了这三个样本归一化之后的特征数据。可以看出,其中两个样本存在某项成绩偏高、同时某项成绩偏低的现象,一定程度上属于前述异常值,而另一个样本(表中第三行)的数据则处于分类1与分类2的界限上下。图3 分类结果散点图(d=5,分类数3-2,测试集)2)现有机器学习算法不考虑特征、标记之间的因果关系及数据生成过程等数据之外的因素,数据决定了通过机器学习算法能够学得什么。对样例数据的预处理,有利于提高预测模型的泛化能力和分类结果的有效性。课程学习预警的目的在于通过帮扶来尽可能使更多学生达成课程学习目标、在毕业时达到毕业要求。采取何种具体的帮扶措施,与学生及课程、专业、学校的实际情况和限制条件相关。通常需要考虑下面几条基本原则。人生要有方向,学习也要有方向。一方面,教师需制定明确的课程学习目标,并设计方向明确、阶梯递进的学习任务来引导学生一步一步达成学习目标。另一方面,教师应通过课堂讲解、简化版教学大纲、书面说明等形式,让学生充分理解学习目标是什么,让学生充分理解由多样的学习任务构成的路线图,设计易理解、可操作的评价量表来明确每项学习任务的具体要求,学习过程中将好的作业作为样例发送全体学生来使学习目标进一步具体化,让学习目标成为教师和学生共同理解和共同努力的明确方向。这些既是促进有效学习、减少学困生的前提,也是学困帮扶首先要考虑的前提条件。学习成绩偏低是学困生的主要外在表现,也是前文学习预警的直接依据。课程形成性评价环节和考核方法、成绩评定量表都是围绕课程学习目标进行设计的,直接反映学生对课程学习目标的达成过程与最终学习成果。因而,对学困生的帮扶必须考虑学生是否准确了解学习目标是什么,并通过宣讲、研讨、样例作业等具体措施来使学生明确学习目标,引导学生向正确的方向努力,从而提高学习成绩。形成性评价与课程教学全程相伴。形成性评价中的每一次学习任务或作业(下文统称为作业)都是对每一位学生当前学习状况的直接反映。学困生的作业往往存在各种各样的问题。针对学生作业中存在的问题进行辅导,帮助学生解决现实问题,是最为直接的学困帮扶措施,也是帮助每一位学困生逐步改进其个性化学习的关键措施。这里有两点需要注意:一是时效性,在作业提交一两天内尽快反馈和辅导,学生做作业时的记忆还在、思考还可继续;二是专注于一点,学困生的作业经常会同时反映出多个问题,与学习目标要求存在多方面的差距,给学生反馈时,应尽量专注于其中关键的或是基础性的一点,待学生根据引导逐步改善这一个问题后再顾及其他,如果一次将问题全部提出,可能导致学生无从下手甚至滋生畏难情绪。另外,在作业内容、难度、学习环境与支撑条件的设计上,需要照顾到学困生的需要。略高于学生当前知识能力水平的作业,让学生“跳”起来能“够”得到,对学生能力的扎实提升更有效。教师是个伟大的职业。无论何种帮扶措施,都意味着教师工作量的增长,都离不开教师责任心的支撑,都离不开教师对学生成长与未来发展的诚挚关爱。将本文所述滚动预警算法用于“电力电子技术”课程教学。从课程教学第三周末开始,共进行五次课程学习预警,并依据上述原则进行学困帮扶。从五次预警的学生人数来看,除因学习内容难度增加而导致第二次预警人数略有增加之外,第三至五次的预警人数持续减少,第五次预警人数较第一次减少70.6%。课程期末考核的不及格率较前一学年降低了6.2个百分点,且未被预警的学生均通过了考核。这表明,所述算法能够有效识别学困学生,帮扶措施能够改善学生的学习成果。本文将课程学习预警与课程形成性评价相结合,详细叙述了采用朴素贝叶斯分类算法进行课程学习滚动预警的具体做法,对比了不同参数取值情况下的学习预测效果,希望能够为相关专业教师提供参考。在学困帮扶过程中,如何判定某一学生个体的具体的学习困难是什么,进一步地,如何针对这位学生的问题进行有效的帮扶设计并在实施中自适应调整,未来也可以尝试引入机器学习等人工智能方法作为辅助工具,逐步推进人工智能辅助教学。
本工作成果发表在2023年第5期《电气技术》,论文标题为“基于机器学习的课程学习预警与帮扶”,作者为史敬灼、付艺玮。本工作得到河南省新工科研究与实践项目的支持。
下载论文PDF版,请点击左下角“阅读原文”,访问期刊网站。
联系我们
☎️ 《电工技术学报》:010-63256949/6981;邮箱:dgjsxb@vip.126.com
☎️ 《电气技术》:010-63256943;邮箱:dianqijishu@126.com
☎️ 《中国电工技术学会电机与系统学报(CES TEMS)》:电话:010-63256823;邮箱:cestems@126.com
☎️ 编务:010-63256994
☎️ 订阅:010-63256817
☎️ 商务合作:010-63256867/6838