开篇:润墨网以专业的文秘视角,为您筛选了一篇SA—B融合算法在教学质量评价模型中的应用范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!
【摘要】用于训练BP神经网络的反向传播算法(BP算法)易陷入误差局部极小。本文引入模拟退火算法(sa算法)改进BP算法的全局寻优能力,给出了SA-BP融合算法的具体步骤,并应用于教学质量评价模型的构建,应用结果表明了该模型相对传统BP神经网络具有更高的精确度。
【关键词】BP算法;SA算法;人工神经网络;梯度下降;教学质量评价
1.引言
教学质量评价是一个复杂的人性化过程,传统的评价方法无法体现评价指标和评价结论之间的逻辑关系,如常用的各项指标得分加权求和的方法就存在着用线性简化非线性,指标权重的确定较为主观化等问题。因此,为获得良好的教学质量评价成效,建立科学的评价模型具有重要的意义。
BP神经网络是使用BP算法进行训练的多层前向神经网络,具有极强的非线性映射能力,且网络结构规则,训练算法成熟,因此在工程领域得到了广泛的应用。但是,传统BP算法存在易陷入误差的局部极小,无法收敛到全局最优解的固有缺陷。
本文引入模拟退火算法(SA算法)改进BP算法的全局寻优能力,给出了SA-BP融合算法的具体步骤,并应用于教学质量评价模型的构建,应用结果表明该模型相对传统BP神经网络具有更高的精确度。
2.BP神经网络
BP神经网络是由输入层、输出层、一个或多个隐层组成的多层前向网络,一个典型的单隐层的BP神经网络如图1所示。
设网络的输入为,隐层神经元的输出为,网络的实际输出为,网络的期望输出为,n、r、m分别为输入层、隐层、输出层的节点数。输入层到隐层的权值为,阈值为,隐层到输出层的权值为,阈值为,i、j、k为输入层、隐层、输出层对应的节点编号,网络的激活函数为。
BP神经网络的运行分为两个过程:
(1)信号的前向传播,输入信号依次通过隐层和输出层,隐层的输出为:
,输出层的输出即为网络实际输出,计算式为:
(2)误差的反向传播,期望输出与网络实际输出差值就是误差信号,单个训练样本输出层瞬时误差为:
,所有训练样本的总体平均误差为:
,在线学习使用作为权值调整的目标函数,批量学习使用作为权值调整的目标函数。BP神经网络使用误差梯度下降法调整权值,权值调整量为,通过该式推导得出输出层的权值调整计算式为,局域梯度定义为,其中,为输出层节点k的诱导局部域,即节点k所有输入与权值的乘积;隐层的权值调整计算式为,局域梯度定义为:
通过上述两个过程的交替迭代进行,网络权值最终会收敛到误差的一个极值点。
3.SA-BP融合算法
3.1 SA算法概述
BP算法中梯度下降是一种“贪心”策略,它的每一步都会在局部误差下降最快的方向进行权值调整,而BP神经网络的误差曲面高度复杂,通常存在多个极值点,导致BP算法易陷入误差局部极小。SA算法是一种典型的全局寻优算法,源于对金属退火过程的模拟,金属原子在高温状态下会进行激烈的无序运动,经过逐渐冷却,这种运动会不断趋向于较低的能量状态,最终到达可能的全局能量最低状态,退火过程能量状态的概率分布由如下关系确定:,其中为处于能量状态E时的概率,T为绝对温度,k为Boltzmann系数。SA算法中能量趋于最低状态的特性能为BP算法加入了全局搜索能力,此时SA算法的能量函数等效于BP算法中的误差函数,SA算法的作用是引入参数的随机扰动,使权值调整有机会脱离误差局部极小区域,最终以较高概率收敛到误差的全局最小。
3.2 SA-BP融合算法具体步骤
SA-BP融合算法的具体步骤如下:
(1)设BP神经网络初始权值为,退火过程的初始高温为,停止温度为,温度衰减函数为,马尔科夫链长度为;
(2)使用BP算法对网络进行一次训练,求出当前状态下的各层权值,使用的权值调整公式为,动量项为动量系数与前一时刻权值修正量的乘积,它记忆了前一时刻权值的调整方向;
(3)用训练样本计算权值下的输出误差;
(4)为网络各层所有的权值上加上一个很小的随机扰动,使网络各层权值变为,权值调整公式为:;
(5)用训练样本计算权值下的输出误差;
(6)计算,若,则接受状态;否则,产生[0,1]之间均匀分布的随机数,计算概率,若,接受,否则,接受;
(7)将当前权值作为新的,循环执行上述(4)~(6)步次,获得权值;
(8)使用温度衰减函数降温,将当前权值作为初始权值,循环执行(2)~(7)步,直到温度降至预设的停止温度。
(9)此时得到的权值即为最终的BP神经网络参数。
4.应用实例
教学质量评价模型采用单隐层的网络结构,选择了4个评价指标作为网络的输入,分别为“内容选择”、“教态”、“逻辑性”、“教学方法”;将每个指标分为5档,分别为:很好、较好、中等、较差、很差;评价结论作为网络的输出,分为4档,分别为优秀、良好、中等、差等。用二进制数对评价指标和评价结论的档位编码。通过发放调查表,共采集到90组样本数据,其中60组作为训练数据,30组作为测试数据。
使用SA-BP融合算法对网络进行训练,网络初始权值设为0,学习率设为0.02,动量系数设为0.7,初始高温为100,温度衰减率为0.95,停止温度为1.0×10-3,马尔科夫链长度为20。与带动量项的传统BP算法进行对比,实验结果如表1所示。
从实验结果可知,SA-BP融合算法相对于传统BP算法训练误差更小,测试误差更小,但迭代次数更多,这说明了SA-BP融合算法的能收敛到更小的误差极值点,因而能更好的表达输入与输出之间的对应关系,但搜索的随机性更强而导致收敛速度更慢。这些结果与我们最初的设想基本一致。在选择最佳隐层神经元数时,我们还发现SA-BP融合算法相对所需的隐层神经元数更多,这也说明了SA-BP融合算法具有更强的计算能力。
5.结束语
SA-BP融合算法引入模拟退火原理,使BP神经网络具备了一定的全局寻优能力,能有效地解决BP算法易陷入局部极小,致使网络训练误差增大,实际应用时性能不佳的问题。将SA-BP融合算法用于教学质量评价模型的构建,实验结果证明SA-BP融合算法相对于传统BP算法训练误差和测试误差更小。但SA-BP融合算法也存在着收敛速度更慢的问题,该问题可能是由于SA算法在极值搜索过程中引入了更多的随机性导致,需要在进一步的研究中加以解决。
参考文献
[1]D.E.Rumelhart,G.E.Hinton,R.J.Williams.Learning representations by back-propagation errors[J].Nature,1986(323):533-536.
[2]S.Kirkpatrick,C.D.Gelatt,M.P.Vecchi.Optimization by simulated annealing[J].Science,1983(220):671-680.
[3]贾丽会,张修如.BP算法分析与改进[J].计算机技术与发展,2006(10):101-103.
[4]潘昊,张华伟,高美铃.基于SA-BP算法的主减速器品质诊断研究[J].武汉理工大学学报,2011(1):1-4.
重庆市教委科学技术研究项目(编号:KJ091605)资助。
作者简介:周树语(1974—),男,重庆大学计算机软件与理论专业硕士研究生毕业,重庆大学计算机学院在读博士研究生,讲师,研究方向:机器学习、神经网路、模式识别。