1.一种基于先验知识和迁移学习的定位方法,其特征在于:包括以下步骤:步骤1,在离线阶段利用信号强度接收装置采集预先选定好的参考点和基于先验知识选定的特殊点的来自各个AP的信号强度值,得到建立离线指纹库的原始数据;
步骤2,对采集到的AP信号强度值进行数据预处理并建立离线指纹库;
步骤3,在在线阶段利用加速度传感器和电子罗盘传感器的数据获取关键特征,匹配先验知识并判断当前是位于哪个特殊点,将特殊点的信号强度值作为是否进行和如何进行迁移学习的判别基准;
步骤4,当位于特殊点的时候采集当前特殊点接收到的AP的信号强度值,将采集到的信号强度值与离线指纹库中的数据进行对比,判断AP是否发生了改变,当AP没有发生改变时直接进行定位得到定位结果;具体包括:假设定位时有m个AP,一共选取了l个特殊点;将离线阶段采集到的第i个特殊点来自第j个AP的n次RSS值的均值记作 将离线指纹库特殊点均值矩阵表示为如下所示:将在线阶段采集到的第i个特殊点来自第j个AP的RSS值RSSi,j,同理将在线阶段特殊点的RSS值矩阵表示为:将两个矩阵做差得到差值矩阵Xdif如下所示:Xdif=Xoff‑Xon
通过计算差值矩阵的m2范数得到Fm:
将得到的Fm与经验值Fm0进行对比,若Fm>Fm0,则AP发生了改变,否则AP未发生改变,直接进行定位获取定位结果;
步骤5,当确定了有AP发生了改变以后,将采集到的单个AP在特殊点的信号强度值向量与离线指纹库中单个AP在特殊点的信号强度值进行对比,确定哪些AP发生了改变;
步骤6,在整个定位区域随机采集指纹作为在线域,将离线指纹库作为源域,将源域和在线域分为共有部分和特有部分,其中共有部分为未发生改变的AP部分,特有部分为已经发生了改变的AP部分;以源域为基准,利用共有部分对在线域共有部分数据通过加权进行对齐和重构来减少由于采集数据物理位置不同导致的数据偏差,同时保留权重矩阵,利用权重矩阵对在线域特有部分数据进行加权获得目标域特有部分,运用迁移学习方法将源域特有部分进行迁移,将得到的新的特有部分和源域共有部分组成新的域,得到新的指纹库;
步骤7,利用新的指纹库训练机器学习模型,利用训练好的机器学习模型对在线阶段采集到的数据进行处理,得到定位坐标。
2.根据权利要求1所述的一种基于先验知识和迁移学习的定位方法,其特征在于:步骤
2中,在建立离线指纹库时,会在同一个参考点采集多次RSS信号强度值,这些数据会出现异常值或者缺失值影响定位精度,但是总体符合正态分布,满足格拉布斯准则使用条件,因此选择格拉布斯准则剔除异常值;首先将从单个AP采集到的RSS值表示为:RSS=[rss1,rss2,…,rssn]其中n代表采集的次数,然后按照下面公式计算RSS均值:计算n个数据的标准差S:
单独计算每个数据的格拉布斯判别值Gi:
根据样本个数n查格拉布斯表得到G0,将得到的Gi与G0进行比较,如果Gi≥G0则判断rssi为异常值,否则则为正常值;当分辨出异常值以后,用采集到的AP信号强度值数组的均值和标准差生成的高斯随机数代替异常值。
3.根据权利要求1所述的一种基于先验知识和迁移学习的定位方法,其特征在于:步骤
3中,特殊点通常选取转弯点,基于先验知识确定特殊点时结合加速度传感器和电子罗盘传感器的数据传感器的数据,针对不同的传感器提取不同的数据特征,对这些特征进行特征级融合,保留各个特征所包含的信息,然后在此基础上采用机器学习方法进行决策,以获取当前处于的特殊点的位置。
4.根据权利要求1所述的一种基于先验知识和迁移学习的定位方法,其特征在于:步骤
5中,具体包括:
同样假设定位时有m个AP,一共选取了l个特殊点;在确定AP发生了改变以后,将离线阶段采集到的第i个特殊点来自第j个AP的n次RSS值的均值记作 将l个特殊点来自第j个AP的RSS均值记作将在线阶段采集到的第i个特殊点来自第j个AP的RSS值记作RSSi,j,将l个特殊点来自第j个AP的RSS值记作Vj:Vj=[RSS1,j,…,RSSm,j]将在线阶段和离线阶段来自第j个AP的信号强度向量做差值得到第来自第j个AP信号强度的差值矩阵Vdifj:计算差值矩阵的F范数得到Fvj:
Fvj=||Vdifj||F
将Fvj与Fv0进行对比,若Fvj>Fv0则该AP发生了改变,否则AP没有发生改变。
5.根据权利要求1所述的一种基于先验知识和迁移学习的定位方法,其特征在于:步骤
6中,具体包括:
假设在离线建立指纹库阶段一共选取了p个参考点,其中p包含了特殊点的个数,一共有m个AP,设在第x个参考点采集n次来自第j个AP的RSS值向量为RSSx,j:采集n次的均值记作 假设共有mc个AP未发生改变,有md个AP发生了改变,将第x个参考点来自未发生改变的AP的RSS均值记作:将第x个参考点来自发生改变的AP的RSS均值记作:由此得到源域均值共有矩阵为:
T
Ms_mean_c=[Vs_mean1,…,Vs_meanxc,…,Vs_meanp]源域均值特有矩阵为:
T
Ms_mean_d=[Vs_mean1,…,Vs_meanxd,…,Vs_meanp]同时将源域共有矩阵表示为:
源域特有矩阵表示为:
同时假设在在线阶段共有q个采样点,同样也有m个AP,设在第y个采样点采集到的来自第j个AP的RSS值为RSSy,j,将第y个采样点来自未发生改变的AP的RSS值记作:Vonyc=[RSSyc,1,…,RSSyc,jc,…,RSSyc,mc]将第y个采样点来自发生改变的AP的RSS值记作:Vonyd=[RSSyd,1,…,RSSyd,jd,…,RSSyd,md]由此得到在线域共有矩阵为:
T
Mon_c=[Von1,…,Vonyc,…,Vonq]在线域特有矩阵为:
T
Mon_d=[Von1,…,Vonyd,…,Vonq]将在线域的共有矩阵以源域共有矩阵为基准进行数据对齐,得到目标域共有矩阵,目标域共有矩阵的每一行由在线域共有矩阵的不同行进行加权得到,目标域共有部分第i个向量表示为:Vtci=a1Von1+…+ayVonyc+…+aqVonq式中,i=1,2,…,p;
目标域特有矩阵的每一行也由在线域特有矩阵的不同行进行加权得到,加权系数与共有矩阵加权系数相同,其中加权系数通过采样数据拟合获得;目标域特有部分第i个向量表示为:Vtdi=a1Von1+…+ayVonyd+…+aqVonq式中,i=1,2,…,p;
进行数据对齐以后得到目标域共有矩阵:
T
Mt_c=[Vtc1,…,Vtcx,…,Vtcp]目标域特有矩阵为:
T
Mt_d=[Vtd1,…,Vtdy,…,Vtdp]设迁移矩阵为Mtrs,通过求解
得到迁移矩阵Mtrs,将源域特有矩阵进行迁移得到新的特有矩阵记作Mnew d:将新的特有矩阵与源域的共有矩阵组合得到新的矩阵Mnew:将新的矩阵作为新的指纹库。