摘 要:基于对人工神经网络和CELTS-22的研究,建立了以CELTS-22中主要评价规范为参照的指标体系。该系统应用三层BP神经网络结构,设计出能模拟专家进行评价的计算机辅助评价模型,可以弥补评价过程中的人为失误。
关键词:BP神经网络;CELTS;网络课程
教育部教育信息化技术标准委员会发布的CELTS-22,即网络课程评价规范,对网络课程的规范化起到了极大的作用。网络课程评价对象含有的多种属性从不同侧面反映了评价对象的不同特征,而这些特征往往又带有一定程度的模糊性[1],且标准本身是用自然语言描述的,存在很大的二义性[2],从而在人为评价过程中,难免会出现人为失误,很难保证评价的一致性。评价模型固然重要,而保证评价的客观性和一致性却是作为一种评价规范的根本。笔者根据CELTS-22规范选取指标体系作为示范,设计BP神经网络模型,并给出可行的评价程序。在计算方法上,用Matlab的神经网络工具箱(NNT)来进行网络设计和计算。通过大量样本的训练和测试,模型的误差在预定的范围内。
1 建立基于BP神经网络的评价模型
1.1 BP神经网络原理简介
BP人工神经网是Rmenlhart、McClelland等[3]研究并设计的基于误差反向传递算法(Back-propagation) 的一种多层前馈型神经网络。在人工神经网络发展历史中,在很长一段时间内没有找到隐层的连接权值调整问题的有效算法,直到误差反向传播算法(BP算法)的提出,才成功地解决了求解非线性连续函数的多层前馈神经网络权重调整的问题。
它的学习规则是使用最速下降法,通过反向传播来不断调整网络的权值和阈值,使网络的误差平方和最小。BP神经网络模型拓扑结构包括输入层(input)、隐层(hide layer)和输出层(output layer)。其结构示意图如图1所示。
BP算法具体过程可归纳如下[4]:
(1)选定u个样本,作为训练集;
(2)权值、阀值初始化,即对神经网络中所有的权值阀值进行初始化,初始值通常设为(-1,1)之间的随机数;
(3)将作为输入层的数据按照各个连接权重的大小加权输入至隐含层的激活函数,然后再得到新的值,按照各个连接权重的大小加权输入至输出层的激活函数,计算出输出层的输出结果;
(4)如果输出结果与预期的结果有误差,则计算训练误差;
(5)调整权值和阈值;
(6)按新权值与阈值计算各层的输出,直至训练集满足停止条件为止。
1.2 评价指标体系的选取
2002年教育部教育信息化技术标准委员会发布了网络课程评价规范,规范从以下4个基本维度来评价网络课程的质量特性:(1)课程内容:指课程内容本身的学术质量和组织结构,这是决定网络课程质量的核心要素;(2)教学设计:指对课程的教学目标、教学过程及教学测评方法的合理设计,这是决定网络课程质量的关键,是网络课程区别于一般网络软件的特色所在;(3)界面设计:指对学习者与网络课程系统之间的信息交流方式的设计,简便易用的人性化的界面设计是决定网络课程质量的另一个重要因素;(4)技术:可靠、适当的技术是网络课程质量的前提和基本保障。每个维度下包含有具体的评价指标。课程内容维度有7 条指标,用以评价课程内容本身的质量及组织结构。教学设计维度有14 条指标,用来衡量网络课程的教学目标设计、教学过程策略设计和测评方法设计。界面设计维度有9 条指标,用来评价影响网络课程的易用性的要素。技术维度有6 条指标,用来评价所采用技术的可靠性和适当性。整个规范共包括了36条评价指标,共包含20个M(must)必选项,16个(Option)可选项,其中所有M项必须全部通过才算合格。
基础指标数量多、各指标之间仍然会有复杂的耦合,因此网络课程指标体系与网络课程的质量之间是一个复杂的非线性关系。人工神经网络由大量简单的神经元广泛连接而成,可用以模拟人脑思维方式的复杂网络系统,还可以充分利用积累的各种信息以非线性系统来表示输入、输出之间的复杂关系[5]。笔者主要以CELTS-22规范中的第一个一级指标,即“课程内容”中的若干二级指标作为训练样本,以其他的一级指标中的若干二级指标作为测试样本。
2 BP神经网络的层次设计
2.1 基于BP神经网络的网络课程质量模型设计
以一级指标“课程内容”中的7个子指标作为输入层,输出层为“课程内容质量”,隐层单元数目与问题的要求、输入和输出单元的数目都有着直接关系[6]。其经验计算公式为[7]:
在式(1)中,n和m为输入单元个数和输出单元个数;L为隐含层单元个数。在实际网络设计中,根据收敛速度、设定精度进行进一步的调整[8]。设计好的评价的模型如图2所示。
2.2 评价指标归一化处理
在BP神经网络的课程内容质量模型中,输入层的7个输入指标在进行训练之前首先应进行归一化处理。其中前4个指标为M (must)必选项,后3个为( Option)可选项。
根据要求,M选项必须达到要求,所以将前4个M指标归一化处理中只要样本中有一个不达标(即样本中有的M指标小于1.0),则该项子标的专家期望值都为0.0。后3个(Option)可选项可用实际值除以最高要求值,使之在[0,1]之间,专家期望值可根据根据我国现行网络课程质量认证标准。课程对可选指标选项的符合程度越高,分值也越接近这一指标的满分。任何课程必须达到一定量的可选项要求,才有可能通过认证[9]。所以笔者将专家期望值计算方法设为:情况一,M项中至少有一个小于1,则专家期望值为0.0;情况二,当M项中全为1.0时,专家期值T为:
其中a、b、c分别代表内容编排、内容链接、资源扩展的样本值。这样,一方面保证了专家期望值在[0,1]之间;另一方面,针对M项与O项的不同约束性的不同权重的考虑采用以上公式计算,保持与我国现行网络课程质量认证标准的统一性。
2.3 BP神经网络训练方法分析
在进行BP神经网络设计时,应从网络的层数、每层中的神经元数、初始值及学习速率等几个方面进行考虑。已经证明:三层BP神经网络可以实现多维单位立方Rm~Rn的映射,即能够逼近任何有理函数[10]。因此,笔者采用三层结构设计,并且优先考虑增加隐含层中的神经元数。根据公式(1)计算机可以得到隐含层的神经元数初值,可以设为4。
采用Matlab7.0神经网络工具箱对网络进行训练时,实现方法有很多种,常用的有梯度下降法(traingd)、动量的梯度下降法(traingdm)和自适应lr的梯度下降法(traingda)等。前面已考虑到了层次数以及隐层神经元个数,因此在训练方法选择上考虑了训练速率问题。有自适应lr的梯度下降法就能够自适应调整学习速率,从而增加稳定性,提高速度精度。因此,笔者选用有自适应lr的梯度下降法(traingda),并设学习速率为lr=0.06。
2.4 最优隐层数分析
尽管由经验公式(1)可以确定隐含层数,但为了更为精确地确定最优隐含层次数,采用Matlab7.0神经网络工具箱对网络进行训练,直到训练误差达到了精度要求时,训练停止。可以算出不同隐层数的训练实际步数以及最大误差值。给定的学习精度为e=0. 01,对隐含层数进行测试,得到如表1所示测试结果。
通过表1可以看出当隐含层数为5步时,其训练误差最小,且所需训练步数最少。因此,采用的隐层神经元个数为5个。
2.5 程序代码及结果分析
模拟专家打分得到10组样本,对样本按照公式(2)以及前面所述方法归一化。利用前面所确定的训练方法、隐含层数、学习精度进行训练。训练程序及代码说明如下:
p=[1 1 1 1 0.9 0.8 0.7;1 1 1 1 0.7 0.8 0.6; 1 1 1 1 0.5 0.6 0.7;1 1 0 1 0.5 0.6 0.7;1 1 1 1 0.5 0.4 0.3;1 1 1 0 0.5 0.6 0.7;1 1 1 1 0.4 0.6 0.5; 1 1 1 1 0.1 0.3 0.2;1 0 1 1 0.8 0.9 0.9; 1 1 1 1 0.75 0.9 0.9]; %输入训练样本
t=[0.9;0.85;0.8;0;0.7;0;0.75;0.6;0;0.925]; %期望输出样本
p=p';t=t'; %样本矩阵转置
net=newff(minmax(p),[5,1],{'tansig','purelin'},'traingda'); %训练函数
net.trainParam.show = 100; %每步显示100步
net.trainParam.lr = 0.06; %学习速率
net.trainParam.epochs = 5500; %最大训练步数
net.trainParam.goal = 1e-3; %学习精度
[net,tr]=train(net,p,t); %进行训练
p=sim(net,p);
shiji=p %实际训练结果显示
wucha=p-t %计算机误差
abs(wucha) %取误差绝对值
max(wucha(:)) %求最大误差值
程序运行后得相关结果及学习过程图如图3所示。
从图中可以看出运行152步以后网络训练完成。
对程序结果归纳后得到表2所示内容。
从表中可以看出当BP神经网络隐层神经元个数为5时,测试最大误差为0.047 8,最小误差为0.006 3,基本上控制在0.6%~5%之间,误差相对人工测试评价,小很多。
通过训练结果可以看出,运用该BP神经网络模型能较为精确地模拟专家进网络课程的内容质量评价,能较好地反映专家结论,从而避免了专家的重复劳动,并减少人为因素导致的误差。可以借助此方法进一步对网络课程其他的指标进行评价,也可将其他指标进行综合作为输入神经元,最终得到多个输出评价结果。
参考文献
[1] 胡水星.基于模糊理论的网络课程评价系统设计与实现[J]. 电化教育研究,2006,(6):52.
[2] 陶勇,杨贯中,也婷.CELTS.10标准一致性测试系统[J].计算机工程,2004,30(20):101.
[3] HARRIS J M.Carrying capacity in agriculture:global and regio-nal issue[J].Economics,1999,l29(3) : 443 - 461.
[4] 陈京民. 数据仓库原理、设计与应用[M].北京:中国水利水电出版社,2004:163-164.
[5] HECHT N. Theory of the back propagation neural network[A]. International Joint conference on Neural network[A],New York,Feb. 1989:875-878.
[6] 申慧,刘知贵,李春菊.基于BP神经网络的交通流量预测设计[J].西南科技大学学报,2008,23(2):73.
[7] 胡守仁.神经网络应用技术[M].长沙:国防科技大学出版社,1993.
[8] 奚丽波,孟凡芹,黄永平.基于BP网络的物资保障能力评价方法的研究[C].第三届全国决策科学/多目标决策研讨会论文,成都,2005.
[9] 张会杰,聂钢.网络课程质量认证标准的研究初探[J].现代远 距离教育,2004,(1):55.
[10] 杨淑莹.模式识别与智能计算机-Matlab技术实现[M].北京: 电子工业出版社,2008.