论文部分内容阅读
伴随着电子技术和无线通信技术的迅猛发展,无线传感器网络在许多行业都取得了日益广泛的应用,定位技术作为无线传感器网络的关键组成技术,近年来取得了较多的学术成果。传统的无线传感器定位算法往往存在着诸多的缺陷,比如对锚节点依赖程度高、在非视距条件下性能较差,算法的实用性不强等。为了解决这些问题,本文引入了机器学习方法进行节点定位,利用机器学习算法泛化能力强的特点,建立了基于跳数的支持向量机定位算法和基于跳数优化的支持向量回归机定位算法,取得了良好的效果。本文研究了无线传感器定位算法在国内外的发展现状,分析总结了定位算法的基本概念和一般原理。通过对经典的定位算法的研究,分析比较了它们的优缺点,并提炼出了算法的性能评价标准。本文详细介绍了DV-Hop算法的定位流程,分析研究了DV-Hop算法中存在的缺陷,包括使用平均跳距来估计节点间距离会带来较大的误差和最小跳数不能准确地反映节点间的相对位置等不足,并且对DV-Hop算法进行了仿真实验。为了解决DV-Hop算法中由于非视距、非线性传播导致的跳距估计不准确的问题,本文将DV-Hop算法中的节点间最小跳数与机器学习算法相结合,提出了基于跳数的MSVM和MSVR定位算法。MSVM通过划分网格的方式将定位问题转换成为多分类问题,使用决策树方法实现了多分类SVM算法。MSVR直接将定位问题视作回归问题,通过分别训练两个坐标轴上的支持向量回归器,直接根据跳数向量预测出未知节点的坐标。针对DV-Hop算法中最小跳数无法准确地反映节点间的相对位置的问题,本文提出了HCR跳数优化方法。经HCR方法优化后的跳数是一个实数,它的整数部分保存有原来的最小跳数信息,小数部分反映了节点在单个跳距内的相对位置。通过使用优化后的跳数向量作为SVR算法的输入向量,构建了HCR-SVR算法。为了进一步充分有效地利用训练数据,基于集成学习方法,本文提出了EN-SVR算法。该算法利用bagging和随机子空间方法将训练数据集划分为多个子集,分别使用SVR算法训练得到若干个子回归器,进而构建集成学习模型,子回归器输出结果的加权平均和将作为最终的未知节点坐标预测值。本文利用Python软件包对定位算法进行了仿真实验,全面检验了定位算法在不同场景的性能表现,验证了定位算法的可行性,具有较强理论价值和实践意义。