时间:2024-12-28
(1.泉州师范学院 数学与计算机科学学院,福建 泉州 362000;2.福建省大数据管理新技术与知识工程重点实验室,福建 泉州 362000;3.智能计算与信息处理福建省高等学校重点实验室,福建 泉州 362000)
现有教学系统提供的教学资源、练习或作业几乎都是静态的,所有的学习者下载同样的教学资源,完成同样的练习及作业,教学系统无法对不同学生的学习情况及知识掌握情况做出区分.但教学系统中也存在着大量的学习者学习行为,如点击行为、浏览行为,还包括作业、练习、考试等完成情况.此外,部分智能教学系统甚至可以记录详细的学生解题过程行为,在这样具有海量行为日志的环境中,新型的智能教学系统应能自动识别出学习者的学习特点及学习倾向,跟踪学习者的学习情况,对学习者的知识点掌握程度进行实时评估,从而能够调整学习者的学习策略,向学习者推送薄弱知识点的教学资源、例题、作业及练习等,甚至是制订个性化学习路径.因此,根据学生的解题过程对其学习行为进行预测及评估就显得尤为重要.但在对学生解题过程行为进行分析时,首先题目之间具有较为复杂的相互关系;其次,对于同一类题目,不同的学习者可能使用不同的知识点并采用不同的方法来解答,再加上不同学习者对所使用知识点的掌握情况不同,这样就构成了一个具有高度不确定性的复杂系统.在这样的一个复杂系统中,必须采用一种能有效开展复杂系统分析的新方法,而贝叶斯网络作为人工智能领域中不确定知识表达与推理的方法之一,在故障诊断[1,2]、态势估计[3,4]、医学诊断[5]、风险评估[6]、目标识别[7]、推荐系统[8]等领域均得到了广泛应用.利用贝叶斯网络来评估及预测学习者的解题过程行为具有以下几个优点:首先,可以通过样本数据学习来构建贝叶斯网络结构,避免了主观性;其次,能通过贝叶斯网络的网络结构清晰地表达解题过程之间的因果关系;最后,贝叶斯网络具有学习能力,可以根据学习者的解题情况高效地更新网络中的概率信息,实现对实习者学习情况的实时跟踪.因此,本文采用贝叶斯网络方法,首先根据己有的学习者解题过程行为为每一类题目构建贝叶斯网络,在此基础上,将具有关联关系的贝叶斯网络合并,构建链式贝叶斯网络,旨在对学习者的学习行为进行评估及预测.
贝叶斯网络是一组随机变量u={X1,X2,…,Xn}上概率分布的图形表示[9],它由两部分构成:
1)有向无环图(Directed Acyclic Graph,DAG),即贝叶斯网络结构,图的节点对应了随机变量,而连接节点的有向边则表示父节点对子节点的直接影响;
2)每个节点都关联着一个条件概率分布(conditional probability distribution,CPD),这可以表示该节点与其所有父节点之间的相互关系.假若该节点没有父节点,则条件概率分布转化为边缘分布.所有节点的条件概率分布可以用P(Xi|Pai(Xi))来表示,其中Pai(Xi)表示有向无环图中结点Xi的父结点集合.因此,X的联合概率分布可以表示为:
贝叶斯网络学习包括结构学习和参数学习,结构学习是指网络结构的构建,而参数学习是指在网络结构己知的情况下,计算出每个节点的条件概率表.无论是结构学习和参数学习均可以采用基于专家经验的学习方法和基于数据的学习方法.基于专家经验的网络结构学习和参数学习分别是指专家根据先验知识中的因果关系来确定贝叶斯网络结构及每个节点的条件概率.然而,在对复杂系统进行分析时,单纯利用专家经验构建贝叶斯网络模型存在着工作量大、结果带有专家主观倾向等缺点,因此现多采用基于数据的学习方法.基于数据的学习是指从己有的客观观测数据中学习出贝叶斯网络,这同样包括网络结构学习和参数学习.基于数据的贝叶斯网络结构学习是指通过分析数据找到和样本数据集匹配度最好的贝叶斯网络结构.而基于数据的参数学习是指网络结构己知时,给定样本数据集,通过学习样本来计算出每个节点的概率分布表,从而确定网络参数.
本文主要研究学习者对数学方程求解的贝叶斯网络构建.数学方程求解具有若干基本方法,如去分母、去括号、移项、合并项、化系数等.虽然不同的学习者面对同一形式数学方程时可能采用不同的求解方法,但是在解法有限的情况下贝叶斯网络的网络结构和参数学习是可以根据专家知识来完成的.但在参数学习方面就需要专家具有丰富的教学经验,并且还需要对全体学习者的知识点掌握情况有充分了解.然而,采用基于专家经验的参数学习存在以下两个缺点:1)随着学习的持续进行,学习者的知识点掌握情况会发生变化,这就需要专家根据学习者学习情况的变化对贝叶斯网络参数进行实时调整;2)随着样本量的持续增加,可能存在一些专家主观未能注意到的关系或情况.基于以上两点考虑,假若采用基于专家经验的方法来构建贝叶斯网络及参数学习则需要很大的工作量,且构建出来的贝叶斯网络可能带有专家的主观倾向性,甚至可能会遗漏到一些专家没能注意到的情况.因此本文采用基于数据的方法来构建贝叶斯网络并进行参数学习.本文主要关注根据学习者的解题过程来预测后续解题行为,首先根据学习者的解题过程来构建贝叶斯网络,然后为网络中的每个节点计算条件概率表.
假设己有解题日志如下,共包含2个学生的对同一类题目P1的解题过程,表格中编号的第1位数表示学生编号,第二位数表示该生解题过程的步骤编号.第一个步骤为要解的数学方程,后续几行是学生的解题过程,过程中的若干步骤根据学生的解题方法对应了一个知识点.采用如下步骤构建贝叶斯网络:
1)如下表所示,对于P1类型的题目,教学系统会生成不同的常数、系数及方程变量名,因此首先应该对步骤中的方程进行规范,规范后的步骤如表中第3列所示.
2)对比表1中的两组解题步骤,前3步两位学习者应用了同样的知识点来解题.但是,从第4步开始,编号为2的学习者应用了与编号为1的学习者不同的知识点来解题,因而产生了两组不一样解题过程.而且,观察编号1.5和2.5的规范步骤,两个规范步骤中的方程是一样的,但是两位学习者面对同样的方程应用的知识点却不一样.因此要构建的贝叶斯网络中的节点信息不应该只包含规范步骤信息,还应该包含学生所应用的知识点.根据表1信息所构建的贝叶斯网络如图1所示.
表1 2个学习者对P1类方程的解题步骤
图1 单一题目的贝叶斯网络结构
网络中共有9个节点,分别标记为1~9.节点信息包含有规范好的步骤及学习者解当前方程所应用到的知识点,其中节点6和9只是计算,并没有关联到系统中预设的知识点.根据表1,编号为1的学生采用的解题过程为:1,2,3,4,5,6,编号为2的学生采用的解题过程为:1,2,3,7,8,6,9.
接下来,从文中所使用数据集中提取出采用了同样两种解题方法的34组解题过程对如上图贝叶斯网络进行参数学习,可得到以下条件概率参数表,其中1表示正确,0表示错误,-1表示不使用该节点.
表2 条件概率参数表
节点2节点1 不使用正确错误 正确00.560 错误00.440
节点3节点2 不使用正确错误 正确010.93 错误000.07 不使用000
节点4节点3 不使用正确错误 正确00.580 错误00.060 不使用00.361
节点5节点4 不使用正确错误 正确011 错误000 不使用100
节点7节点3不使用正确错误 正确00.331 错误00.030 不使用00.630
节点7节点3不使用正确错误 正确00.831 错误00.160 不使用100
节点9节点6不使用正确错误 正确00.551 错误000 不使用00.450
节点5节点8节点6不使用正确错误 不使用正确00.910.09 不使用错误010 不使用不使用00.50.5 正确正确00.50.5 正确错误00.50.5 正确不使用010 错误正确000 错误错误000 错误不使用000
例1:假设己知有学习者解题过程如下:1(正确)->2(正确)->3(正确)->7(正确),现要预测节点8的状态,采用条件概率表计算后,节点8不使用、错误、正确的概率分别为0、0.17、0.83,因此本例中贝叶斯网络的预测结果为正确.
例2:假设己知有学习者解题过程如下:1(正确)->2(正确)->3(正确)->4(正确)->5(正确),现要预测节点8的状态,但节点7状态未知,采用条件概率表计算后,节点8不使用、错误、正确的概率分别为0.64、0.06、0.3.因此本例中贝叶斯网络的预测结果为不使用.从图1可知,该生解题过程采用的是左侧路径,与节点8无因果关系,这与贝叶斯网络的预测结果一致.
然而,以上方法存在的缺点是对于每一个题目只提取出该题目下所有解题过程来训练一个贝叶斯网络.此外,在实际教学过程中数学方程题目的复杂度是随着教学过程的深入而逐渐递增的,再复杂的数学方程终会被变形或化简到简单的形式.如表1中方程ax+bx+c=d经过若干解题步骤后终会被化简为ax=b的形式.另外,如前所述,对于同一类题目,不同学习者可能采用不同的方法来解答,大部分学习者可能采用常规方法来解方程,但小部分学习者可能采用特殊的方法解答并且也能得到正确的结果,在这样的情况下,采用特殊方法的所构成的路径会由于训练数据偏少而导致对应节点上的条件概率非常小.基于以上考虑,如果根据以上方法来构建贝叶斯网络,学习者可能会因为采用了特殊的解题方法而导致预测正确率下降.因此本文提出第二种方法,即链式贝叶斯网络模型,以题目为单位,先为简单形式的题目构建贝叶斯网络,对于复杂形式的题目进行贝叶斯网络构建时,依次检测新节点方程是否已经对应有贝叶斯网络,如果已有,则不再将新节点添加到贝叶斯网络中,而是直接指向己有的贝叶斯网络.例如,为一般形式为ax+bx+c=d的题目构建贝叶斯网络时,假若学习者已经经过若干步骤化简到ax=b形式,不再继续为该网络继续构建后续路径,而是直接采用己有的一般形式为ax=b的题目的贝叶斯网络进行预测.
实验所采用的是KDD Cup 2010所提供的智能教学辅导系统2005-2006年的学生交互记录日志.该数据集记录了学生在系统中解答题目的过程行为日志信息.系统中的题目主要是解数学方程,题目按单元及章节的结构进行划分,每个题目均隶属于某单元下的某章节.学生在系统中选择性的答题,即并非每个学生都会解答所有题目.系统将学生方程求解过程中的每一次解方程操作(如移项、合并同类项、系数化等)或其他系统操作记录为一条日志记录,每条日志记录包含有学生编号、题目、当前方程、学生解当前方程所使用的知识点、是否正确、题目从属结构、题目查看次数、步骤开始时间、正确事务持续时间、错误事务持续时间、步骤结束时间、正确次数、错误次数、查看提示次数等19个特征.
本文提取数据集中包含了规范化步骤为ax+bx+c=d的所有解题过程,并且仅研究每组解题过程中规范化步骤为ax+bx+c=d及之后的所有解题过程.由于数据集中还包含了非解方程的系统操作记录,去掉这些与解方程无关的系统操作记录、部分解题组数过少的解题过程后,涉及到的题目包括EG46,EG46A,EG47,EG47A等,合计共18 494条解题记录,其中包含3213组解题过程.根据每个题目的组数,分别随机提取其中20%作为测试集,80%作为训练集.其中测试集以每组解题过程的最后一条记录为测试对象,由于并非每个测试对象的规范化步骤和知识点所构成的结点都存在于贝叶斯网络中,因此需要把这些解题过程去掉,得到最终的测试集为535组.
表3 两种方法的实验结果
如表1所示,实验数据集中每条日志记录中包含有当前解题步骤的方程,其中的变量名、系数和常数均由系统随机生成,因此首先需要对数据集中每条日志记录中的方程进行规范;接着采用本文第3小节中的方法,对于每一个题目,根据训练集中每个学生的解题过程进行贝叶斯网络结构的构建;第三,根据学生的解题步骤的三种状态:正确、错误及不使用构建参数学习数据集,接着采用最大似然估计法为已经构建好的贝叶斯网络进行参数学习,得出最终的条件概率表;最后,对测试集中每组学生解题过程的最后一条记录采用贝叶斯网络进行预测.在以上实验过程中还需要注意以下问题:在网络结构构建过程中会遇到小部分学生解题未完成时发现做错,在同一次解答过程中产生多次返回重做的路径,这会在网络构建过程中产生环路.对于这样的情况,需要对每组解题路径进行检测并删除掉会产生环路的路径
接下来采用两种方法分别进行实验.首先采用单一题目贝叶斯网络(S-BN)的方法,对于每个题目均构建一个贝叶斯网络,只采用该题目的训练集进行训练,再使用该题目的测试集进行测试;其次,采用链式贝叶斯网络(L-BN)的方法,由于数据集中EG53A题目对应的方程即为ax+bx+c=d形式,因此仅采用EG53A的训练集构建并训练出一个贝叶斯网络,再使用上述同样的所有题目的测试集进行测试,对于每个题目采用两种方法分别得到的正确率如表3所示.
从实验结果来看,除了作为L-BN训练集的题目EG53A及记录数太少的题目EG60上正确率相等以外,在其余题目上,L-BN所得到的正确率均优于S-BN.首先观察S-BN的实验结果,正确率波动较大,主要分布在55%~100%之间.部分题目正确率较高的原因是绝大部分学生都选用了同样的方法来解题,这使得训练数据解法较为单一,因此能得到较高的正确率.而部分题目正确率明显偏低的原因正如前所述,同一题目有多种解法,在这些题目上所有学生并没有采用较为单一的解法,而是分散使用了多种不同的解法,这导致了小部分解法的训练数据偏少,因此导致计算出来的正确率下降.而L-BN只采用EG53A题目的解题记录作为训练集,相当于对于训练数据偏少的部分解法加入足够多的训练数据,因此大部分题目上得到的正确率均有明显提升.此外,从训练集情况来看,S-BN的训练数据总和有一万余条,且为每个题目都训练了独立的贝叶斯网络,而L-BN的训练数据只有2 030条,只训练了一个贝叶斯网络,却几乎在所有题目上都得到了优于S-BN的正确率.这不仅解决了部分解题方法训练数据过少导致正确率低下的问题,而且明显减少了网络结构构建时间和参数学习的训练时间.
本文主要对教学系统上的学生解数学方程的过程行为进行评估及预测,首先提出基于单一题目的贝叶斯网络模型,分析了该方法存在的不足之处,并在此基础上,提出链式的贝叶斯网络模型,最后通过实验验证两种方法的有效性.实验表明,比起单一题目的贝叶斯网络,链式贝叶斯网络在网络构建时间、训练时间及正确率方面都有显著性的提升.
我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!