微波EDA网,见证研发工程师的成长!
首页 > 射频和无线通信 > 射频无线通信文库 > 贝叶斯网络在学生模型建模中的应用分析

贝叶斯网络在学生模型建模中的应用分析

时间:06-17 来源:互联网 点击:
个性化教育是现代远程教育最重要的特点之一,其中计算机网络特有的信息、数据库管理技术和双向交互功能,为个性化教学提供了有效的实现途径与条件。在个性化教学系统中,学生模型是学生的认知状态表示。它的作用是为系统提供关于学生对知识的掌握情况的信息,以便能够对学生进行正确的评价和预测,从而提供个性化的学习内容。因此,如何建立一个准确、高效的学生模型是整个系统的核心。分析和表示学生模型的过程称为学生建模[1-2]。
1 有关贝叶斯网络理论知识
贝叶斯网络(Bayesian Networks)也称为信度网、因果网,主要用于表示变量之间的依赖关系,并为任何全联合概率分布提供一种简明的规范。贝叶斯网表达了各个节点间的条件独立关系,可以直观地从贝叶斯网中得出属性间的条件独立以及依赖关系;另外可以认为贝叶斯网以另一种形式表示出了事件的联合概率分布,根据贝叶斯网的网络结构以及条件概率表(CPT)可以快速得到每个基本事件(所有属性值的一个组合)的概率。贝叶斯学习理论利用先验知识和样本数据来获得对未知样本的估计,而概率(包括联合概率和条件概率)是先验信息和样本数据信息在贝叶斯学习理论当中的表现形式。
2 学生模型中教学资源信息的建模
贝叶斯网络的建模目的是对所包含的定性知识和定量知识进行结构描述,定性部分由网络结构来描述,定量部分由条件概率分布函数来表示。从原始数据中构造贝叶斯网络模型,实质也是对原始数据进行数据挖掘:先找出最符合原始数据定性的网络图关系,然后根据网络图中的因果关系,计算节点间的条件概率。构造贝叶斯网络可以分为4个阶段:(1)定义域变量;(2)确定网络结构;(3)确定条件概率分布函数;(4)运用到实际系统中,并根据系统产生的数据优化贝叶斯网络。
在学生模型中教学资源信息的建模初期要考虑整个教学资源信息的网络结构,然后再考虑局部的知识结构:知识点的前驱、后继关系,知识点之间的相互影响程度,知识点的状态,以及与知识点相关的测试(包括识记、理解、应用、分析、综合等状态),只有经过测试,才能实现个性化教学。整个过程为将来个性化的评估做准备,根据评估结果实现贝叶斯网络的局部更新,也即学生知识状态的更新,贝叶斯网络根据更新过的学生状态,个性化地把内容呈现给学生[3]。
2.1 学生模型中整体教学资源的知识结构
本文把教学资源分为6个层次:课程知识、主知识项(按章划分)、一级知识项(按节划分)、二级知识项(也称复合知识项)、基本概念知识项、与上述知识相关的测试。层与层之间只有继承关系,同层内的知识可以是前驱和后继的关系,也可以是平行和关联等关系。可以认为前驱和后继关系是关联的一种特殊形式。
2.2 学生模型中局部教学资源的知识结构
2.2.1 定义域变量和确定网络结构

学生模型的建模就是要针对学生所学课程掌握的知识结构进行建模,从而根据学生的知识状况给出学生学习状况的评价。
以《Delphi程序设计教程》为例,按照课程的章节安排列出课程的知识结构,为了简化,只选取部分知识内容做出说明,整体结构可依次类推。比如在基本程序控制结构这一章,一级知识项(章)为:基本程序控制结构;二级知识项(节)有:顺序结构、循环结构、选择结构;复合概念有:While循环、For循环、Repeat循环;基本概念有:关系运算符、赋值语句、变量、数据类型。需要在贝叶斯网络中加入测试项作为输入节点,也可称之为观测节点。每个节点代表一个测试该知识点的测试项。
节点的状态表示学生对该知识项的掌握程度,例如可以用4个等级来表示学生对知识项的掌握程度,A:表示学生对特定知识项已完全熟练掌握; B:表示学生对知识项基本掌握,但是仍有一些问题;C:表示学生处在初级阶段,有许多问题;D:表示学生对该知识项完全不了解。每一等级对应一个条件概率值(值的加权和为1),该值是基于对用户的观测值得到的用户对知识项的掌握程度。在系统设计过程中,为了简化,设置节点的状态为True(掌握)、False(未掌握)。
2.2.2 条件概率估计
经过上面的分析,接下来将讨论如何获得知识项之间的影响程度的条件概率表。
在贝叶斯网络构建中所有节点都要给定条件概率,对于没有父节点的节点,需要给定其先验概率,条件概率可以通过样本学习和通过专家估计获得[4]。
(1)设计分析
在由数据类型(A)、关系运算符(B)、变量(C)、While循环(D)教学资源构成的网络拓扑结构中,每个节点有两个离散的状态:True和False,如果需要,节点也可以包括更多的状态。设计网络时,必须指定每个节点的条件概率表,需要获得P(A)、P(C)、P(B)、P(D/C)、P(D/B)。
(2)样本收集
经验数据来自于某校某班学生学习“基本程序控制结构”这一章节后,经过测试,对其测试结果进行分析并获得学习知识项之间的相互影响程度,这样就确定了利用贝叶斯网络所建学生模型中网络拓扑知识项之间的条件概率函数。
将学生的得分情况分为100~90、90~80、80~70、70~60、60以下5个分数段。认为如果学生答对涉及到该知识项的题目,那么他对该知识项的知识状态为True(掌握);反之,如果答错,则认为他对该知识项的知识状态为False(未掌握)。
(3)学习条件概率表[5-6]
算法的设计思想是:首先按照网络构建中节点的拓扑顺序,根据每个分数段随机抽取n份考试的试卷用于对网络中各节点的状态进行赋值,当所有节点都被赋值一遍后就得到该网络中的一次采样样本,依此重复,得到10 n个样本,即一个样本序列;然后对该样本序列按相关列进行联合统计可得到网络近似推理结果。由于随机采样时考虑了节点的先验信息,所以当样本数n取很大时,这些采样样本的边缘统计量和条件统计量就可以趋近于事件的真实发生概率和条件发生概率。
对所有节点都采样了m遍,得到m组样本,即样本序列S,然后对样本序列S按列进行单独统计,得到节点的全概率;对多列进行联合统计,得到节点间的联合概率和条件概率。
所谓联合统计,就是把证据节点和推理目标节点的采样样本联合起来进行统计,就得到了给定证据后目标节点发生的条件概率和联合概率。对网络中的所有节点按拓扑顺序采样m次,得到样本序列S,对样本序列进行适当的统计,可以得到网络的近似推理结果。
节点Ni(i=1,…,n)发生的全概率就是单独对该列进行统计的结果。例如,要知道学生对于“变量”(C)已经True的情况的概率P(C=True),只要把对是T的那些样本挑选出来,然后统计一下T的个数,除以总的采样次数m,就可以近似为C这一知识项学生已经True(掌握)的概率,即:

节点Ni(i=1,…,n)发生的条件概率就是把那些条件节点和该节点所在的相关列联合起来进行统计。例如,计算节点“D”在节点“B”已经True(掌握)情况下发生T状态(D也为True)的概率,也即求P(D=True|B=True),可以这样进行:首先,把在“B”中是T的那些样本挑选出来,形成新的样本序列So,其组数为no;其次,把样本序列So中在“D”中是T的那些样本挑选出来,然后统计T的个数,除以no,就可以近似为“D”在“B”取状态为True的情况下发生False状态的概率:

类似地,几个节点的联合概率则是把同时满足这些节点状态的样本挑出来,得到的样本组数除以总的样本组数m即可。
单独的节点状态概率,可以使用条件概率规则,并沿着边进行传播。
网络设计完成后,条件概率表进行了指定,网络进行了传播。
通过上面的分析,从定性方面完成了学生所学知识项的逻辑关系,并且通过经验数据获得了关于这些知识项之间存在影响程度的定量数据,最终构建成的个性化教学中关于《Delphi程序设计教程》课程中章节知识项的学生模型的框架如图1所示。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top