分享
2023年基于深度学习的RFID指纹定位算法.doc
下载文档

ID:1228300

大小:474KB

页数:11页

格式:DOC

时间:2023-04-19

收藏 分享赚钱
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,汇文网负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
网站客服:3074922707
2023 基于 深度 学习 RFID 指纹 定位 算法
第四章 基于PSO-DBN的RFID指纹定位方法 基于PSO-DBN的RFID定位原理 传统的DBN网络算法在反向传播时采用传统的梯度下降方法来解决最优的隐含层之间的权值和偏置以及隐含层到输出层的权值和偏置的问题。随着最优化问题的深入研究,使得利用最优化算法优化深度学习网络成为可能。我们可以使用智能优化算法代替传统的梯度下降算法,利用智能优化算法找到DBN网络模型的最优参数,即最优的隐含层之间的权值和偏置,以及最优的隐含层到输出层的权值和偏置。其中,粒子群优化算法是一种理想的智能优化算法,我们可以将粒子群优化算法和深度置信网络算法相融合,提高深度置信网络的精确度,同时也提高了基于PSO-DBN深度网络的RFID定位预测模型的预测性能和准确性。 4.1.1 PSO寻优算法概述 粒子群优化算法(Particle swarm optimization, PSO)是基于一种新兴的最优化技术,目前有广泛的应用。此算法是根据生物捕食现象的一种模拟[66],此算法收敛速度快、精确性高,并且算法步骤流程简单方便,被广泛应用于多种领域,如目标函数优化、神经网络训练以及其他遗传算法等。 粒子群优化算法首先是对种群进行初始化,即确定微粒的初始位置和初始速度,并由目标函数确定一个适应值。在多维环境下,飞行的粒子根据速度在调整位置,而速度的调整是跟据自身和周围粒子的经验来定。粒子群优化算法是利用粒子追随粒子群中的最优粒子,再逐步迭代,最后得到一个最优解[67]。 假设在m维的搜索空间中,存在n(n>0)个粒子个体的种群X=(X1,X2,…,Xn), i=1,2,…,n。那么第i个粒子它的位置用向量表示,它的速度用向量表示,描述粒子的运动状态需要两个量:(1)当前位置X,X为当前粒子的位置坐标;(2)当前速度V,V为粒子上一次运动的距离和方向[68]。粒子位置的调整是取决于速度量,对于粒子i的位置,有以下公式: (4.1) 另外每个粒子都有一个适应度函数f(X),用于衡量解的质量。 为了控制粒子的飞行速度,更好的发挥粒子群算法的搜索优势,必须对粒子设定最大速度 。但是仅仅靠最大速度的条件来约束还远远不够,还需要在速度公式中参加了惯性权重,从而形成标准的 PSO 算法。标准的 PSO 算法能够对粒子的飞行速度进行调节,对粒子群中的每一个粒子,需要找到个体最优解Pg,Pg表示进过屡次进化迭代,该粒子所找到的最优解Pgi,i=1,2,…,n,的集合;而对于整个粒子群,要寻找一个全局最优解Gg,表示目前为止找到的全局最优解。在粒子群进化到下一代时,每个粒子会通过追踪Pgi和Gg两个“最优解〞来更新自己[69]。速度及位置更新公式如下公式(4.2)和(4.3)所示: (4.2) (4.3) 式中: 为权值系数,n表示该种群中粒子的总数,t表示当前迭代次数,i=1,2,…,n,j=1,2,…,m,表示第i个粒子在第t次迭代飞行速度矢量的第j维分量的速度;表示的是第i个粒子在第t次迭代飞行速度矢量的第j维分量的位置;表示第i个粒子的个体最优解的第j维分量;是群体最好位置的第j维分量;,是加速常数;、是随机函数,作用是为了产生(0,1)的随机数。 PSO 算法一般流程如图4.1所示: 图4. Error! Bookmark not defined. 粒子群算法流程图 Fig 4.1 The flow graph of PSO 步骤1:初始化种群,设置初始参数 , , ,随机生成 ,,粒子速度为 ,位置为,群体规模n,粒子维度m,最大迭代次数tmax等,; 步骤2:根据公式(4.2)和(4.3)计算每个粒子的适应值; 步骤3:将每个粒子的适应度值f(Xi)与之前所得到的所有适应值中的最好值Pgi进行比较,如果优于Pgi,那么将其作为当前局部最优值; 步骤 4:将每个粒子的适应值f(Xi)与种群中所有粒子得到的最优值Gg进行比较,如果优于Gg,那么将其作为当前全局最优值; 步骤 5:按照公式(4.2)和(4.3)更新粒子的速度和位置; 步骤 6:,计算代的适应评价函数值,并重新确定Pgi和Gg; 步骤 7:判断是否到达终止条件,如没到达那么返回步骤 2;如到达那么终止迭代,输出结果。 步骤 8:最终输出的粒子位置就是深度置信网络的最优权值,从而完成整改深度置信网络的训练。 从标准 PSO 算法的速度及位置更新公式中可知,粒子的飞行速度等同于搜索步长,粒子的飞行速度对算法的全局收敛有很大影响。如果飞行速度太快,粒子能够很快飞到全局最优解的区域,但是由于速度太快,粒子很难约束控制,当粒子逼近最优解时,找到的粒子已经飞出最优解区域[70]。因此,控制好粒子的寻优速度,是该算法的关键。 粒子群优化算法方法简单,寻优求解收敛速度快,最优解的精确性高[71],总的来说,它具有以下几个特点: (1)算法步骤简单,容易实现。粒子群个体的设置规那么简单,个体执行的步骤较少。 (2)算法具备良好的扩展性。粒子群的数目可以根据实际问题改变。 (3)算法系统搜索能力强。算法具有全局搜索的能力,全局搜索时收敛迅速。 4.1.2 利用PSO寻优对梯度下降法进行改进 对于深度置信网络,所有神经元的权值和偏置都可以用粒子群中的粒子来表示,将深度置信网络参数的平均绝对误差作为适应度函数,计算每个粒子的适应度,网络的权值和偏置就是需要求的粒子群最优解。通过PSO算法计算网络参数的最优解,防止了深度置信网络中梯度下降计算法容易陷入局部极值的缺点,得到最优连接权值,无论是收敛速度和训练效率,都有很大的提高。由于深度置信网络的结构较为复杂,隐含层的神经元数目较多,神经元连接的权值的数量很多,利用PSO算法可以让搜索空间有急剧的增大。 下面,介绍一下用PSO算法优化DBN网络的思路,思路如下: (1)确定PSO-DBN网络的结构。 要确定PSO-DBN网络结构,需确定输入层的节点数,隐含层节点数、输出层数、输出层节点数。其中如何确定隐含层的节点数,目前有两种方法:一是使用优化算法,如遗传算法等;二是使用经验公式[72]。优化算法的缺点是计算过程复杂,计算量大,故一般情况下使用经验公式法确定隐含层的节点数。经验公式为: (4.4) 式中,h表示隐含层节点数,m是输出层节点数,n是输入层节点数。 (2)确定需要PSO优化的DBN网络参数数量,以确定粒子群的结构和维度。 利用PSO算法优化的DBN网络参数就是优化输入层和隐含层之间、两个隐含层之间和隐含层与输出层之间的权值和偏置。一共有多少未知的网络参数,粒子群算法中的粒子就具有多少维度。 (3)确定粒子群算法中的目标函数。 粒子群算法的目标函数是平均绝对误差函数。公式为: (4.5) (4.6) 其中,表示平均绝对误差,表示网络中实际值,表示网络预测值, 是样本总数。 (4)设置粒子群算法的相关参数。 初始化粒子群的种群规模、粒子的初始位置及初始速度,设置惯性因子、学习因子、迭代次数,最大速度等参数。初始化过程如下所示: 粒子群粒子数量一般取几十; 对任意i,j,在[-xmax ,xmax]服从均匀分布产生粒子位置初始值; 对任意i,j,在[-vmax ,vmax]服从均匀分布产生粒子速度初始值; 粒子群维度: 粒子的维度等于整个DBN网络权值参数的数量与整个DBN网络偏置参数的数量之和; 粒子群适应度函数,即DBN网络中的误差函数: (4.7) 式中,和分别表示第k层第i个节点的实际输出和网络训练输出,I为该层节点个数。 根据粒子群算法流程,为了找到每个粒子的最正确位置以及粒子群的最正确位置,要不断地更新粒子速度和位置,直到满足目标函数,求得最优解。基于PSO-DBN的算法流程图如下列图: 图4. Error! Bookmark not defined. 基于PSO-DBN算法流程图 Fig 4.2 The flow chart of PSO-DBN algorithm 基于PSO-DBN的RFID三维指纹定位模型 完整的PSO-RFID三维指纹定位模型包括:信号样本采集模块、数据预处理模块、深度置信网络模块、PSO修正深度置信网络参数模块、待测标签定位模块组成,这些模块共同构成完整的定位系统。模块结构如下列图: 图4. Error! Bookmark not defined. 基于PSO-DBN定位系统模型 Fig 4.3 Positioning system pattern based on PSO-DBN 图Error! Bookmark not defined.给出了基于PSO-DBN的RFID指纹定位系统模型,将待测标签的信号强度样本,输入经过PSO算法改进后的DBN网络,直接预测出待测标签的坐标。该模型在保证定位精度的同时,简化了定位系统的复杂度,大大降低了定位系统的本钱。 基于PSO-DBN的RFID指纹定位方法的具体步骤为: (1) 指纹数据采集以及数据预处理。 数据采集步骤以及数据预处理归一化步骤与3节一致。 (2)设置PSO-DBN网络中DBN的网络结构。 本文采用的DBN网络输入层设置4个节点,输出层设置3个节点,隐含层为两层,隐含层节点数分别为100和10个。 (3)设定粒子群的结构和维度。 设定粒子群种群数量,粒子群维度D=1433, 和取0到1之间的 随机数,设置惯性因子、学习因子 、迭代次数。 (4)使用粒子群算法得到DBN网络的最优参数。 根据粒子群算法流程,不断地更新粒子速度和位置,直到满足目标函数得到最优解,即为更新的网络权值和偏置参数,完成DBN网络优化。 (5) 输出预测坐标。该步骤与3节一致。 4.3仿真实验与结果分析 基于PSO-DBN的RFID指纹定位算法同样以仓库中的货物上的RFID标签定位作为实例。仓库的RFID指纹定位系统主要由仓库四个阅读器、货物上位置的参考标签、位置未知的测试标签组成,其布局图同节一致,如图Error! Bookmark not defined.所示。根据上一节设计的PSO-DBN网络参数,进行仿真实验。 (1)训练时间比照 表 4. Error! Bookmark not defined. 三种网络模型的训练时间和测试时间比照 Tab 4.1 The comparison of training time and testing time of three network structures 网络结构 训练时间 测试时间 总迭代次数. BP神经网络模型 4-128-3 89.7 s 1000 深度置信网络模型 4-100-10-3 200 PSO-DBN网络模型 4-100-10-3 200 从表4.1中可见,在网络结构差异不大的情况下,两种基于DBN网络的RFID定位模型的训练用时要比BP神经网络模型低,而测试用时均较BP神经网络模型的低。由于基于PSO-DBN网络模型需要运用PSO算法对网络参数重新优化,增加了测试用时,但用时依然少于BP神经网络模型。 (2)算法收敛性比照 图4. Error! Bookmark not defined. 两种算法收敛性比照图 Fig 4.4

此文档下载收益归作者所有

下载文档
你可能关注的文档
收起
展开