计算机系统应用  2018, Vol. 27 Issue (2): 257-260   PDF    
改进神经网络的无线网络室内定位
岳小冰, 郝倩     
河南工业职业技术学院 电子信息工程系, 南阳 473000
摘要:受到多种因素的干扰, 室内定位一直是无线网络研究中的热点, 为了提升无线网络室内定位的效果, 针对当神经网络存在无线网络室内定位精度的难题, 设计了一种基于改进神经网络的无线网络室内定位方法. 首先收集无线网络室内相关信息, 提取室内定位的数据, 然后采用神经网络对数据进行学习, 建立无线网络定位模型, 并对神经网络的缺陷进行改进, 最后在Matlab平台上进行了仿真实验. 结果表明, 改进神经网络克服传统室内定位方法存在的局限性, 获得了更高的无线网络室内定位精度, 而且室内定位效率也得到了明显的改善.
关键词: 室内定位    神经网络    仿真实验    人工蜂群优化算法    
Indoor Positioning of Wireless Network Based on Improved Neural Network
YUE Xiao-Bing, HAO Qian     
Department of Computer Engineering, Henan Polytechnic Institute, Nanyang 473000, China
Abstract: Interfered by a variety of factors, indoor positioning has been a research hotspot in wireless network. To improve the indoor positioning effect, aiming at the problem that the neural network has in indoor positioning accuracy of the wireless network, this paper designs a wireless network based on artificial neural networks. The first indoor wireless network collects relevant information, extracts indoor positioning data, and then uses neural network for data learning. It sets up a wireless network positioning model to improve the defects of the neural network. Finally, the simulation is carried out on the Matlab platform. The results show that the improved neural network overcomes the limitations of the traditional indoor localization methods, and achieves higher indoor localization accuracy of wireless networks. Moreover, the indoor localization efficiency has also been improved significantly.
Key words: indoor location     neural network     simulation experiment     artificial bee colony optimization algorithm    

1 引言

近年来, 随着移动终端技术的成熟, 无线通信的成本低, 因此无线网络应用范围不断拓宽. 在无线网络的应用中, 位置信息至关重要, 尤其是室内定位[1]. 在室内环境中, 全球定位系统(GPS)无法使用, 同时室内定位易受室内环境的干扰, 无线信号变化十分快, 因此室内定位一直是无线网络研究领域中的重大课题[2,3].

针对无线网络的室内定位问题, 国内外学者进行了大学的研究, 提出了许多有效的室内定位方法[4]. 根据定位原理, 室内定位可以分为: 基于距离和基于信号强度的两类定位方法[5], 基于距离的室内定位方法要求测量节点之间的距离, 定位成本低, 而且定位精度比较, 实际应用价值不高[6]. 基于信号强度室内定位方法采用信号有多, 其中接收信号强度(Received Signal Strength Indication, RSSI)使用最为广泛[7]. 当前基于RSSI的无线网络室内定位方法通常采用一定的算法对节点位置进行估计, 当前主要采用K最近邻算法、支持向量机、神经网络等[810], 其中K最近邻算法的计算复杂高, 导致无线网络室内定位方法的定位效果差, 而支持向量机的训练过程耗时比较长, 室内定位效率低, 神经网络的训练速度快, 在无线网络室内定位建模中应用最为广泛. 但是标准神经网络, 如BP神经网络存在收敛速度慢, 参数难以确定等问题[11,12].

为了提升无线网络室内定位的效果, 针对当神经网络存在无线网络室内定位精度的难题, 设计了一种基于改进神经网络的无线网络室内定位方法(ACO-BPNN). 首先提取室内定位的数据, 然后采用神经网络对数据进行学习, 建立无线网络定位模型, 并对神经网络的缺陷进行改进, 最后在Matlab平台上进行了仿真实验.

2 神经网络和人工蜂群算法 2.1 神经网络

BP神经网络学习过程由信息的正向传播和误差的反向传播组成, 由输入层、隐含层和输出层构成, 采用最速下降法学习规则, 首先BP神经网络为信息的正向传播; 然后为误差的反向传播, 不断调整网络的权值和阈值, 使误差信号变小, 一直到输出值和期待值的误差减小到规定范围内, 就可以得到相应的输出值.

(1) 输入层、隐层和输出层的节点为NLM, 输入为 $X = [{x_0},{x_1}, \cdots ,{x_{N - 1}}]$ , 隐含层输出为 $H = [{h_0},{h_1}, \cdots ,{h_{L - 1}}]$ , 实际输出为 $Y = [{y_0},{y_1}, \cdots ,{y_{M - 1}}]$ , 目标输出为 $D = [{d_0},{d_1}, \cdots ,{d_{M - 1}}]$ , 输入层节点i和隐含层节点j的权重为Vij, 隐含层节点j和输出层节点k的权重为Wik, 输出和隐含层阈值分别为θk ${\phi _j}$ . 设:

$f(a) = \frac{1}{{1 + {e^{ - a}}}}$ (1)

隐含层节点的输出为:

${h_j} = f({\beta _j}) = f(\sum\limits_{i = 0}^{N - 1} {{V_{ij}}{x_i} - {\phi _j}} )$ (2)

输出层节点的输出为:

${y_k} = f({a_k}) = f(\sum\limits_{i = 0}^{L - 1} {{W_{ij}}{h_i} - {\theta _k}} )$ (3)

(2) 计算ykdk之间的输出误差项为:

${\delta _k} = ({d_k} - {y_k}){y_k}(1 - {y_k})$ (4)
$\delta _k^* = {h_j}(1 - {h_j})\sum\limits_{k = 0}^{M - 1} {{\delta _k}{W_{jk}}} $ (5)

(3) 权重调整量的计算公式为:

$\Delta {W_{jk}}(n) = \eta {\delta _k}{h_j}$ (6)
$\Delta {V_{ij}}(n) = \eta \delta _j^*{x_i}$ (7)

式中, η表示学习速率.

(4) 网络权重调整方式为

${W_{jk}}(n + 1) = {W_{jk}}(n) + \Delta {W_{jk}}(n) + \mu \Delta {W_{jk}}(n - 1)$ (8)
${V_{ij}}(n + 1) = {V_{ij}}(n) + \Delta {V_{ij}}(n) + \mu \Delta {V_{ij}}(n - 1)$ (9)

(5) 继续迭代, 直到预测的误差达到预定要求, 得到最优权重VijWjk.

2.2 人工蜂群算法

人工蜂群(ABC)算法模拟蜜蜂的采蜜过程, 通过不同角色蜜蜂间的交流, 转换和协作来实现群体智能, 包括引领蜂, 跟随蜂和侦察蜂. 引领蜂和食物源的数量一样, 用于存储食物源信息, 并把食物源信息分享给跟随蜂; 跟随蜂在舞蹈区等待引领蜂来分享食物源信息, 通过观察引领蜂的舞蹈, 选择最优引领蜂进行跟随; 侦察蜂在蜂巢附近搜索食物源, 找到新的食物源. 设有n个食物源 $X = ({X_1},\;{X_2},\cdots,{X_n})$ , 第i个食物源位置为D维的向量 ${X_i} = {[{x_{i1}},{x_{i2}},\cdots,{x_{iD}}]^{\rm{T}}}$ , (i=1, 2, …, n), 代表优化问题的一个可能解. 食物源的适应度值计算公式:

$fi{t_i} = \left\{ \begin{array}{l}\displaystyle\frac{1}{{1 + {f_i}}}\;\;\;\;\;\;\;{f_i} > 0\\1 + \left| {{f_i}} \right|\;\;\;\;\;\;\;{f_i} < 0\end{array} \right.$ (10)

式中, f为目标函数值.

首先, 通过式随机初始化n个食物源的位置:

${x_{ij}} = {({x_{ij}})_{\min}} + rand(0,1)({({x_{ij}})_{\max }} - {({x_{ij}})_{\min }})$ (11)

式中, ${({x_{ij}})_{\max }}$ ${({x_{ij}})_{\min }}$ xij的上界和下界; rand(0, 1)为随机数.

引领蜂首先对相应的食物源进行一次邻域搜索, 用式(12)来表示:

${v_{ij}} = {x_{ij}} + {r_{ij}}({x_{ij}} - {x_{kj}})$ (12)

式中, vijxij附近的食物源位置, kj是随机值, rij为随机数.

如果新食物源要优于原来的食物源, 那么就用新食物源位置去替代原来位置, 当全部引领蜂完成搜索后, 将食物源信息传达给跟随蜂. 跟随蜂根据相关概率Pi选择一个引领蜂进行跟随, Pi计算公式为:

${P_i} = fi{t_i}/\sum\limits_{i = 1}^n {fi{t_i}} $ (13)

当跟随蜂选择食物源后, 需要对食物源进行邻域搜索, 并保留适应度较高的食物源. 若食物源经过引领蜂和跟随蜂limit次循环后, 仍然没有被替换, 那么该位置被放弃, 此时引领蜂转变为侦察蜂, 随机搜索一个食物源替换原食物源.

3 ACO-BPNN的无线网络室内定位方法

ACO-BPNN的无线网络室内定位原理为: 首先采集室内定位的数据, 然后采用BP神经网络数据进行学习, 采用ABC算法对神经网络进行优化, 最后建立无线网络室内定位模型, 具体如图1所示.

图 1 ACO-BPNN的室内定位流程

改进神经网络的无线网络室内定位步骤为:

(1) 采集室内定位的数据, 并进行归一化处理.

(2) 根据采集的数据确定神经网络的结构.

(3) 初始化ABC算法的相关参数.

(4) 随机产生食物源位置 ${X_i} = {[{x_{i1}},\;{x_{i2}},\cdots,{x_{iD}}]^{\rm{T}}}$ , D为解的维数, D其值为:

$D = M*H + H*N + H + N$ (13)

式中, MHN为输入层、隐含层、输出层的节点数.

(5) 将食物源Xi反编码为神经网络的权值和阈值, 对训练样本进行学习, 得到目标函数值为:

$fit = \frac{1}{n}\sum\limits_{i = 1}^n {\sum\limits_{k = 1}^N {{{({d_i} - {t_k})}^2}} } $ (14)

式中, ditk分别为实际和目标输出, n为训练样本数.

(6) 重复上述步骤, 得到所有食物源的适应度值.

(7) 引领蜂在邻域内产生新解Vi, 根据贪婪原则选择XiVi的最优者进入下一代.

(8) 跟随蜂估计Pi, 根据PiXi邻域产生新解Vi, 采同样的方式选XiVi间最优者保留下来.

(9) 若连续limit次搜索后, 一个解没有得到明显改善, 那就就要放弃该解, 此时引领蜂变为侦察蜂, 并产生一个新解Vi.

(10) 选择目前最优的解.

(11) 当寻优终止后, 最优解对应的连接权值和阈值赋给神经网络, 重新对样本进行学习, 建立无线网络室内定位模型.

4 仿真实验 4.1 仿真场景

为测试改进神经网络(ABC-BPNN)的无线网络室内定位效果, 选择一个如图2所示的仿真场景进行仿真实验, 采用Matlab 2014工具箱编程实现改进神经网络算法.

图 2 仿真场景

4.2 结果与分析

无线网络室内定位误差的计算公式为:

$\delta = \sqrt {{{(x - x')}^2} + {{(y - y')}^2}} $ (15)

式中, (x, y)表示实际节点位置; $(x',y')$ 为估计位置.

在相同实验环境下, 采用标准BP神经网络(BPNN)、K最近邻算法(KNN)、遗传算法优化神经网络(GA-BPNN)作为对比方法, 统计它们的定位误差, 结果如图3所示, 从图3可以看出, 在所有方法, KNN的定位误差最大, 其次为BPNN, 定位误差最小者为ABC-BPNN, 这是因为ACO-BPNN通过ACO算法对BP神经网络的参数进行优化, 获得了比遗传算法、梯度下降算法更优的参数, 建立了更优的无线网络室内定位模型, 提高了无线网络室内定位精度, 有效降低了无线网络室内定位误差.

图 3 各种方法的定位误差对比

不同方法的训练时间和测试时间对比, 结果如图4所示. 从图4可知, 所有算法的训练时间均要高于测试时间, 这是因为训练过程的计算复杂相对更高, 迭代次数更多, 在相同条件下, ACO-BPNN的训练时间和测试时间均要小于对比方法, 提高了无线网络室内定位的效率, 加快了无线网络室内定位速度, 实际应用范围更加广泛.

图 4 不同方法的执行时间对比

5 结束语

针对神经网络在无线网络室内定位中存在的不足, 设计了一种基于ACO-BPNN的无线网络室内定位方法, 引入ABC算法对神经网络参数——连接权值和阈值进行优化, 克服当前方法存在的缺陷, 通过具体对比实验测试其有效性, 结果表明, ACO-BPNN加快了训练和测试速度, 提高了无线网络室内定位精度, 具有十分广泛的应用前景.

参考文献
[1]
Gu YY, Lo A, Niemegeers I. A survey of indoor positioning systems for wireless personal networks. IEEE Commu-nications Surveys & Tutorials, 2009, 11(1): 13-32.
[2]
Li M, Liu YH. Rendered path: Range-free localization in anisotropic sensor networks with Holes. IEEE/ACM Transactions on Networking, 2010, 18(1): 320-332. DOI:10.1109/TNET.2009.2024940
[3]
Kushki A, Plataniotis KN, Venetsanopoulos AN. Intelligent dynamic radio tracking in indoor wireless local area networks. IEEE Transactions on Mobile Computing, 2010, 9(3): 405-419. DOI:10.1109/TMC.2009.141
[4]
田勇, 唐祯安, 喻言. 室内无线传感器网络信道传输模型及统计分析. 控制与决策, 2014, 29(6): 1135-1138.
[5]
倪巍, 王宗欣. 基于接收信号强度测量的室内定位算法. 复旦学报(自然科学版), 2004, 43(1): 72-76.
[6]
夏俊, 俞晖, 罗汉文. 基于多传感器数据融合的室内定位算法. 上海师范大学学报(自然科学版), 2015, 44(1): 65-71.
[7]
张明华, 张申生, 曹健. 无线局域网中基于信号强度的室内定位. 计算机科学, 2007, 34(6): 68-71, 75.
[8]
刘召伟, 徐凤燕, 王宗欣. 基于参数拟合的室内多用户定位算法. 电波科学学报, 2008, 23(6): 1090-1094, 1105.
[9]
徐凤燕, 石鹏, 王宗欣. 基于参数拟合的距离-损耗模型室内定位算法. 电路与系统学报, 2007, 12(1): 1-5(请核对本条文献序号).
[10]
林以明, 罗海勇, 李锦涛, 等. 基于动态Radio Map的粒子滤波室内无线定位算法. 计算机研究与发展, 2011, 48(1): 139-146.
[11]
张勇, 黄杰, 徐科宇. 基于PCA-LSSVR算法的WLAN室内定位方法. 仪器仪表学报, 2015, 36(2): 408-414.
[12]
张会清, 石晓伟, 邓贵华, 等. 基于BP神经网络和泰勒级数的室内定位算法研究. 电子学报, 2012, 40(9): 1876-1879.
[13]
李瑛, 胡志刚. 一种基于BP神经网络的室内定位模型. 计算机技术与自动化, 2007, 26(2): 77-80.