集成人工蜂群算法和BP神经网络的物联网环境软件老化预测外文翻译资料

 2022-08-09 10:08

英语原文共 8 页,剩余内容已隐藏,支付完成后下载完整资料


集成人工蜂群算法和BP神经网络的物联网环境软件老化预测

JING LIU , (Member, IEEE), AND LINGZE MENG

College of Computer Science, Inner Mongolia University, Hohhot 010021, China Corresponding author: Jing Liu (liujing@imu.edu.cn)

This work was supported in part by the National Natural Science Foundation of China under Grant 61662051.

摘要

软件老化是需要长时间运行的系统中普遍存在的现象,尤其是在物联网环境中。反向传播(BP)神经网络已被广泛采用来预测软件老化的趋势。但是BP神经网络的权重和阈值是随机初始化的,因此很容易获得不理想的局部最优解,并且收敛速度较慢。在本文中,我们提出了一种使用人工蜂群算法的软件老化预测方法,以优化BP神经网络模型,以获得更好的软件老化预测精度。实验结果表明,与传统的BP神经网络相比,该方法能够更准确地拟合软件老化的预测趋势,并且收敛速度更快,预测结果更稳定。

关键词:人工蜂群算法,BP神经网络,软件老化,预测精度

1.绪论

为物联网(IoT)环境开发智能协作数据处理软件系统非常重要。随着这种软件系统的复杂性增加,系统故障的频率也在增加。系统故障主要原因有三个分别是是硬件故障,软件故障和人工设计故障。 其中,软件故障是主要原因,并且主要集中在软件老化上。 软件老化是指在软件的长期不间断运行过程中,由于内存泄漏、未释放的文件锁、不及时的数据更新、存储空间碎片以及错误的累积而导致的软件性能退化。这些因素最终导致软件故障[1]。 软件老化的发生不仅降低了系统的可靠性,而且还危及人们生命财产安全。 因此,解决软件老化问题对于物联网环境中软件系统的可用性和可靠性至关重要。 在该领域中,如何准确预测软件的老化时间是一个重要而必不可少的研究课题,有助于提高物联网应用平台的软件运行可靠性。

目前,软件老化预测的分析方法主要分为两类。一种是基于模型的分析,另一种是基于数值的分析。基于模型的分析建立了基于不同状态软件系统的状态转换模型。通常使用马尔可夫链随机Petri网[2]–[5]来构建模型,并对该模型进行分析以决定复位的时间。复位通常采用重新启动的软件系统。同时,基于数值的分析首先需要收集系统资源(例如CPU,内存等)的运行状态,然后使用时间序列分析或机器学习算法对收集的数据进行处理,最后获得所需的最佳形态的复位的精确时间。无论是考虑基于模型的分析还是基于数值的分析,我们实际上都希望获得最优化的准确时间以进行修复。但是,基于模型的分析最终会产生一个固定的时间间隔,根据该时间间隔,软件将定期执行复兴,基于数值的分析将会基于系统资源消耗,并且可以在运行状态下的任何时间触发复位处于紧急状态的系统资源。我们的研究属于基于数值的分析。在这两种软件老化研究中,如何准确预测老化时间无疑是一个重要且必不可少的研究主题。

本文提出了一种基于人工蜂群算法(ABC)和BP Neural Network的命名为ABC-BP方法的软件预测方法,该方法充分考虑了BP神经网络对软件预测趋势的影响,并通过人工蜂群算法进行了改进。也就是说,使用人工蜂群算法来优化随机初始化的BP神经网络的权重和阈值。此外,我们还将我们的方法与使用“ Waikato知识分析环境”(WEKA)工具集的其他代表性机器学习算法进行比较,并根据不同的评估指标分析每种算法的软件老化的预测准确性。 实验结果表明,与比较方法相比,我们的ABC-BP方法能更准确地预测软件老化的趋势,并且收敛速度更快,预测结果更稳定。 其余论文的结构如下。 第二节介绍了人工蜂群算法和BP神经网络的初步知识,并讨论了相关工作。 第三节详细介绍了我们的ABC-BP方法。 第四节介绍了实验过程和结果分析。 我们在最后一部分总结了本文。

2.相关工作

2.1人工蜂群算法模仿

根据蜜蜂行为,研究人员提出了一种人工蜂群算法优化方法。为了解决多变量函数优化问题,Karaboga提出了一种人工蜂群算法模型[6]。人工蜂群算法具有操作简单,控制参数少,搜索精度高,容错性强等特点[7],[8]。

群体殖民地产生群体情报的最小搜索模型包括三个基本组成部分,即食物来源、受雇的蜜蜂和失业的蜜蜂。有两种最基本的行为模式,即为食物来源招募蜜蜂并放弃食物来源。 食物来源的价值取决于盈利能力。 受雇的蜜蜂也被称为领导者,与收集的食物来源一一对应。 领先的蜜蜂存储有关食物来源的信息(距离,相对于蜂巢的方向,食物来源的丰富度等),并以一定概率与其他蜜蜂共享信息。失业的蜜蜂喜欢寻找和开采食物来源。失业蜜蜂有两种,即侦察兵和追随者,侦察兵在蜂巢附近寻找新的食物来源,而蜂巢中的追随者则通过与领导分享相关信息来寻找食物来源。在人工蜂群算法搜索优化过程中,三种蜜蜂的角色是不同的。也就是说,使用领头的蜜蜂来维持良好的解决方案,使用底层蜜蜂来提高收敛速度,使用侦察蜜蜂来提高摆脱本地蜜蜂的能力。跳舞区是蜂巢中交换信息的最重要场所。蜜蜂的舞蹈被称为摇摆舞[11]。每个食物来源的位置代表了优化问题的一种可能解决方案,来源的食物中的花蜜量对应于根据以下公式计算出的相应溶液的数量或质量

其中:i= 1,...,Ns MSEi是第i个解决方案的BP网络均方误差。

在这种算法中,领头蜜蜂的数量(Ne)等于追随者数量(No),也等于总体中解决方案的数量(Ns)。首先,人工蜂群算法提高了初始溶液(与食物来源的数量相同)。 每个解Xi(i = 1,2,...,sn)是d维的向量,而d是优化参数的数量。然后,领导者、跟随者和侦查者开始循环搜索,其循环数为MCN。 领导者采用贪婪准则,比较内存中的最优解和邻域搜索解,并在搜索解优于内存最优解时替换内存解; 在所有领头蜂完成邻区搜索之后,蜜蜂跳到摇尾舞,并与跟随者共享蜂蜜来源信息,跟随者以一定概率根据蜂蜜来源信息选择蜂蜜来源。 产生更多蜂蜜的蜜蜂将以更大的可能性吸引更多的追随者。 同样,跟随者使用贪婪标准搜索蜂蜜源的邻里关系,并将跟随者搜索解决方案与原始蜜蜂解决方案进行比较。 如果搜索解决方案优于原始的蜜蜂解决方案,则它们将替换原始的蜜蜂解决方案并改变彼此的作用; 否则,它保持不变。 跟随者根据概率值Pi选择食物来源,Pi根据以下公式计算。

领导者和追随者根据以下公式执行邻域搜索。

Vij= Xij rand(-1,1)( Xij -Xkj)

其中:i是解的个数,kisin;{1,2,...,Ns}是随机生成的,且i不等于 k。jisin;{1,2,...,D}。

对于前导蜜蜂落入局部最优的情况,应保持迭代次数,即限制作为人工蜂群算法中重要的控制参数。 当领导者的适合度不是当前的全局最优值时,食物来源将被放弃,并由侦察兵随机搜索的食物来源来代替。 假设废弃的解决方案是Xi,则侦察兵将使用以下公式代替生成新的解决方案。

XI= Xmin rand(0,1)(Xmax- Xmin)

尽管对人工蜂群算法进行了一些优化,例如参数设置对性能的影响,但在本文中,我们使用了基本人工蜂群算法来构造ABC-BP方法,该方法也可以得到令人满意的结果。

2.2.BP神经网络

BP(Back Propagation)神经网络是错误反向传播算法的学习过程,它由两个过程组成,即信息的正向传播和错误的反向传播.BP神经网络具有三层,即输入层,隐藏层和输出层。 从输入层到隐藏层到输出层逐层处理输入信号。 每层的神经元状态仅影响下一层神经元的状态。 如果输出层未获得预期的输出,则会进行反向传播,并根据预测误差调整网络权重和阈值,以使BP神经网络预测输出不断接近预期输出。 BP神经网络必须在进行预测之前对网络进行训练,并且该网络具有通过训练的关联记忆和可预测性。BP神经网络训练过程包括以下步骤。

1)神经网络初始化。根据系统输入和输出顺序(X,Y),确定网络输入层节点数n,隐藏层节点数l,输出层节点数m和输入层,隐藏层和输出层神经元之间的连接权重。初始化隐藏层阈值a,输出层阈值b,给定的学习率和神经元激发函数。

2)隐藏层输出计算。 根据输入向量X,w和a计算隐藏层输出H。

3)输出层输出计算。 根据隐层输出H计算BP神经网络预测输出o,连接权重将达到阈值b。

4)误差计算。根据网络预测输出o和预期输出Y计算网络预测误差e。

5)权重更新。根据网络预测误差e更新网络连接权重。

6)判断算法是否终止。 如果不是,请返回步骤2。

2.3.软件老化预测

在以前的研究中,机器学习算法已广泛用于预测软件老化。在[13]中,M5P算法被应用于各种复杂的软件老化场景。它达到了所需的错误准确度范围,提供了一种防止Java EE软件老化的方法。 在[14]中,通过不同的软件老化预测方案比较了决策树算法,LDA / QDA(线性和二次判别分析)算法,朴素贝叶斯算法,支持向量机算法,k最近邻算法和随机森林算法。该算法的预测精度表明,随机森林算法具有最好的预测结果。在此基础上,作者进一步利用电缆的正则化技术对采集到的数据进行了简化,结果表明仍可以达到理想的预测效果。 Sudhakar等[15]通过考虑进程数、线程数、CPU利用率、打开的TCP连接数、可用的物理内存以及可用的交换区域,预测了云系统中的软件老化现象。使用前馈神经网络结构作为训练模型进行训练,直到输出错误最小化并停止训练。 在[16]中,选择了七种机器学习算法,即线性回归,最小中位数平方,高斯过程,M5P,REP树,序列最小优化算法,多层感知神经网络,并在四个老化场景中实现。预测表明,多层感知神经网络具有最高的准确性。在这些典型的机器学习算法中,多层感知器神经网络脱颖而出,显示出其在预测误差方面的优越性。 因此,我们还决定使用BP神经网络作为训练模型的主体,并对其进行优化。在[17]中,选择了三个CPU利用率,内存利用率和可用交换区域的性能指标,并根据各个指标的影响赋予了不同的权重,并进行了多元线性分析和预测回归算法。在[18]中,时间序列和人工神经网络相结合来预测响应时间,内存使用和交换空间的三个软件老化因素。 在[19]中,机器学习的分类算法(例如贝叶斯算法,决策树和支持向量机)主要用于建模过程。这些机器学习算法在考虑成本的情况下显示出良好的预测效果。

在[20]中,分析了实时视频点播系统的软件存储。主要成分分析方法用于减少输入变量,人工神经网络用于预测。 在[21]中,通过构造多层反向传播神经网络并以工作量为输入,结果表明预测效果良好,并且工作量已证明会影响软件的老化。在[22]中,提出了一种灰色关联人工神经网络(GRANN_ARIMA)方法来混合线性和非线性模型以预测软件老化。[23]中,决策树算法,支持向量机算法(SVM)和深度置信网络算法(DBN)用于预测Android操作系统的软件老化。实验结果表明,当数据量达到一定水平时,深度置信网络算法是一种有效的预测方法。在[24]中,内存老化指标被用作预测的唯一指标,而分类算法被用于预测名为Plumbr的商业工具,从而提高了内存泄漏检测的质量。

2.4.基于ABC的人工神经网络

实际上,在某些地区已经出现了人工蜂群算法和神经网络的结合。 在[25]中,提出了一种基于人工蜂群算法的改进神经网络算法及其在废水处理中的应用。 结合这两种算法,成功提高了水质评价的准确性。 在[26]中,提出了结合混合神经网络的人工蜂群算法来预测天然气消耗。 实验结果表明,错误率较低。 在[27]中,提出了一种结合人工神经网络的改进人工蜂群算法,用于短期风速预测。 通过案例分析,我们可以看到结果比传统的神经网络预测更准确。 通过以上分析,我们发现,人工蜂群算法和神经网络的结合尚未应用到针对物联网环境的软件老化预测中。

3.ABC-BP法

随着物联网设备数量的增加,各种数据的数量也急剧增加,物联网平台中的软件老化问题变得越来越明显和严重。 ABC-BP方法的中心思想是在软件老化预测过程中优化BP神经网络,从而提高预测的准确性。 在本节中介绍了我们方法的特定操作过程

3.1核心理念

在ABC-BP中,我们的主要目的是通过监视系统老化指示器来确定何时发生了故障。ABC-BP的工作流程如图1所示。首先,我们将要监视的数据输入到BP神经网络中。在这里,我们根据时间序列分析确定数据的相关系数,以确定输入层中的节点数。至此,我们构建了一个初始BP神经网络。BP神经网络在运行后会自动初始化一组权重和阈值。我们将权重和阈值作为初始值输入到人工蜂群算法中,该算法将根据匹配度为我们选择一组最佳解决方案。我们使用该解决方案为BP神经网络找到最佳的权重和阈值,然后继续训练BP神经网络。训练完成后,将对数据进行模拟和预测。通过多次仿真,得到与实际数据误差较小的结果,从而达到预测软件老化的效果。

ABC-BP方法结合了人工蜂群算法全局迭代的特征和神经网络的泛化映射能力。 解决了BP神经网络容易陷入局部最优解,收敛速度慢的缺点。较好地拟合了软件老化的预测趋势,并通过多次仿真证明了该方法的稳

剩余内容已隐藏,支付完成后下载完整资料


资料编号:[239570],资料为PDF文档或Word文档,PDF文档可免费转换为Word

原文和译文剩余内容已隐藏,您需要先支付 30元 才能查看原文和译文全部内容!立即支付

以上是毕业论文外文翻译,课题毕业论文、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。