无线传感器网络(wireless sensor networks,WSN)是由空间分布、通过无线通信和网络协作的传感器节点组成的网络。这些网络广泛应用于环境监测、军事侦察、智能交通系统和健康监护等领域
[1 ] 。WSN通常由大量能量有限的节点组成,这些节点通过多条方式将信息汇聚到位于网络中心的信息收集中心
[2 ] (也叫sink节点)。处在关键位置的节点,如靠近中心附近的某些节点,在本文中称为关键节点。关键节点承担繁重的信息转发任务,能源消耗快。由于其处于重要的网络位置,一旦出现故障,就可能导致网络分区
[3 ] 。同时,其他节点向汇聚节点传输信息的难度增大,从而增加了网络的整体能耗压力。因此在WSN中,更高效地识别关键节点是保证网络性能和功能的重要任务,对于修复无线传感器网络的故障、防止网络因能量耗尽而过早分区,从而延长网络寿命并增强其鲁棒性,都具有重要的实际意义
[4 ] 。
近年来,关键节点识别的研究已经得到了广泛关注,然而,机器学习方法在网络分析领域的应用仍然有限,这包括在网络中识别关键节点的任务。而机器学习模型,可以从多种中心性度量和其他网络特征中提取有用的信息,从而更准确地识别关键节点。特别是集成学习方法,如随机森林和梯度提升机,已经显示出在识别网络中的关键节点方面的有效性
[5 ] 。
贝叶斯优化是一种用于找到复杂函数全局最优解的高效方法,它已经被成功应用于机器学习模型的超参数优化。通过应用贝叶斯优化,可以在一个合理的时间内找到最优模型超参数,从而提高模型的性能。
本文提出了一种基于贝叶斯优化的集成学习方法,用于识别WSN中的关键节点。首先通过计算多种中心性度量来构造特征向量,然后使用集成学习模型来预测每个节点的关键性,采用贝叶斯优化模型进而找到最优超参数组合。最后通过仿真实验,检验该方法在识别WSN中的关键节点方面的有效性,以及贝叶斯优化在提高模型性能方面的贡献。
1 关键节点判定方法
关键节点的判定受到很多因素影响,物理结构不同的网络,其关键节点的识别方法也不同。传统的识别方法通常依赖于节点的中心性度量,例如度中心性、接近中心性和介数中心性等。有研究人员通过计算网络中每个节点度的中心性,介数中心性,接近度中心性3个指标来确定节点的重要程度
[6 ] ;还有Hu等
[7 ] 从等价拓扑结构、节点度、介数、接近度、邻居列表的影响5方面评估节点的重要性。它们均取得比单一评价指标更为准确的结果。但这些方法通常只能从网络拓扑结构的角度来评估节点的重要性,而忽视了WSN中节点主要因素之一的自身能耗。
因此,在众多判断网络关键节点的方法中,适用于WSN的很少。WSN中的关键节点检测还应考虑节点的能量因素。文献[
8 ]通过综合分析节点的局域网络特性及其能量状态,来确定节点的重要性。文献[
9 ]提出了一种结合节点的剩余生命期和网络能耗增加因素,从而对关键节点进行判定的方法。这些方法不仅有助于识别对网络运行最为关键的节点,还能优化能量分配,从而延长网络的整体寿命。
综合考虑能量和网络拓扑的方法,可以为无线传感器网络的持续运行提供一种更为精确和可持续的解决方案,确保关键节点的有效管理和网络资源的最优利用。
2 基于贝叶斯优化的集成学习关键节点识别模型
为准确识别WSN中的关键节点,本文采用集成学习模型(LSBoost)。集成学习通过结合多个基础模型的预测来改善总体的预测准确性,通过组合多个弱学习器来形成一个强大的预测模型
[10 ] 。每个学习周期中,模型会尝试修正前一个学习周期中的错误,以此来不断提高模型的预测准确性。模型的训练过程如
图1 所示。
该方法主要分为五部分:数据准备,特征计算,构建标签,贝叶斯优化,模型训练和关键节点预测。
在数据准备阶段,考虑网络中的节点及其相互连接以及训练模型在不同网络规模下的应用,需进行多次模拟,每次随机生成100至2 500个节点的不同网络。假设这些节点在一个二维平面。节点的位置在实际应用中可以对应于传感器、设备或其他实体的位置。每个节点的通信范围是一个关键参数,它定义了节点能够与哪些其他节点进行通信。这种随机性代表实际情况下节点通信范围的变化。生成节点位置和通信范围后,根据这些信息构建网络的邻接矩阵。而对于每个节点,计算其与其他节点的距离,然后根据通信范围确定其在范围内的节点。这些节点被认为是与当前节点相邻的节点,它们之间建立了连接关系。
在特征计算阶段,计算每个节点的7个特征。这些特征能够帮助较全面地评估节点在WSN网络中的影响力和重要性,是关键节点识别的基础。
在构建标签阶段,模型将提取的特征和生成的关键节点标签作为输入(前期作为关键节点标签的是通过多个不同规模的网络多次训练生成得到,以此最大可能地确保标签准确性),通过多个学习周期,不断优化模型的预测能力。每个学习周期中,模型会根据前一个学习周期的误差来调整,以提高下一个学习周期的预测准确性。
在贝叶斯优化阶段,利用贝叶斯优化寻找最佳的超参数配置,以优化模型的性能指标。贝叶斯优化选择高斯过程作为代理模型,用于建立目标函数的概率模型。这个概率模型可以估计不同超参数配置下模型性能的分布,包括均值和方差。
最后,当模型训练完成,可用来预测网络中的关键节点。在模型中随机生成一个包含当前网络节点个数的测试集,并计算测试集节点的特征。而这个测试集的邻接矩阵是随机生成的,模拟了一个新的未知网络。接着将训练好的模型应用于测试集,并获得每个节点的预测概率。这些概率表示节点是关键节点的可能性。最后根据这些概率设置一个阈值,将预测概率大于阈值的节点标记为关键节点。
2.1 节点特征计算
(1)网络影响度。网络影响度是一个衡量节点在网络中的影响力和重要性的指标。Barabási和Albert
[11 ] 在其经典论文中探讨了网络影响度,通常通过多种中心性指标来计算,本文采用度中心性、介数中心性和接近中心性来描述网络影响度。
度中心性是指与其相连接的节点数,
其中,deg(v )是节点v 的度,n 是网络中的节点总数。
介数中心性是指通过该节点的最短路径数,
C B ( v ) = ∑ s ≠ v ≠ t σ s t ( v ) σ s t ,(2)
其中,σ s t 是节点s 到节点t 的最短路径数,σ s t ( v ) 是经过节点v 的s 到t 的最短路径数。
接近中心性则是指该节点到其他所有节点的平均最短路径长度,
其中,d ( v , t ) 是节点v 到节点t 的最短路径长度。
通过这些指标,可以评估节点在网络中的影响力和重要性,从而识别出那些关键节点。
(2)传递能力。传递能力是衡量节点能够将信息或资源有效传递给其他节点的能力
[12 ] 。一个节点的传递能力越强,其在网络中的作用和影响力也就越大。这种能力通常与节点的度(即连接的数量)和邻居节点的属性相关。一个常见的衡量传递能力的指标是基于节点的度及其邻居节点的度的加权和。
P v = d e g ( v ) + α ∑ u ∈ N ( v ) d e g ( u ) ,(4)
其中,d e g ( v ) 是节点 v 的度,N (v )是节点v 的邻居节点集合,而α 是一个权重参数。
(3)接触频率。接触频率是指节点之间交互的频率。它是一个动态的指标,反映了网络的活动程度和节点之间的交互密度。用接触频率来分析和预测社交网络中的人际交往模式通过分析接触频率
[13 ] ,通过了解网络的交互模式和结构,从而识别出那些关键节点。
接触频率通常可以通过观察或记录网络中的交互事件来计算。一个简单的接触频率计算方法为
其中,F i j 是节点i 和j 之间的接触频率。
(4)聚类系数。聚类系数与网络的拓扑结构和连接性密切相关,通常用于描述网络中节点的聚集程度
[14 ] 。它不仅反映了网络的复杂性,还揭示了节点之间交互的聚类程度。通过深入研究聚类系数,可更好地理解网络的聚集性和信息传播特性。常见计算方法为
其中,e 是节点v 的邻居之间的边的数量,而 k 是节点v 的度。
(5)特征向量中心性。特征向量中心性是网络分析中的一个基本概念
[15 ] ,它反映了节点在网络中的相对地位和影响力。可通过计算网络的特征向量获取,通常与网络的拓扑结构和连接性密切相关。给定网络的邻接矩阵
A 和其最大特征值
λ 对应的特征向量
x ,节点
v 的特征向量中心性定义为
其中,x v 是特征向量x 中对应于节点v 的分量。
(6)能量消耗。在许多网络系统中,尤其是无线传感器网络、移动计算和物联网等领域,能量消耗是一个关键的考虑因素。节点的能量消耗直接影响到网络的生命周期、稳定性和性能
[16 ] 。
节点能耗采用通用的无线通信射频能耗模型发送k bit数据所需要的能量为
E r ( k , d ) = E e l e c ∙ k +ε a m p k d 2 。(8)
接收k bit数据所耗费能量为
其中,E e l e c 表示射频传输系数,ε a m p 为发送装置的放大系数,d 为节点间的数据传输半径。
(7)信息传播。信息传播涉及多个领域,因此其计算方法也较多。本文采用独立级联模型中的激活概率作为节点特征
[17 ] ,是用于模拟社交网络中信息传播的一种模型。独立级联模型的参数(如节点间的激活概率)可以根据实际情况进行调整,通过分析哪些节点在信息传播中起到关键作用,决策者可以更有效地制定策略。在这个模型中,每个节点可以处于两种状态之一:激活(已经接收到信息)或未激活(尚未接收到信息)。一旦节点被激活,它有一次机会去激活它的每个未激活的邻居节点。这个过程在每个时间步骤中重复进行,直到没有更多的节点可以被激活为止。为了获取这个特征,本文将激活概率与节点间距离相结合,通过计算确定每个节点的激活概率。具体公式为
其中,P i j 是节点i 激活节点j 的概率。d i j 是节点i 和j 之间的距离。α 是一个正常数,用于调节距离对激活概率的影响程度。
以上七个特征为识别无线传感器网络中的关键节点提供了一个全面而多维度的框架。通过结合这些特征,可以从不同角度评估节点的重要性,从而更准确地识别出那些对网络性能和功能影响最大的关键节点。
2.2 LSBoost集成学习模型
集成学习是机器学习领域中的一种策略,旨在通过结合多个基学习器的预测来提高模型的整体性能。本文选择LSBoost模型(least squares boosting),作为一种强大的集成学习方法,LSBoost通过迭代添加弱学习器并最小化平方误差,逐步提升模型的性能。这种方法在关键节点检测中有效性很高,能够精确识别那些对网络整体结构和功能有重大影响的节点。LSBoost的优势在于对数据的高度适应性和对异常值的鲁棒性,使其能够在各种网络环境中,即使在数据噪声较多的情况下,也能准确地进行关键节点的识别。此外,LSBoost在处理大规模数据集时表现出色,使其成为分析大型复杂网络的理想选择。以下为其残差的计算与修正过程。
在每次迭代中,先计算每个数据点的残差,即实际值与当前模型预测值之间的差。这些残差随后被用作新的目标值,供下一个回归树进行拟合。其工作原理如下。
给定数据集{(x 1 ,y 1 ),(x 2 ,y 2 ),…,(x n ,y n )},其中x i 是特征向量y i 是对应的目标值。初始化模型的预测为所有目标值的平均
在每次迭代n =1,2,…,m 中:
(1)计算残差
r i m =y i -F m - 1 (x i )。
(2)拟合残差r i m 使用回归树,得到叶节点区域R j m 其中j =1,2,…,J m 。
(3)对于每个叶节点区域R j m ,计算一个常数值
γ j m =∑ x i ∈ R j m r i m ∑ x i ∈ R j m ( 1 - r i m ) 。(12)
其中γ j m 是第m 次迭代中第j 个叶节点的输出值。
(4)更新模型
F m ( x ) = F m - 1 ( x ) + ∑ j = 1 J m γ j m I (x ∈ R j m ),(13)
其中I 是指示函数,当x 在区域R j m 内时其值为1,否则为0。
通过这种方式,LSBoost能够逐渐纠正其预测中的误差,使模型在每次迭代后都得到改进。
2.3 贝叶斯优化
弱学习器数量影响着模型的复杂度和泛化能力,随着弱学习器数量的增加,模型趋于更细致地捕捉特征间的微妙交互,从而提高识别精度。然而,过多的弱学习器可能导致过拟合,特别是在特征关联性强时。因此,通过贝叶斯优化寻找最佳的超参数值,实现特征表达和学习过程的最优平衡是关键。
贝叶斯优化是一种高效的超参数优化技术,主要用于寻找最佳超参数组合以最小化目标函数。贝叶斯优化应用场景包括机器学习模型的调参、神经网络结构设计以及复杂系统的参数优化等。本文关注的主要超参数是LSBoost模型的训练周期数,它直接影响模型的复杂度和弱学习器的数量。具体步骤如下。
(1)定义搜索空间。确定超参数的可能范围。
(2)构建目标函数的概率模型。贝叶斯优化通常使用高斯过程(Gaussian process, GP)来建立目标函数的概率模型。高斯过程是一个无限维的随机过程,其中任何有限维的边缘分布都是高斯分布。使用高斯过程模型,可以为目标函数在任何给定点的值提供一个均值和方差。高斯过程的定义为
f (x )~ G P ( m ( x ) , k ( x , x ' ) ) ,(14)
其中,m ( x ) 是均值函数,k ( x , x ' ) 是协方差函数或核函数。
(3)迭代更新。通过多次迭代,不断更新超参数的概率分布,选择下一个可能改善目标函数的超参数值。为了选择下一个评估点,贝叶斯优化使用采集函数(acquisition function)。该函数基于当前的高斯过程模型为每个可能的点分配一个分数,表示该点的评估价值。常用的采集函数包括概率改进(probability of improvement, PI)、期望改进(expected improvement, EI)和置信上界(upper confidence bound, UCB)。期望改进(EI)是最常用的采集函数之一,定义为
E I (x )=E [max(f (x )-f (x + )),0],(15)
其中,f (x + ) 是目前观察到的最佳函数值。
(4)评估和比较不同超参数值的效果。一旦选择了下一个评估点,就可以计算目标函数在该点的真实值,并将其加入已知数据中。然后,可以使用这些数据更新高斯过程模型,并重复上述过程,直到满足某个停止准则。在贝叶斯优化过程中,每次迭代都会考虑之前所有评估点的信息,这使得该方法能够更加高效地探索和利用参数空间。
其中,观测点代表已经评估过的超参数及其设置对应目标函数的起始值。模型均值为根据已设置的数据,在每个超参数设置处,模型认为目标函数的平均表现。下一点是算法在下次循环迭代中选择要评估的超参数设置。模型最小可行点表示模型所能观察到的,对于目标函数估计中的最小值。观测最小目标值表示在当前迭代中,已经尝试的一组超参数设置中,目标函数表现最好的值。估计最小目标值在贝叶斯优化算法中通过对超参数搜索空间内的目标函数进行高斯过程插值确定。
3 仿真实验
仿真实验在MATLAB环境中进行,建立了包含100、500、1 000、2 500节点数目的4种规模无线传感器网络(WSN),将sink节点置于区域最中心。实验网络具体参数见
表1 。其中,
N 代表节点数目,
E 代表节点初始能量,
R 代表节点最大传输半径,
K 代表节点自身产生总数据量。网络拓扑采用随机图模型,以100节点为例如
图3 所示。
3.1 流行病传播实验
仿真实验采用经典的SIR(susceptible-infected-removed)模型模拟网络中的传染病传播过程。从网络结构的角度出发,细致评估并比较不同算法检测出的关键节点的准确性,以期深入理解各算法在WSN关键节点检测方面的有效性和可靠性。
SIR模型基于三种状态:易感态(susceptible),感染态(infected)和免疫态(removed)。每个状态代表网络中节点的不同健康状态。模型的初始化涉及设定关键参数:感染率(β )模拟的总时间步长(T )。在本实验中,感染率β 被设置为0.8,表示每个时间步长中,一个易感节点被邻近感染节点传染的概率。移除率Q 为0.5,代表感染节点在每个时间步长变为移除状态的概率。总时间步长T 设定为5,用于观察疾病在网络中的传播趋势。
实验选取度中心性、介数中心性、接近中心性、Pagerank算法和k -壳分解算法等传统算法进行对比,首先选定初始感染节点,本文中选定的初始感染节点是基于不同中心性指标以及模型识别出的网络中最重要的1%的节点。随后,模型模拟了从这些节点开始的传染病传播。在每个时间步长内,每个感染节点有概率β 将病毒传播给其易感邻居,同时每个感染节点之后会以固定时间速率转变为免疫态。免疫状态的节点不再参与疾病传播。按某一时长T 的累计感染节点数量作为最终传播范围,通过比较最终时刻T 累计感染节点数量,衡量初始感染节点在网络结构中的重要性,被感染的节点越多,说明初始感染节点传播能力越强,即该节点的关键程度也越高。模型记录了每个时间步长中被感染和移除的节点总数,从而生成了病毒传播的动态曲线。
通过仿真实验,观察了在不同算法作用下的病毒传播情况,该模型从网络结构的角度展示了各种算法在无线传感器网络(WSN)中检测关键节点的准确性。
图4 是在不同网络规模下运行此实验的结果。
仿真结果显示,本文提出的方法与其他传统算法相比能更快地感染所有节点,并且在不同规模的网络(具体为100、500、1 000和2 500节点)中均表现出优势,在节点数量为2 500时,相比其他五种方法,效果最好的中心性算法,模型在时间步长为3的时候就已经将所有节点感染。此方法的有效性得到证实,尤其适用于大规模网络中关键节点的识别,展现了其在处理复杂网络结构时的显著优势。
3.2 网络能耗实验
在大多数关于网络关键节点算法的对比实验中,都只注重关键节点在网络结构方面的影响,不考虑网络能耗问题,而在WSN中,网络能耗关联着WSN的使用寿命以及数据准确性等因素,须加以考虑。
在这部分仿真实验中,针对四种不同规模的无线传感器网络(100、500、1 000和2 500节点),评估了识别并移除关键节点后对网络总能耗的影响。节点移除,是指由于节点自身的故障或者是因为其能量耗尽而导致的节点失效。此类情况在无线传感网络中尤为常见,其中网络的稳定性和能量效率是至关重要的。
本文的实验设计并没有真正从网络中移除任何节点,而是采用一种暂时性的屏蔽方法来模拟节点的移除。这种方法允许在不干扰整个网络结构的情况下,评估单个节点失效对网络性能的影响。由于这种屏蔽操作是短暂且局部的,它对网络的总体性能和稳定性的影响是极其有限的,大多数情况下可以忽略。
网络能耗的增加主要是由于当某个节点“移除”后,网络中其他节点必须找到新的路径来维持网络通信。这通常意味着数据传输路径的延长,特别是对于那些位于被移除节点下游的子节点而言。前文提到节点需要转发的总数据量为5 000 bit,为模拟真实网络,根据多数真实WSN中节点转发数据量情况,将节点在某一时刻转发的数据量设置为80~240之间取随机数,同时将射频传输系数设为50 nJ/bit,发送装置放大系数设为100 pJ/(bit·m²)。在本文的实验中,通过比较节点“移除”前后(分别对应于t 时刻和t +1时刻)网络的能耗,计算出节点“移除”后网络的总能耗,以此来评估该节点关键程度,网络总能耗增加得越多说明节点重要度越高。网络能耗增加值E A D D 用公式表示为
E A D D = E t + 1 - E t ,(16)
E t = ∑ s = 1 j E s ( t ) ∙ [ E r ( 1 , R ) + E r e ( 1 ) ] + k ∙ E r ( 1 , R ) ,(17)
E t + 1 = ∑ s = 1 j E s ( t + 1 ) ∙ [ E r ( 1 , R ) + E r e ( 1 ) ] + k ∙ E r ( 1 , R ) ,(18)
其中j 表示节点i 的所有子节点中进行同层数据传输的节点个数,E s ( t ) 表示节点i 的任意一个进行同层数据传输子节点s 在t 时刻的数据量。
如前将各个算法以及模型识别出的网络中最重要的1%的节点作为“移除”节点,比较节点“移除”后网络增加的总能耗,进而比较在能量消耗方面的关键节点检测准确率,结果如
图5 和
表2 所示。
从
表2 可知,在4种网络规模中,随着网络规模的增加,使用本文提出的方法识别并移除关键节点后,相比于采用其他算法,网络总能耗表现出更明显的增加。特别是在2 500个节点的网络规模下,在
t 时刻将该文识别出的关键节点移除后,(
t +1)时刻网络能耗则为9 625 μJ,而其他算法得出的结果都低于该数值,说明从能量消耗的角度考虑,该方法相较于其他传统算法在WSN中表现出一定的优势。
4 结语
本文提出一个针对无线传感器网络的高效关键节点识别模型。该模型综合考虑了网络结构和节点能耗,提取出网络影响度、传递能力、接触频率、能量消耗、信息传播、聚类系数、特征向量中心性等七个特征,采用集成学习方法并用贝叶斯优化弱学器数量,最终训练得到关键节点预测模型,该模型能够更准确地识别出对网络结构和稳定性有重大影响的节点。实验结果显示,对比度中心性、介数中心性、接近中心性、Pagerank算法和k -壳分解算法等5种传统算法,在不同规模网络中,该模型在网络结构和能量消耗两个方面均表现出优势。因特别考虑了节点的能量消耗因素,这对于对能量因素有较高要求的无线传感器网络来讲,意义尤为突出。本文提出的关键节点识别方法,准确率好,运行效率高,可以为无线传感器网络的管理和优化提供有效依据。
内蒙古自治区科技计划资助项目“远程控制地下供水管道漏水监测系统的实现”(2020GG0165)
内蒙古自治区自然科学基金资助项目“基于矩阵填充和压缩感知的室内位置指纹定位方法研究”(2021LHMS06013)