欢迎来到天天文库
浏览记录
ID:31359065
大小:108.50 KB
页数:7页
时间:2019-01-09
《基于adaboost算法的bp神经网络在软件老化测试中的应用》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、基于AdaBoost算法的BP神经网络在软件老化测试中的应用 摘要:为提高BP神经网络的预测精度,克服自身容易陷入局部极值和收敛速度慢的缺陷,将AdaBoost算法和BP神经网络结合起来,建立基于AdaBoost算法的BP神经网络模型。该模型将多个BP神经网络作为弱预测器,然后采用AdaBoost算法将多个弱预测器组成强预测器进行预测。将该模型应用于软件老化测试,实验结果表明,该模型相比单个BP神经网络具有更好的预测精度。 关键词:BP神经网络;AdaBoost算法;软件老化测试 DOIDOI:10.11907/rjdk.161726
2、中图分类号:TP319 文献标识码:A文章编号:16727800(2016)010013603 0引言 软件老化是指软件系统在长时间运行中由于数据没有得到及时更新、文件锁未及时释放、内存发生泄漏、计算时四舍五入误差的积累、存储空间碎片等导致软件性能下降,有时甚至出现系统崩溃或者直接宕机的现象[1]。为了应对软件老化,Y.Huang等[1]提出了软件再生的思想,即在软件系统性能严重下降时,采取暂停正在运行的程序、清理系统内存、释放不必要的资源等措施恢复软件系统的性能,降低损失。7 软件老化预测在软件再生中至关重要,软件系统老化点判断的准确
3、性影响软件再生的最佳时机。很多学者以BP神经网络为基础,进行各种改进并且将其应用于软件老化的预测。文献[2]将蚁群算法和BP神经网络结合起来,采用蚁群算法初始化BP神经网络的初始权值,一定程度上克服了BP神经网络容易陷入局部最小值,收敛速度慢等缺陷,提高了训练速度;文献[3]将马尔可夫模型和BP神经网络结合起来,对BP神经网络的预测值进行分析处理,利用黄金分割法划分状态区间,使用马尔可夫转移矩阵预测数据值,和单纯使用BP神经网络相比,具有较高精度;文献[4]在BP神经网络中加入动量项和模拟退火算法,通过加入动量项改善了收敛速度慢的缺点,模拟退火
4、算法解决了容易陷入局部最小值的问题。这些算法都是以BP神经网络为基础,针对BP算法收敛速度慢和容易陷入局部极小值进行了改进。 本文针对BP神经网络容易陷入局部极值和收敛速度慢的缺点,将AdaBoost算法和BP神经网络结合起来预测软件老化。通过实验仿真,结果表明基于AdaBoost算法的BP神经网络和单个BP神经网络相比具有更高的预测精度,验证该模型的有效性和可行性。 1实验环境搭建 在Linux系统上搭建Apache服务器,在Windows系统上搭建JMeter,模拟对服务器页面进行访问。7 Apache是一个开源、免费、应用广泛的服
5、务器软件。其配置灵活,本文实验中对两个参数进行重新配置:MaxClients和MaxRequestPerChild。MaxClients参数设置服务器能够同时连接的客户数。MaxRequestPerChild参数设置子进程可以处理的请求的数目,在子进程处理完最大数目请求时,父进程就会销毁子进程,重新产生一个新的子进程处理请求,这样在一定程度上避免了内存泄露,对于软件抗衰有一定作用。本实验中Apache服务器的版本是2.2.15。为了加速软件老化,所以取消服务器自身的抗衰策略。将MaxClients设置为最大值256,MaxRequestPerC
6、hild设置为0,子进程将永远不会被销毁,可以处理任意多个请求。 Jmeter是一个开源的测试工具,可以对http请求进行测试,接受服务器的名称和端口号、http请求的方式和url地址、发送速率等,返回平均响应时间、最大及最小响应时间、错误率、吞吐量等。本实验中Jmeter版本为2.1.3。 本实验采集数据有4个特征向量,分别是发送速率、吞吐量、每秒接收的数据量、平均响应时间。其中,平均响应时间的长短最能体现软件老化的特征,如果软件的平均响应时间是用户所不能接收的,就可以认为软件处于老化状态。根据2008年AberdeenGroup的研究报
7、告,对于Web网站,1s的页面加载延迟相当于少了11%的PV(pageview),相当于降低了16%的顾客满意度;如果从盈利角度计算,就意味着:如果一个网站每天挣10万元,那么一年下来,由于页面加载速度比竞争对手慢1s,可能导致总共损失25万元的销售额[5]。本实验以Apache服务器为研究对象,取消了Apache服务器本身固有的软件抗衰策略,测试其软件老化,客户机访问Apache服务器的一个静态网页,所以认为响应时间如果超过1s即为软件老化。 2BP神经网络 2.1基本概念7 BP神经网络是一个多层前馈神经网络,训练方式是输入数据正向传
8、播,经过隐含层到达输出层;计算实际输出数据和期望输出数据之间的误差,误差按逆向传播,经过隐含层到达输入层,并且将误差分配给所经过的所有神经元,以此作为
此文档下载收益归作者所有