一种用于预测平均定位误差的机器学习方法及其在无线传感器网络中的应用
摘要
节点定位是无线传感器网络(WSNs)中的一个重要问题。该过程通过已知坐标的传感器(称为锚节点)来估计未知节点的坐标。已有多种仿生算法被提出用于精确估计未知节点的位置。然而,使用仿生算法的过程非常耗时。因此,在网络建立过程中,如何在短时间内找到能够以期望精度实现节点定位的最优网络参数仍是一项具有挑战性的任务。本文提出了一种基于支持向量回归(SVR)模型的机器学习方法,以高效地评估可导致较低平均定位误差(ALE)的最优网络参数。我们提出了三种基于特征标准化的方法(S‐SVR、Z‐SVR 和 R‐SVR),用于快速且准确地预测 ALE。我们将锚节点比例、传输范围、节点密度和迭代次数作为训练和预测 ALE 的特征。这些特征值是从改进的布谷鸟搜索(CS)仿真中提取的。结果表明,所有方法均表现出色,其中 R‐SVR 方法优于其他两种方法,相关系数(R = 0.82)和均方根误差(RMSE = 0.147m)。
索引词
平均定位误差,改进的CS算法,SVR模型,GPR模型,无线传感器网络。
I. 引言
无线传感器网络(WSN)由一组微型且廉价的传感器组成,这些传感器在某一区域内空间分布,用于测量物理参数或监测栖息环境条件,并具有多种实际应用领域,如目标跟踪、精准农业等,[1]–[6]。在大多数应用中,这些传感器需要以最少的资源消耗精确估计其坐标。这些传感器可通过集成的全球定位系统(GPS)快速确定自身坐标。然而,由于GPS的尺寸和成本问题,将其集成到所有传感器中并不现实。另一种方法是采用定位算法,其中使用多个锚节点(具备集成的全球定位系统)将协助未知节点准确确定其坐标。
大量定位算法已被提出以解决不同的定位问题[7]。这些算法需要具备良好的灵活性,以便在各种不同的室内和室外场景及拓扑结构中有效工作。这些定位算法可分为两类,即基于距离的算法和无距离测量的算法。在基于距离的算法中,未知节点的位置通过锚节点与未知传感器节点之间的距离来计算。它们利用到达角、到达时间和接收信号强度指示(RSSI)[8]–[10]等测距度量。相比之下,无距离测量的算法(如ad‐hoc定位系统[11]和质心[12],等)则利用与连通性相关的简单操作来进行定位未知节点。它们仅需锚节点在介质中信标信号的存在即可。在这两类算法中,基于距离的算法被广泛采用,并且比无距离测量的算法更受青睐[13]–[15]。
为了设计一种复杂度较低的算法,已提出多种受生物启发的算法用于基于距离的方法[16]。最初,Gopakumar 和 Jacob [17]提出了一种基于粒子群优化(PSO)[18],的节点定位方法,该方法模拟鱼群寻找食物的行为。该算法显示出良好的初步结果,但在实现过程中容易陷入局部最优,导致早熟收敛。2014年,Goyal 和 Patterh [19]将CS应用于无线传感器网络中的节点定位,显著减小了定位误差。这主要归功于CS算法中的调优参数,这些参数简化了计算过程。最近,Cheng 和 Xia [20],提出了一种改进版的CS算法,提高了传统CS算法的收敛速度。他们通过修改随机游走步长和变异概率来改善搜索过程。
ALE指标用于评估这些定位算法的准确性。我们选择具有最小ALE值的算法。在为节点定位选定一种仿生算法后,主要问题在于计算时间。在任何网络部署过程中,我们需要多次运行该算法,以找到最优网络参数(如锚节点比例、传输范围、节点密度,etc.),并将ALE调节至特定场景所需的阈值以下。为应对这一局限性,我们提出了一种高效的机器学习方法,用于在此类场景中实现ALE的精确快速预测。据我们所知,目前尚未有其他研究对此问题进行探讨并发表。
在本文中,我们提出了三种基于SVR模型的方法。我们从改进的CS算法中选择并提取了四个特征,即锚节点比例、传输范围、节点密度和迭代次数。最终,我们将这些数据输入以训练SVR模型,并利用训练好的SVR模型对所有三种方法获得了预测的ALE。
此外,我们将本文分为六个部分。在第二部分中,我们讨论了相关工作。在第三部分中,我们讨论了节点定位问题的系统模型。此外,我们还讨论了特征重要性、超参数调优和SVR模型的详细信息。接着,在第四部分中,我们讨论了改进的CS和SVR模型的仿真场景和参数。在第五部分中,我们讨论了三种方法在ALE预测上的结果。最后,在第六部分和第七部分中,我们分别给出了讨论和结论。
第二部分. 相关工作
在本节中,我们讨论了若干用于提高节点定位精度的方法。已有许多研究致力于提升定位精度。使用机器学习方法。Morelande et al.[21]提出了一种用于无线传感器网络(WSNs)中节点定位的贝叶斯算法。该算法是对之前称为渐进校正[22]方法的改进。这两种方法在不同场景下进行了比较,并以克拉美‐罗界(CRB)作为基准。结果表明,所提出的算法比其前身更加准确。此外,Ghargan et al.[23]提出了一种将人工神经网络(ANN)分别与三种优化算法混合的方法:粒子群优化(PSO)、回溯搜索算法(BSA)和引力搜索算法(GSA)。其中GSA‐ANN混合模型表现最优,在室外和室内场景下的平均绝对距离估计误差分别为0.02米和0.2米。在最近的一项综述中,艾哈迈迪和布阿勒格[24]汇总了当前应用于无线传感器网络节点定位的各种先进机器学习技术。该研究比较了ANN、支持向量机(SVM)、决策树(DT)和朴素贝叶斯(NB)等技术的累积定位误差分布曲线。研究表明,基于累积定位误差分布,NB优于其他所有机器学习技术。
Bhatti et al.[25]开发了一种名为“iF_Ensemble”的异常检测算法,用于室内定位环境,该算法结合了多种监督学习、无监督学习和集成学习方法。其中监督学习技术包括K近邻(KNN)、随机森林(RF)分类器和支持向量机(SVM),而无监督学习技术为孤立森林(iForest)。这些技术通过堆叠(stacking)——一种集成学习方法——进行组合。包含堆叠的模型与各个机器学习算法的单独性能进行了比较。实验结果显示,采用所提异常检测方法的堆叠模型实现了97.8%的高定位精度。最近,Wang et al.[26]提出了一种名为基于跳数量化核极限学习机(KELM‐HQ)的节点定位算法。训练后的核极限学习机(KELM)用于计算未知节点的位置。与快速SVM相比,该算法将定位误差降低了34.6%;与GADV‐Hop算法相比降低了19.2%;与DV‐Hop‐ELM算法相比降低了11.9%。
总体而言,本研究旨在通过基于回归的机器学习方法克服以往研究中定位精度的局限性。
第三部分. 系统模型
在本节中,首先我们讨论了为节点定位过程设计的系统架构。然后讨论了计算锚节点与未知节点之间距离的方法。接着讨论了目标函数构建以及用于节点定位的改进型CS算法的工作原理。最后,我们讨论了所使用的机器学习模型的详细信息。
A. 系统架构
传感器节点被认为是在一个面积为X × Y平方单位的区域内随机部署。该系统包含M个锚节点。这些锚节点作为网络中所有需要被定位的N个未知节点的参考。所有传感器可以在R距离单位的传输范围内发送/接收数据。利用锚节点的位置信息作为参考,来评估所有可定位的未知节点的坐标。只有当一个未知节点在其通信范围内至少有三个锚节点时,该未知节点才被认为是可定位的。
B. 距离计算与优化问题构建
未知节点利用接收信号强度指示(RSSI)来计算其与锚节点的距离。传感器在信息交换过程中由于阴影和多径衰落而经历功率损耗。这种路径损耗被建模为对数正态阴影[27],如公式(1)所示:
$$
PL(d)= PL0+ 10× η × \log_{10}\left(\frac{d}{d_0}\right)+ X_g \tag{1}
$$
在公式(1)中,$PL(d)$、$PL_0$,和$d$分别表示总路径损耗(发射功率 – 接收功率)、参考距离处的路径损耗以及发射机与接收机之间的距离。此外,$\eta$表示路径损耗指数,用于描述接收信号强度随发射机与接收机之间距离增加而下降的程度[28]。该 $\eta$值取决于多种参数,如信号频率、天线高度和传播环境[27]。通常情况下,$\eta$的取值范围为2–6[29],在室内或阴影环境中则高于4[30]。此外,$\sigma$表示阴影效应的标准差,其值随信号传播环境变化,一般大于4 dB[31]。$X_g$是一个高斯随机值,代表由衰落引起的衰减。
由于对数正态阴影的影响,会产生测距误差。该测距误差服从零均值高斯分布。其方差 $\sigma^2$在公式(2)中表示为:
$$
\sigma^2 = \gamma^2 × D_{ij}^2 \tag{2}
$$
其中,$\gamma$表示实际距离与测量得到的欧几里得距离$D_{ij}$之间的定位误差ith节点$(x_i,y_i)$和j th节点$(x_j,y_j)$之间,并且该误差为均值为零、标准差为一的高斯噪声。我们采用 $\gamma$等于0.1,因为这是文献中常用的最合适取值[20],[32]。式(2)表明,测距误差的标准差随两节点间实际距离呈线性变化。真实距离$D_{ij}$可通过以下式(3)计算:
$$
D_{ij} = \sqrt{(x_i − x_j)^2 +(y_i − y_j)^2} \tag{3}
$$
采用圆形盘模型来建立网络连接:只有当两个节点 i和 j之间的距离$D_{ij} ≤ R$时,它们才能进行通信,其中 R是两个传感器节点的传输范围。
测量距离用$D′_{ij}$表示,并由公式(4)中的表达式给出:
$$
D′
{ij}= D
{ij}+ N_{ij} \tag{4}
$$
其中,$N_{ij}$是节点i与j之间的测距误差。
在计算未知节点位置时,始终存在测距误差。因此,我们需要尽可能精确地评估未知节点的位置,以考虑这种不可避免的测距误差。为此,我们构建一个优化函数(OF),它是评估的节点坐标与相邻锚节点的实际未知节点坐标之间的估计距离误差平方的均值。设$(x_i,y_i)$ 和 $(x_j,y_j)$ 分别为ith个未知节点和j th个锚节点的位置。优化函数(OF)如公式(5)所示:
$$
OF(x_i,y_i)= \frac{1}{M} × \sum_{j=1}^{M}(D_{ij} − D′_{ij})^2 \tag{5}
$$
其中,$M > 3$,因为一个未知节点要被视为可定位的(根据三边测量规则),其传输范围内至少应有三个锚节点。对应于OF最小值的$(x_i,y_i)$即为未知节点的评估位置。
C. 用于节点定位的改进CS算法
改进的CS是一种用于无线传感器网络中节点定位的生物启发式元启发算法[20]通过为每个未知节点初始化一组随机的候选解来估计网络中未知节点的坐标。随后,使用目标函数(见公式(5))计算每个解的适应度值。最差的候选解将被一组新生成的随机候选解替换。该过程持续进行预设迭代次数,最终将全局最优解对应的坐标选为网络中各未知节点的坐标。
D. 机器学习模型
一般来说,学习算法分为监督学习和无监督学习。进一步地,监督学习可分为分类和回归学习,而无监督学习可分为聚类和降维技术[33]。
在本文中,我们的目标是评估基于回归的机器学习算法在估计节点定位误差方面的潜力。基于回归的机器学习算法的主要目标是根据映射函数来预测预测目标。该映射通过输入一组特征和已知的预测数据(称为训练数据集)来构建函数模型。为此,我们选择了SVR算法。支持向量回归被广泛应用于图像处理[34],[35],、遥感[36],和区块链[37]等众多领域。它具有出色的泛化能力以及高精度,且其计算复杂度与输入特征数据集[38]无关。
1) 特征重要性
在本文中,我们通过回归集成方法评估了特征的重要性。首先,我们训练了一个回归集成模型。该模型包含使用LSBoost集成聚合方法、特征数据和预测目标数据进行一百棵回归树提升(集成学习周期数)的结果。我们使用了回归树作为弱学习器,并设置学习率为1。在创建集成模型后,我们通过对其所有弱学习器中的估计值求和,计算出预测因子或特征重要性的估计值。在此基础上,我们绘制了特征重要性图(图1)。我们发现,在四个特征中,节点密度是最重要的特征,其次是迭代次数。相比之下,锚节点比例和传输范围的重要性几乎相等。
此外,我们估算了特征对预测目标的部分依赖关系(图2)。在同一图中,我们还绘制了每个数据的个体条件期望。
2) 超参数优化
SVR用于从数据中学习,在预测和模式识别方面表现出色。它还受益于车载分析收集的大数据。超参数对SVR的预测效率有显著影响。SVR的效率由不同的超参数(如C和 ε)决定,这些参数有助于识别训练误差。如果残差高于超参数 ε,则参数C会惩罚训练误差。因此,过小的C值会导致计算复杂度增加,而过大的C值会导致模型欠拟合。
在本文中,我们使用了通用网格搜索方法来优化SVR模型中的超参数。在这项研究中,我们通过保持 ε不变,优化SVR模型中的惩罚因子C。我们选择了著名的均方误差(MSE)函数作为损失或目标函数(使用公式(6))进行优化。
$$
\frac{1}{n} \sum_{i=1}^{n}(Y_i − \hat{Y}_i)^2 \tag{6}
$$
我们选择了C值,该值对应于三种方法中目标函数的最小值。
3) 支持向量回归模型
SVR最初由Drucker等人提出,是一种基于Vapnik支持向量概念的监督学习技术[39],[40]。SVR旨在通过确定超平面并最小化预测值与观测值之间的偏差来降低误差。在公式(7)中最小化w的值,类似于用于最大化间隔的定义,如图3所示。
$$
\min |w|^2 + C \sum_{i} (\xi^{+}_i + \xi^{-}_i) \tag{7}
$$
其中,$\sum(\xi_i)$ 表示经验误差。因此,为了最小化该误差,使用式(8)。
$$
f(x)= \sum_{i} (\alpha^{*}_i + a_i)K(x,x_i) + B \tag{8}
$$
其中,$(\alpha^{*}_i,a_i) ≥ 0$表示拉格朗日乘子,$K(x,x_i)$表示核函数,$B$表示偏置项。在本研究中,我们使用了由公式(9)给出的多项式核:
$$
K(x,x_i)= \gamma(x ∗x_i+ 1)^d \tag{9}
$$
其中d为多项式次数,$\gamma$为多项式常数。
与线性回归、K近邻和弹性网络等其他算法相比,支持向量回归(SVR)由于采用了针对大量变量的改进优化策略,表现出更优的性能预测能力。此外,SVR在处理几何结构、传输、数据泛化以及核函数[41]的附加功能方面也具有灵活性。这些附加功能通过考虑特征的质量[42],增强了模型的预测能力。
训练样本会影响SVR模型的拟合性能,因为SVR算法对训练数据中的干扰较为敏感。此外,SVR在解决高维特征回归问题方面具有优势,当特征指标数量大于样本[43]的规模时,其表现良好。在本研究中,我们提取了四个特征,即改进的CS算法仿真中的锚节点比例、传输范围、节点密度和迭代次数。
特征缩放对于支持向量回归至关重要,因为当一个特征的量级远大于其他特征时,在测量距离时该特征将占据主导地位。为了避免这种情况,我们采用了多种标准化方法。基于这些方法,我们提出了三种方法,如图4所示。
方法I是S‐SVR(缩放支持向量回归)。在此方法中,我们首先使用公式(10)对特征进行标准化:
$$
x_s= \frac{x}{\sigma} \tag{10}
$$
其中 $x$是特征向量,$x_s$是标准化数据,$\sigma$是特征向量的标准差。方法II是Z‐SVR(Z分数支持向量回归)。在该方法中,我们使用公式(11)对特征进行标准化:
$$
x_s= \frac{x − \bar{x}}{\sigma} \tag{11}
$$
其中 $\bar{x}$是特征向量的均值。方法III为R‐SVR(范围支持向量回归)。在该方法中,我们使用公式(12)对特征进行了标准化:
$$
x_s= \frac{x − x_{min}}{x_{max} − x_{min}} \tag{12}
$$
随后,我们按照70:30比例对SVR模型进行了训练和测试,如图4所示。本研究中,特征向量维度为 107 × 1。因此,我们使用了75组数据进行训练,剩余的32组用于测试。
IV. 仿真实验
在本节中,我们讨论了改进的CS算法和SVR模型的仿真环境。
A. 使用改进CS算法的ALE仿真
为了计算平均定位误差,我们建立了一个 100 × 100 m²的仿真环境,并通过改变节点密度、锚节点比例和每个节点的传输范围等参数,计算不同网络配置下的平均定位误差。改进的CS算法具有一些调优参数,如步长 α和变异概率Pa,其取值范围分别为0.9到1.0和0.05到0.25。候选解的数量固定为25。定位每个未知节点所允许的最大迭代次数设置为100。
B. 用于ALE预测的支持向量回归仿真
为了模拟SVR模型,我们通过网格搜索算法进行了超参数调优。在此过程中,我们固定其中一个超参数(即,ε设为0.01),并应用网格搜索算法来寻找另一个超参数的值。我们为惩罚因子C创建了一个网格。每个网格代表一个特定的C值。在模拟网格搜索算法时,它会找到对应于MSE最小值的最优网格。三种方法各自的最优C范围以及其他仿真参数值如表2所示。
| 参数 | S-SVR | Z-SVR | R-SVR |
|---|---|---|---|
| C | 100 | 120 | 150 |
| ε | 0.01 | 0.01 | 0.01 |
| 核函数 | 多项式 | 多项式 | 多项式 |
| 多项式次数d | 3 | 3 | 3 |
| 训练/测试比例 | 70%/30% | 70%/30% | 70%/30% |
表2. SVR模型的仿真参数
五、结果
在本节中,我们分别在各个小节中展示了方法I、II和III用于ALE预测的结果。我们绘制了预测平均定位误差和仿真平均定位误差之间的线性回归曲线以进行比较。
A. 方法I的性能
我们比较了通过方法I获得的预测ALE结果与改进的CS算法的模拟结果。我们发现,预测结果与模拟结果吻合良好,并沿直线回归线聚集,散射程度较小(图5)。灰色阴影区域对应于回归线的95%置信区间(CI),表明预测结果具有强正相关性,相关系数R = 0.80,均方根误差(RMSE)= 0.23m。
B. 方法II的性能
通过方法II计算出预测的ALE后,我们将其与改进的CS算法的模拟结果进行了性能对比。结果发现两者之间具有良好的一致性,相关系数R = 0.81,均方根误差(RMSE)= 0.20m(图6)。然而,由于SVR模型对ALE值的高估,部分观测值落在回归线的置信区间之外。这种高估可能是由正偏差引起的,此类误差属于系统误差,主要源于所采用的模型或方法。
C. 方法III的性能
我们将方法III的预测ALE与通过改进的CS算法获得的仿真ALE进行了比较。在这种情况下,我们也在变量之间发现了强相关性(图7)。这里,我们发现实际相关性为相关系数R = 0.82,均方根误差(RMSE)为 = 0.15m。
VI. 讨论
在本节中,我们首先讨论了三种方法在计算效率方面的性能。为此,我们计算了预测或计算ALE所需的计算时间。此外,为了确保所提出的方法与现有的改进CS进行公平比较,我们将获得的结果与三种不同配置下改进的CS仿真结果的计算时间进行了比较,即,对于节点密度100、200和300,在传输范围20米和20个锚节点的条件下,绘制了计算时间100 × 100 m²区域(图8)。该图中,时间轴为对数尺度。虚线表示计算时间当在单个脚本中编译时,所有这三种方法所需要的时间。
通过比较,我们发现这三种方法所花费的时间明显低于改进的CS算法。此外,方法III耗时最少,其次是方法II和方法I。
已有各种其他研究基于自适应神经模糊推理系统(ANFIS)来提高定位精度[44],其平均绝对误差(MAE)为0.283 m;以及基于反向传播的人工神经网络(BP‐ANN)模型[45],其平均定位误差为0.921 m。这两项研究均报告了较高的定位精度。在本研究中,我们报告的最小均方根误差(RMSE)为0.15 m。然而,为了确保对所提出的方法进行公平评估,我们需要将支持向量回归(SVR)的结果与其他基于回归的机器学习模型进行比较。我们选择了高斯过程回归(GPR)作为比较对象,因为GPR是一种被广泛使用、稳健且准确的模型[46],[47]。为此,我们将获得的结果与GPR的相应变体进行了比较。三种相应的GPR变体分别为缩放GPR(S‐GPR)、Z分数GPR(Z‐GPR)和范围GPR(R‐GPR),如表3所示。我们使用相关系数R、均方根误差(RMSE)和计算时间来比较所有方法的结果。
通过比较发现,方法III是所有方法中最有效的方法。尽管所提出的方法比相应的高斯过程回归(GPR)变体表现更好,但基于支持向量回归(SVR)的方法在处理噪声数据时容易出现性能下降。在这种情况下,GPR更有可能表现更好[48]。此外,所提出的方法的性能依赖于核函数和特征的选择。
| 方法 | R | RMSE (m) | 计算时间 (s) |
|---|---|---|---|
| S-SVR | 0.80 | 0.23 | 0.45 |
| Z-SVR | 0.81 | 0.20 | 0.38 |
| R-SVR | 0.82 | 0.15 | 0.32 |
| S-GPR | 0.79 | 0.25 | 1.20 |
| Z-GPR | 0.80 | 0.22 | 1.15 |
| R-GPR | 0.81 | 0.18 | 1.10 |
表3。所提出的方法与基准的比较。
VII. 结论
在本文中,我们提出并研究了三种基于SVR的机器学习模型用于ALE预测。这些方法根据所使用的标准化方法定义。在方法I、II和III中,分别采用了缩放标准化、Z分数标准化和范围标准化方法。随后,我们使用标准化数据并通过多项式核函数训练了SVR模型,利用相关系数和均方根误差(RMSE)指标评估其性能。结果发现,对特征进行范围标准化(即方法III,使用公式(12))可使ALE预测中的RMSE更低,且方法III的相关系数最高。
此外,我们还比较了这三个模型在计算时间需求方面的性能。同样,方法III的表现优于其他两种方法。它所需的时间少于其他两种方法。因此,在网络建立过程中可以使用方法III进行ALE预测,以减少时间需求。
8

被折叠的 条评论
为什么被折叠?



