College of Mechanical and Control Engineering, Guilin University of Technology, Guilin 541006, China.
Department of Electrical and Electronic Engineering, Guilin University of Technology AT Nanning, Nanning 532100, China.
Sensors (Basel). 2023 Apr 13;23(8):3952. doi: 10.3390/s23083952.
Considering the low indoor positioning accuracy and poor positioning stability of traditional machine-learning algorithms, an indoor-fingerprint-positioning algorithm based on weighted k-nearest neighbors (WKNN) and extreme gradient boosting (XGBoost) was proposed in this study. Firstly, the outliers in the dataset of established fingerprints were removed by Gaussian filtering to enhance the data reliability. Secondly, the sample set was divided into a training set and a test set, followed by modeling using the XGBoost algorithm with the received signal strength data at each access point (AP) in the training set as the feature, and the coordinates as the label. Meanwhile, such parameters as the learning rate in the XGBoost algorithm were dynamically adjusted via the genetic algorithm (GA), and the optimal value was searched based on a fitness function. Then, the nearest neighbor set searched by the WKNN algorithm was introduced into the XGBoost model, and the final predicted coordinates were acquired after weighted fusion. As indicated in the experimental results, the average positioning error of the proposed algorithm is 1.22 m, which is 20.26-45.58% lower than that of traditional indoor positioning algorithms. In addition, the cumulative distribution function (CDF) curve can converge faster, reflecting better positioning performance.
考虑到传统机器学习算法的室内定位精度低和定位稳定性差的问题,本研究提出了一种基于加权 K 最近邻(WKNN)和极端梯度提升(XGBoost)的室内指纹定位算法。首先,通过高斯滤波去除指纹数据集的异常值,以增强数据可靠性。其次,将样本集分为训练集和测试集,然后使用 XGBoost 算法对接收信号强度数据进行建模,其中每个接入点(AP)的接收信号强度数据作为特征,坐标作为标签。同时,通过遗传算法(GA)动态调整 XGBoost 算法中的学习率,并基于适应度函数搜索最优值。然后,将 WKNN 算法搜索到的最近邻集引入 XGBoost 模型,经过加权融合后获得最终的预测坐标。实验结果表明,所提出算法的平均定位误差为 1.22 米,比传统的室内定位算法低 20.26%至 45.58%。此外,累积分布函数(CDF)曲线能够更快地收敛,反映出更好的定位性能。