本发明涉及无线通信技术、传感器技术,尤其涉及一种基于机器学习的混合核函数室内定位方法属于通信定位技术领域。
背景技术:
近年来随着无线传感网络技术的发展,位置服务广泛用于个人和商业应用。传统的定位算法包括基于接收信号强度指示(rssi)算法,基于到达时间(toa)、基于到达时间差(tdoa)算法和基于到达角度(aoa)算法[1][2][3]。其中,基于rssi算法因其低功耗和低成本而广受推崇。
基于rssi算法又分为两类:分别是测距定位算法[4],指纹定位算法[5][6]。测距定位算法将rssi通过距离损耗模型转换为距离以后,通过求解数个圆交点的方式,利用最小二乘法进行的定位处理。该算法只考虑短距离衰减,因而只有在房间内进行定位才能取得良好的定位精度。指纹定位算法需先建立指纹地图,待移动终端收到几个基站的信号以后,使用信号的场强组成指纹地图,直接查询指纹地图数据库,从而得到目标的地理位置信息,实现定位。该算法定位精度和稳定性高,但离线阶段工作量大。
机器学习[7][8][9]是近20多年兴起的一门多领域交叉学科,机器学习算法是一类从数据中自动分析获得规律,并利用规律对未知数据进行预测的算法。上世纪90年代中期,统计学习开始成为机器学习的主流技术,支持向量机[10][11][12](supportvectormachine,svm)算法凭借其优越性能得到了广泛应用。
svm方法是通过一个非线性映射p,把样本空间映射到一个高维乃至无穷维的特征空间中(hilbert空间),使得在原来的样本空间中非线性可分的问题转化为在特征空间中的线性可分的问题。当支持向量机的求解只用到内积运算,且在低维输入空间又存在某个函数k(x,x′),它恰好等于在高维空间中这个内积,就可以大大简化计算。这样的函数k(x,x′)就称为核函数[13][14][15]。
当前的支持向量机算法在核函数的选用上以单一核函数为主,但是单一核函数的泛化能力和鲁棒性具有局限性,并不对所有具体问题均适用,且当样本特征含有异构信息、样本规模巨大时,单一核函数的劣势就愈加显现出来。多核学习[16][17][18]则有效弥补了这一点,并且增强了决策函数的可解释性,从而获得比单核模型更优的性能,提高分类正确率和预测精度。
传统的几种定位算法详见:
[1]s.goldenands.bateman,“sensormeasurementsforwi-filocationwithemphasisontime-of-arrivalranging,”ieeetrans.mobilecomput.,vol.6,no.10,pp.1185–1198,2007.
[2]y.shenandm.win,“ontheaccuracyoflocalizationsystemsusingwidebandantennaarrays,”ieeetrans.commun.,vol.58,no.1,pp.270–280,2010.
[3]z.liwu,c.hungli,j.-y.ng,andk.r.leung,“locationestimationviasupportvectorregression,”ieeetrans.mobilecomput.,vol.6,no.3,pp.311–321,2007.
基于rssi的两种定位算法详见:
[4]k.yu,i.sharp,andy.j.guo,ground-basedwirelesspositioning,wiley-ieeepress,2009.
[5]徐小卜.一种基于位置指纹的wsn室内安全定位算法[j].电脑知识与技术,2016,12(9):76-77.
[6]d.milioris,l.kriara,a.papakonstantinou,g.tzagkarakis,p.tsakalides,andm.papadopouli,“empiricalevaluationofsignal-strengthfingerprintpositioninginwirelesslans,”inproc.13thacminternationalconferenceonmodeling,analysisandsimulationofwirelessandmobilesystems,bodrum,turkey,oct.2010.
机器学习算法详见:
[7]李运.机器学习算法在数据挖掘中的应用[d].北京:北京邮电大学,2014.
[8]王鲁达.基于svm树型多分类的蜂窝通信系统中节点定位算法研究[d].长沙:湖南大学,2009.
[9]王鲁达,髙守平,方芳,李煜民.基于机器学习的蜂窝网络节点定位算法研究[j].计算机工程与科学,2010,32(8):56-59.
支持向量机算法详见:
[10]范昕伟.支持向量机算法的研究及其应用[d].杭州:浙江大学,2003.
[11]平源.基于支持向量机的聚类及文本分类研究[d].北京:北京邮电大学,2012.
[12]李福坚,吴黎明.一种改进的支持向量机的室内指纹定位技术[j].自动化与信息工程,2014,35(4):29-33.
核函数详见:
[13]s.mahfouz,f.mourad-chehade,p.honeine,h.snoussi,j.farah.kernel-basedmachinelearningusingradio-fingerprintsforlocalizationinwsns.ieeetransactionsonaerospaceandelectronicssystems,2015,51(2):1324-1336.
[14]scholkopfb,mikas,burgescjc,knirschp,mullerkr,ratschg.inputspaceversusfeaturespaceinkernel-basedmethods.ieeetransactionsonneuralnetwork,1999,10(5):1000-1017.
[15]rakotomamonjya,bachfr,canus,grandvalety.moreefficiencyinmultiplekernellearning.in:proceedingsofthe24thinternationalconferenceonmachinelearning.corvalis,oregon:acm,2007.775-782.
多核学习算法详见:
[16]周绍磊,廖剑,史贤俊.rbf-svm的核参数选择方法及其在故障诊断中的应用[j].电子测量与仪器学报,2014,28(3):240-246.
[17]汪洪桥,孙富春,蔡艳宁,陈宁,丁林阁.多核学习方法[j].自动化学报,2010,36(8):1037-1050.
[18]王炜,郭小明,王淑艳,刘丽琴.关于核函数的选取方法[j].辽宁师范大学学报(自然科学版),2008,31(1):1-4.
技术实现要素:
针对以上问题本发明将核函数机器学习算法和无线定位技术相结合,提出了一种基于机器学习的混合核函数室内定位方法。该方法进一步提高了定位精度。首先,建立指纹数据库,构造混合核函数;然后利用支持向量回归和v折交叉验证方法得出最佳核参数和最佳权重系数;最后,将指纹数据库作为训练数据集,并进行离线训练学习得出拟合函数,再通过对目标接收到的rssi值进行在线学习,得出目标的位置。
为了解决以上问题,本发明采用了如下技术方案:一种基于机器学习的混合核函数室内定位方法,其特征在于,包括如下步骤:
步骤1.利用参考节点的位置坐标(x,y)和接收到的信号强度rssi建立指纹地图库,并作为训练数据集;
步骤2.利用加权求和的方法构造混合核函数;
步骤3.利用机器学习算法中的支持向量回归算法和v折交叉验证方法训练得出混合核函数的最佳权重系数和最佳核参数;
步骤4.在权重系数和核参数最佳的前提下,对训练数据集进行离线训练学习,从而分别得出x坐标和y坐标的拟合函数;
步骤5.利用得到的拟合函数,对目标接收到的rssi值进行在线学习,从而得出目标的位置坐标。
所述的步骤1具体包括以下内容:
已知n个参考节点,位置坐标为(xi,yi),i∈(1,2,…,n),一个目标节点,其位置坐标设为(x,y);在离线阶段,目标分别移动到n个参考节点的位置pn=(xn′,yn′),n∈(1,2,…,n),并收集每个位置接收到的rssi值,形成指纹数据库;令位置pn接收到的rssi测量值为γn=(r1,n,r2,n,…rn,n)t,其中ri,n代表从第i个参考节点接收到的rssi值;因此,x坐标的训练集写成:(γn,xn′),n∈(1,2,…,n),同理,y坐标的训练集写成:(γn,yn′),n∈(1,2,…,n)。
所述的步骤2具体包括以下内容:
核函数分为局部核函数和全局核函数两类;高斯核函数是局部核函数,多项式核函数是全局核函数;
两种核函数通过线性加权构成一种全新的核函数,这种新的核函数定义为混合核函数km:
km=wkg+(1-w)kl(1)
其中,kg为全局核函数,kl为局部核函数,w为全局核函数在整个核函数中所占的比例,w越大,全局核函数在混合核函数中起的作用越大,反之,越小。
所述的步骤3具体包括以下内容:
首先,选用高斯核函数和多项式核函数来构造混合核函数,权重系数范围为wl<w<wh,搜索步长为δw=(wh-wl)/n,其中n为预先设定的常数,因此,交叉验证的权重系数可转化为:
wi=wl+iδw(1≤i≤n)(2)
当wi取定值时,优化过程如下:
(1)将训练集随机分成v份,v≥2;
(2)设第1份为验证集,其余(v-1)份为训练集,用混合核函数训练定义的训练集可得x坐标的拟合函数;再利用验证集可计算得出估计性能的均方误差;重复v次可得平均均方误差及最小均方误差对应的核参数;
(3)将步骤(1)和步骤(2)重复n次可得出所有权重系数对应的平均均方误差和核参数,最小平均均方误差对应的权重系数即为最佳权重系数,此时最小均方误差对应的核参数即为最佳核参数。
所述的步骤4具体包括以下内容:
离线阶段的训练函数可定义为:
fx(γn)=<wx,ψx(γn)>+bx,wx∈rn,bx∈r(3)
其中,wx是权重向量;ψx()是将输入的低维数数据映射到高维特征空间的非线性映射函数,ψx:rn→h;<,>是内积运算;bx是偏置常量。
根据svr相关知识,将(3)式的系数求解问题转化为如下优化问题:
其中,wx是权重向量;bx是偏置常量;c是惩罚系数;ε是训练结果和实际坐标之间的偏差;c是惩罚系数;ξi和
(4)式的优化问题又进一步转化为求解带有hessian矩阵的二次拉格朗日最大值的问题,其解为:
其中,n是离线训练数据的个数;αx和αx*是拉格朗日乘子向量;γn和γj分别为位置pn和pj接收到的rssi测量值;ψx()是将输入的低维数数据映射到高维特征空间的非线性映射函数,ψx:rn→h;<,>是内积运算;bx*是最佳阈值;
(5)式中的内积运算是h空间中的内积运算,计算起来相当繁琐,而核函数的引入则巧妙地避开了这一点。核函数定义式为:
k(γn,γj)=<ψx(γn),ψx(γj)>(6)
其中,γn和γj分别为位置pn和pj接收到的rssi测量值;ψx()是将输入的低维数数据映射到高维特征空间的非线性映射函数,ψx:rn→h;<,>是内积运算;
因此,x坐标的拟合函数最终转化为:
其中,n是离线训练数据的个数;αx和αx*是拉格朗日乘子向量;γn和γj分别为位置pn和pj接收到的rssi测量值;k(,)是核函数;bx*是最佳阈值;
同理,y坐标的拟合函数最终可转化为:
其中,n是离线训练数据的个数;αy和αy*是拉格朗日乘子向量;γn和γj分别为位置pn和pj接收到的rssi测量值;k(,)是核函数;by*是最佳阈值。
有益效果:
1.本发明将机器学习算法和核函数相结合,提出基于机器学习的混合核函数室内定位算法,与传统室内定位算法:bp神经网络算法、k近邻算法、线性核函数算法、多项式核函数算法和高斯核函数算法相比,定位精度更高。
2.本发明采用基于遍历的v折交叉验证方法能够训练得出混合核函数的最佳权重系数,算法简单易行,可靠性高。
附图说明
图1是本发明的详细流程图;
图2是参数优化的交叉验证流程图;
图3是六种训练数据集下的定位误差的cdf;
图4是六种算法下的定位误差的cdf;
图5是四种算法下的rmse对比;
图6是六种算法在六种训练数据集下的离线训练时间对比;
图7是六种算法的在线运行时间对比。
具体实施方式
下面结合附图,对本发明做进一步详细的描述。
如图1、2所示,本发明提供了一种基于机器学习的混合核函数室内定位方法,包括如下步骤:
步骤1.利用参考节点的位置坐标(x,y)和接收到的信号强度rssi建立指纹地图库,并作为训练数据集。
步骤2.利用加权求和的方法构造混合核函数。
步骤3.利用机器学习算法中的支持向量回归算法和v折交叉验证方法训练得出混合核函数的最佳权重系数和最佳核参数。
步骤4.在权重系数和核参数最佳的前提下,对训练数据集进行离线训练学习,从而分别得出x坐标和y坐标的拟合函数。
步骤5.利用得到的拟合函数,对目标接收到的rssi值进行在线学习,从而得出目标的位置坐标。
发明详述:
1、算法描述
ⅰ.利用参考节点的位置坐标(x,y)和接收到的信号强度rssi建立指纹地图库,并作为训练数据集。具体步骤包括如下内容:
已知n个参考节点,位置坐标为(xi,yi),i∈(1,2,…,n),一个目标节点,其位置坐标设为(x,y)。在离线阶段,目标分别移动到n个参考节点的位置pn=(xn′,yn′),n∈(1,2,…,n),并收集每个位置接收到的rssi值,形成指纹数据库。令位置pn接收到的rssi测量值为γn=(r1,n,r2,n,…rn,n)t,其中ri,n代表从第i个参考节点接收到的rssi值。因此,x坐标的训练集写成:(γn,xn′),n∈(1,2,…,n),同理,y坐标的训练集写成:(γn,yn′),n∈(1,2,…,n)。
ⅱ.利用加权求和的方法构造混合核函数。具体步骤包括如下内容:
核函数分为局部核函数和全局核函数两类。局部核函数只对样本距离相当的小领域内的样本产生影响,插值能力较强,即比较善于提取样本的局部性质。高斯核函数是一个典型的局部核函数。全局核函数则是对样本距离较大的领域内的样本有影响,其插值能力较弱,不善提取样本的局部性质。多项式核函数是典型的全局核函数。
两种核函数通过线性加权构成一种全新的核函数,从而兼顾二者的优势。这种新的核函数定义为混合核函数km:
km=wkg+(1-w)kl(1)
其中,kg为全局核函数,kl为局部核函数,w为全局核函数在整个核函数中所占的比例,w越大,全局核函数在混合核函数中起的作用越大,反之,越小。
ⅲ.利用机器学习算法中的支持向量回归算法和v折交叉验证方法训练得出混合核函数的最佳权重系数和最佳核参数。具体步骤包括如下内容:
参数优化的交叉验证流程图如图2所示。
首先,选用高斯核函数和多项式核函数来构造混合核函数,权重系数范围为wl<w<wh,搜索步长为δw=(wh-wl)/n(n为预先设定的常数),因此,交叉验证的权重系数可转化为:
wi=wl+iδw(1≤i≤n)(2)
当wi取某定值时,优化过程如下:
(1)将训练集随机分成v份,v≥2。
(2)设第1份为验证集,其余(v-1)份为训练集,用混合核函数训练定义的训练集可得x坐标的拟合函数。再利用验证集可计算得出估计性能的均方误差(mse)。重复v次可得平均均方误差及最小均方误差对应的核参数。
(3)将步骤(1)和步骤(2)重复n次可得出所有权重系数对应的平均均方误差和核参数,最小平均均方误差对应的权重系数即为最佳权重系数,此时最小均方误差对应的核参数即为最佳核参数。
ⅳ.在权重系数和核参数最佳的前提下,对训练数据集进行离线训练学习,从而分别得出x坐标和y坐标的拟合函数。具体步骤包括如下内容:
离线阶段的训练函数可定义为:
fx(γn)=<wx,ψx(γn)>+bx,wx∈rn,bx∈r(3)
其中,wx是权重向量;ψx()是将输入的低维数数据映射到高维特征空间的非线性映射函数,ψx:rn→h;<,>是内积运算;bx是偏置常量。
根据svr相关知识,将(3)式的系数求解问题转化为如下优化问题:
其中,wx是权重向量;bx是偏置常量;c是惩罚系数;ε是训练结果和实际坐标之间的偏差;c是惩罚系数;ξi和
(4)式的优化问题又进一步转化为求解带有hessian矩阵的二次拉格朗日最大值的问题,其解为:
其中,n是离线训练数据的个数;αx和αx*是拉格朗日乘子向量;γn和γj分别为位置pn和pj接收到的rssi测量值;ψx()是将输入的低维数数据映射到高维特征空间的非线性映射函数,ψx:rn→h;<,>是内积运算;bx*是最佳阈值。
(5)式中的内积运算是h空间中的内积运算,计算起来相当繁琐,而核函数的引入则巧妙地避开了这一点。核函数定义式为:
k(γn,γj)=<ψx(γn),ψx(γj)>(6)
其中,γn和γj分别为位置pn和pj接收到的rssi测量值;ψx()是将输入的低维数数据映射到高维特征空间的非线性映射函数,ψx:rn→h;<,>是内积运算。
因此,x坐标的拟合函数最终转化为:
其中,n是离线训练数据的个数;αx和αx*是拉格朗日乘子向量;γn和γj分别为位置pn和pj接收到的rssi测量值;k(,)是核函数;bx*是最佳阈值。
同理,y坐标的拟合函数最终可转化为:
其中,n是离线训练数据的个数;αy和αy*是拉格朗日乘子向量;γn和γj分别为位置pn和pj接收到的rssi测量值;k(,)是核函数;by*是最佳阈值。
ⅴ.利用得到的拟合函数,对目标接收到的rssi值进行在线学习,从而得出目标的位置坐标。
2、仿真结果说明
实验所用机器人平台基于光探测测距,可同时定位和绘图。利用该平台完成指纹数据库的采集。
指纹数据库建立完成后,利用libsvm对训练数据进行离线学习,并对待定位目标进行在线预测。交叉验证测试的参数设定为:v=5,wl=0,wh=1,δw=0.01。并将该算法的定位性能和计算复杂度与bp神经网络算法、k近邻算法、线性核函数算法、多项式核函数算法、高斯核函数算法进行比较。
实验结果如图3、图4、图5、图6、图7所示。
图3是训练数据集大小分别为319、605、837、1078、1311、1550时的定位误差的cdf。由图可知,在其他条件相同的情况下,训练数据集越大,定位误差越小。
图4是bp神经网络算法、k近邻算法、线性核函数算法、多项式核函数算法、高斯核函数算法和本发明算法的定位误差的cdf。由图可知,在其他条件相同的情况下,bp神经网络算法和高斯核函数算法定位误差较大,其余四种定位误差较小。在四种定位误差较小的算法中,本发明算法的定位误差最小。
图5是k近邻算法、线性核函数算法、多项式核函数算法和本发明算法的rmse对比。由图可知,随着训练数据集的增大,各算法的rmse均在减小,而当训练数据集大小大于605时本发明算法的rmse在四种算法中始终保持最小。
图6是bp神经网络算法、k近邻算法、线性核函数算法、多项式核函数算法、高斯核函数算法和本发明算法在六种训练数据集下的离线训练时间对比。随着训练数据集的增大,各算法的离线训练时间均有所增加。众所周知,离线阶段训练出的拟合函数越好,在线阶段的定位精度就越高,而要训练出较好的拟合函数,势必要耗费较长的离线时间,因此,当训练数据集大小相同时,本发明的离线训练时间较长,但离线训练是离线阶段的工作,不会影响在线定位的时间。
图7是bp神经网络算法、k近邻算法、线性核函数算法、多项式核函数算法、高斯核函数算法和本发明算法在在线阶段的运行时间对比。由图可知,k近邻算法的在线运行时间相对较长,其余五种算法的在线运行时间相差无几,且都较短,包括本发明算法。