一种基于推荐算法的wifi序列辅助GPS的室内定位方法与流程

文档序号:16405470发布日期:2018-12-25 20:23阅读:403来源:国知局
一种基于推荐算法的wifi序列辅助GPS的室内定位方法与流程

本发明涉及室内定位方法,尤其涉及一种基于推荐算法的wifi序列辅助gps的室内定位方法。

背景技术

随着wifi的普及,目前大部分的室内环境都存在着丰富的wifi环境,这些wifi环境包括wifi的bssid,强度,是否连接等信息。大部分的智能设备都嵌入了wifi模块,比如智能手机,笔记本电脑,平板电脑,智能手表,机器人等等。而通过其他无线信号比如蓝牙,基站信号,射频码,但是这种无线信号的信息量远不及wifi,并且获取难度也远大于wifi序列。

随着大数据的发展,机器学习这种通过数据驱动的方法,非常充分的利用了数据,比传统的仅仅是通过数据匹配的方法,极大的提高了准确率。

基于无线信号的室内定位的方法,例如:

1)wifi位置指纹定位法:

位置指纹实际上就是一个位置对应一个独特的指纹,指纹可以是单维度,可以是多维度的,定位设备通过接受到传感器返回的指纹序列,然后在指纹库里面去映射。而wifi指纹定位,实际上就是通过在移动设备中检测到的指纹序列,去指纹库中寻找对应位置。通常通过一个knn算法去降低提高搜索的精度。

2)wifi序列特征多分类

这种方法是运用机器学习的模式分类的方法,直接对候选目标进行一个多分类,例如对于一个商场建模,分类目标是商场里的所有店铺,进行softmax多分类后,取预测概率最高的商铺作为最后的分类答案。

现有的无线信号室内定位存在以下缺点:

(1)成本高,需要在室内提前布局好很多联合传感器,通常在室内定位不需要精度上的要求,在大部分商用需求或者公益需求仅仅需要知道用户所在某个具体商铺或者房间,布局大规模的室内传感器提高了门槛。

(2)准确率低,只使用gps信息进行匹配地位的定位准确率只有65%,而利用wifi指纹定位法的精确度也只有74%。无法满足室内定位的最基本的需要。



技术实现要素:

为了解决现有技术中的问题,本发明提供了一种基于推荐算法的wifi序列辅助gps的室内定位方法。

本发明提供了一种基于推荐算法的wifi序列辅助gps的室内定位方法,包括以下步骤:

s1、构建wifi定位用户所在商铺的数据集,通过采集用户的移动设备得到的wifi序列、gps信息构建数据集;

s2、商铺推荐算法,针对用户当前的gps信息、wifi序列,推荐候选店铺,再通过离线预训练好的模型,将提取好的特征通过一张hbase表存储在云端,对云端上收集到的wifi序列、用户id、gps信息通过查询到映射后的特征,通过一个梯度提升树模型去预测候选店铺是否为真实店铺的概率,然后取一个预测概率最高的值作为目标店铺;

步骤s2包括以下子步骤:

s21、多分类模型设计;

s22、二分类模型设计;

步骤s22包括以下子步骤:

s221、过滤异常wi-fi;

s222、划分训练集和预测集;

s223、特征工程;

s224、训练;

s225、预测,在给候选的得分排序,选出概率最高的答案即为用户所在店铺。

作为本发明的进一步改进,在步骤s1中,wi-fi定位用户所在商铺的数据集构建来自于用户在商场的店铺中发生购买记录时的消费记录,每条数据格式包括店铺信息和商场信息,店铺信息包括店铺id、店铺类型、店铺位置经纬度、人均消费指数、店铺所在商城,用户在店铺内发生交易的信息包括用户id、用户所在店铺id、行为时间戳、行为发生时的经纬度、行为发生时的wi-fi环境,wi-fi环境主要包括wifi唯一识别码、wi-fi强度、是否连接。

作为本发明的进一步改进,在步骤s21中,训练的标签就是每个商场的独热码编码,采用提升决策树模型进行训练。

作为本发明的进一步改进,步骤s221包括以下子步骤:

s2211、直接通过规则正则过滤;

s2212、通过统计占比进行过滤。

作为本发明的进一步改进,在步骤s2212中,统计wi-fi出现的频次k1和wi-fi在店铺a中出现的频次k2,则k2/k1的结果小于阈值的wifi唯一识别码归为移动wi-fi,统计店铺a出现的次数为k3,把k1/k3小于阈值的wifi唯一识别码归为公共wi-fi。

作为本发明的进一步改进,在步骤s222中,将训练数据集按时间窗口划分,区分提取特征的区间与训练数据的区间,在训练数据区间提取label,在提取特征区间构建候选集合,在给每一条训练集唯一的标示id,提供若干个候选,在训练集建模的时候把与正确答案相同的标记为1,作为正样本,反之标记为0,作为负样本。

作为本发明的进一步改进,在步骤s222中,2使用wifi序列环境去做推荐主要是在提取特征的区间做wifi环境统计,在提取特征的区间对每个wifi构建一个字典序列,这个字典序列包括一个kw键值对,键是商铺的id,值是出现的次数,将次数从大到小排序,推荐的时候,先将当前wifi环境中的wifi根据能量大小排序,将能量大的wifi查表获得该wifi在历史上对应的商铺。

作为本发明的进一步改进,步骤s223包括以下几类:

第一类是用户粒度特征,用户粒度特征指的是用户对候选店铺的依赖程度,用户对商铺的历史访问统计,在不同时间段用户对商铺的访问统计,用户平均的消费能力减去此条记录的消费,用户去此商店占用户活动的占比,这些用户粒度的统计表征了用户的行为粒度;

第二类特征是商店特征,指的是商店交易次数,商店交易次数/商场次数,分小时,商店在记录所在小时段的交易量,占比;分周末,商店在周末和非周末的交易量特征;

第三类特征是距离特征,主要是样本所在的经纬度与店铺交易平均交易经纬度的距离,样本所在经纬度在统计上截断的统计均值方差,样本所在经纬度与店铺交易经纬度的角度;

第四类特征是wifi维度的特征,wifi特征包括连接wifi与此店铺交易时连接wifi的次数,当前样本能量最强的信号作为所推荐店铺历史上最强信号的次数,当前样本的wifi序列与所推荐店铺历史wifi序列强度比较,该比较包括了两序列的余弦相似度、相同wifi的方差、最小公共子序列,将当前样本的wifi信号强度排名和所推荐店铺wifi信号强度排名,作为两个向量,计算曼哈顿距离和欧式距离,当前样本的wifi序列与所推荐的店铺历史存在的wifi序列中有相同wifi唯一识别码的个数。

本发明的有益效果是:通过上述方案,实现了室内定位,不需要额外布置传感器,降低了成本;提高了预测的准确率。

附图说明

图1是本发明一种基于推荐算法的wifi序列辅助gps的室内定位方法的流程图。

图2是本发明一种基于推荐算法的wifi序列辅助gps的室内定位方法的wi-fi序列数量对结果的影响示意图。

具体实施方式

下面结合附图说明及具体实施方式对本发明作进一步说明。

本发明提供的一种基于推荐算法的wifi序列辅助gps的室内定位方法,将多分类转换成二分类的思路,通过用户历史到达记录(可选),和gps的信息进行候选商铺推荐,然后在每条数据中对于候选通过提升树模型做一个二分类,在给候选的得分排序,选出概率最高的答案即为用户所在店铺。

本发明提供的一种基于推荐算法的wifi序列辅助gps的室内定位方法,通过采集用户的移动设备,例如智能手机,电脑等等。通过采集到的wifi环境序列,gps信息,通过构建用户历史,通过挖掘gps信息,针对当前的gps信息,wifi序列信息,通过制定规则和一些算法推荐候选店铺,再通过离线预训练好的模型。将提取好的特征通过一张hbase表存储在云端。对线上收集到的wi-fi序列,用户id,gps信息通过查询到映射后的特征,通过一个梯度提升树模型去预测候选是否为真实店铺的概率,然后取一个预测概率最高的值作为目标店铺。

如图1所示,本发明提供的一种基于推荐算法的wifi序列辅助gps的室内定位方法,具体包括以下内容:

(一)wi-fi定位用户所在商铺的建模

wi-fi定位用户所在商铺的数据集构建来自于用户在商场的店铺中发生购买记录时的消费记录。每条数据格式包扩店铺和商场信息,如店铺id,店铺类型,店铺位置经纬度,人均消费指数,店铺所在商城等信息。

用户在店铺内发生交易的信息,包括用户id,用户所在店铺id,行为时间戳,行为发生时的经纬度,行为发生时的wi-fi环境。wi-fi环境主要指的就是bssid(wifi唯一识别码),wi-fi强度,是否连接。

下面对数据集的字段进行说明,wi-fi定位用户所在商铺的建模主要的信息来自店铺所在经纬度,由于店铺位置经纬度是分布在商场中,商城中采集的室内gps定位信息,由于室内gps定位信息存在严重的漂移,因此本建模的主要信息来源来自wi-fi序列。wi-fi序列中如打开手机终端的wi-fi环境列表,其中bssid和wi-fi强度(单位可以用db衡量)是信息的主要来源。wi-fi是否连接这个字段可选。

上文中提到的用户消费信息由于数据来源获得困难的问题,可选。在后面的评测中加入这部分信息之后的预测结果进行评估。

二):商铺推荐系统算法原理及设计方案

1、多分类模型设计

在构建训练模型的时候,本发明们主要有两个思路。

第一个方案是一种多分类方案。由于本方法针对的是一个多商场多店铺的情景,在训练集中统计商场的数量在452个,每个商场拥有几百个店铺。因此这可以看成是一个多分类问题。但是由于多分类数量太多,会严重影响模型预测效果。因此在直接softmax这种建模下,本发明们对每个商场建模,训练的特征如上文所述特征表如下:

表1特征表

由于是多分类,训练的label就是每个商场的onehot(独热码)编码。

训练的模型采用现有的机器学习模型均可,在这里可以选用拟合能力很强的提升决策树模型,关于提升决策树模型的原理会在下文阐述。

2二分类模型设计

本方法的核心在于二分类模型设计。二分类采用一个推荐模型思路,主要思

想是将预测的结果从预测在具体哪个商铺转换成预测是否在此商铺。这样就将一个预测多分类问题转换成了一个二分类问题。

首先进行一个数据清洗,数据清洗最关键的部门在于过滤一些异常wi-fi,特别是没有区分度的wi-fi。例如公共wi-fi,这包括三大运营商的wi-fi等等,大量的移动wi-fi,本发明们可以认为这些wi-fi在bssid和wi-fi强度上对于最后的模型训练以及预测没有区分度,因为这些wi-fi信息不会因为绝对空间的变化而发生变化。

2.1

清洗这些wi-fi的方法主要有:

1.直接通过规则正则过滤,这种方法针对没有进行数据脱敏的wi-fi,但是

由于数据量很大,很多公共wi-fi的bssid不是很容易识别,因此这种方法只能作为第一层简单规则过滤。

2.通过统计占比进行过滤,统计wi-fi出现的频次k1和wi-fi在这个店铺中出现的频次k2,本发明们可以认为k2/k1的结果小于某个阈值的bssid归为移动wi-fi。统计这个商铺出现的次数为k3,本发明们可以把k1/k3小于某个阈值归为公共wi-fi。通过这种噪声信息的有方向有逻辑的过滤,可以给预测结果带来一个很大的提升,在最终的模型效果上准确率提升在3%左右。

2.2

二分类的推荐关键在于推荐候选商铺的覆盖率和正负样本比。

将训练数据集按时间窗口划分如下表所示:

表2特征提取和训练区间时间窗口划分

提取特征的区间应与训练数据的区间严格区分,不然会引起严重的数据集穿越。也就是说在训练的时候提前获取了未来的信息,然后在真实的预测场景中,本发明们是无法获得这些信息的。这样训练出来的模型是无效的。

按照上述的数据集划分,在训练数据区间提取label,在提取特征区间构建候选集合。在给每一条训练集唯一的标示id(row_id)提供若干个候选,在训练集建模的时候把与正确答案相同的标记为1,作为正样本,反之标记为0,作为负样本。在提取特征的区间提取完下文所述的特征之后并进来,通过训练集中的标签b构建推荐店铺的方法的策略如下:

1.相同用户在此商场上历史记录中去过的店铺,由于这部分信息可能无法获取,因次这样是一个可选项。

2.使用wi-fi序列环境去做推荐主要是在提取特征的区间做wi-fi环境进行统计,在特征提取区间对每个wi-fi构建一个字典,这个字典序列包括是一个kw键值对,键是商铺的id,值是出现的次数,将次数从大到小排序之后取top10,推荐的时候,先将当前wi-fi环境中的wi-fi根据能量大小排序,将能量大的wi-fi查表获得改wi-fi在历史上对应的商铺。

3.gps在室内定位中虽然漂移严重,但是在这个定位中也是有融合了很多其他信息的算法,因此gps是有信息存在的,因此对gps去做一个knn,k最近邻算法,会极大的提高候选的覆盖率,推荐候选的覆盖率直接决定了整个预测模型的上限。

下表将是本发明使用不同构建候选店铺之后的正样本覆盖率以及正负样本比:

表3候选策略覆盖率和正负样本比

在此介绍一中暴力的策略就是保留全量正样本,负样本采样,这种策略的优点在于正样本全覆盖,但是训练集的正负样本分布和测试集的正负样本由于是随机采样的结果,样本分布是不同的,这会影响测试集的测试效果。

这种利用规则和knn提供候选的方法,可以认为在结果中融化了规则和knn模型,因此结果的准确率提升很大。

2.3特征工程

上述推荐候选的构建决定了模型的上限,而模型的拟合能力取决于特征工程做的好坏。

特征工程分类如下:

第一类是用户粒度特征,用户粒度特征指的是用户对候选店铺的依赖程度,比如用户对商铺的历史访问统计,在不同时间段用户对商铺的访问统计,用户平均的消费能力减去此条记录的消费,用户去此商店占用户活动的占比,这些用户粒度的统计表征了用户的行为粒度。

第二类特征是商店特征,指的是商店交易次数,商店交易次数/商场次数,分小时,商店在记录所在小时段的交易量(均值最大最小),占比。分周末,商店在周末和非周末的交易量特征,这些特征从商铺的角度提高了模型的能力。

第三类特征是距离特征,主要是样本所在的经纬度与店铺交易平均交易经纬度的距离,样本所在经纬度在统计上截断的统计均值方差等,样本所在经纬度与店铺交易经纬度的角度等。由于距离在knn模型进行推荐的时候已经引入了gps信息,因此这部分特征效果一般。

第四类特征是wi-fi维度的特征,这是表现最好的特征,wi-fi特征包括连接wi-fi与此店铺交易时连接wi-fi的次数,当前样本能量最强的信号作为所推荐店铺历史上最强信号的次数,当前样本的wi-fi序列与所推荐店铺历史wi-fi序列强度比较,这个比较包括了两序列(前样本的wi-fi序列与所推荐店铺历史wi-fi序列)的余弦相似度,相同wifi的方差,最小公共子序列,将当前样本的wi-fi信号强度排名和所推荐店铺wi-fi信号强度排名,作为两个向量,计算l1(曼哈顿距离),l2(欧式距离)距离。当前样本的wi-fi序列与所推荐的店铺历史存在的wi-fi序列中有相同bssid(wifi唯一识别码)的个数。

上述特征是整个特征工程中的核心部分,具体特征工程可以参考附录代码。

特征工程中对整个模型的影响非常大,特别要注意的是在做特征工程的时候要注意严格防止特征穿越,要严格按照时间窗口提取特征。

2.4机器学习模型推导

本发明主要用到了几个有监督的机器学习模型。

第一个模型是用在推荐构建候选时的knn,整个算法的伪代码流程为:

对未知类型的数据集中的点执行下列操作:

1、分别计算目标点与已知类型数据集中的每个点之间的距离;

2、按距离选择递增排序;

3、选取距离最小的前k个点;

4、统计这k个点,对应类别,每个类别出现的概率;

5、这k个点,对应类别,出现频率最高的作为当前点的预测分类。调用knn算法时,其中nda_neighbors(knn的k值)即选取最近k个点,k的取值应该尽量大一些,这样可以降低算法开销。

在选择快速k近邻搜索算法时,可以选择ball_tree,kd_tree,brute,构造kd树存储数据以便对其进行快速检索的树形数据结构,kd树也就是数据结构中的二叉树。以中指切分构造的树,每个节点是一个超矩形,在维数小于20的时候效率最高。

knn的距离函数选择minkowski,也就是p=2的欧式距离(欧几里得距离)。

第二个模型是训练预测模型,也是用到的最重要的机器学习模型

obj(θ)=l(θ)+ω(θ)

其中,l(θ)为损失函数,常见的损失函数可以是平方损失函数和logistic损失函数。

另一项为正则项,引入正则项的目的是要控制提升树的规模,防止提升树在训练的时候过度拟合,但是对于新数据欠拟合。常见的正则有l1正则和l2正则。

这里省略单个回归树的原理,提升树一种迭代树模型,某一次迭代后的结果表示为:

提升树的核心思想就是在每轮加入新的f(xi),

如何在每轮加入新的决策树,使得本发明们的目标函数尽量最大地降低,去关注以前所有学习器犯下错误的样本来达到提升,可以表示成如下:

对于这个函数本发明们可以一般的进行泰勒级数展开,泰勒级数展开公式:

其中,

通过一些数学变化求上述目标函数的最小值,然后去获得每颗树的结构,最后可以得到最小的目标函数。

最后的评测指标是准确率,即acc。给每一个推荐的候选店铺打完分之后,选取预测概率最高的答案作为答案。

模型融合,上述模型融合的方案采用高效的加权融合策略,由于数据量比较大,二分类和多分类的预测结果的方差在84%左右,因此采用简单的加权融合即可取得较明显的提升,最后的融合结果是07*二分类lightgbm+0.3*多分类lightgbm的得分。从模型结果表中可以看出本方案的提升相对于gps-knn这种方法有显著的提升。

模型预测结果

表4模型与和训练预测效果

2.5wi-fi序列个数对结果的影响和改进

由于上述建模中,wi-fi环境含有充分的wi-fi序列信息,但是在更真实的场景中,无法获得如此丰富的wi-fi序列,特别是对ios用户来说,本发明们通常只能获得单个或者少量几个的wi-fi序列信息。

这种场景下由于wi-fi环境的缺失,信息的缺失对于模型的影响是不可避免的。从图2可以看出wi-fi序列数量对结果的影响。可以看出当wi-fi数量只有单个的时候本发明们发现,模型的准确率退化到了与gps-knn相近的水平,因此wi-fi数量对模型的准确率影响不大。

为了减小不同wi-fi序列数量对模型数据不平衡造成的影响,可以将模型分开训练,把wi-fi序列环境中小于wi-fi数量小于3的数据单独训练一个模型,其他数据训练一个模型,通过这种方法再对特征工程进行一定调整。

对于wi-fi环境较少的数据中,充分选择一些gps信息,用户历史信息,商铺信息,筛选一些使用wi-fi环境信息。分开来建模训练之后结果有1.4%的提升。

(三):wi-fi序列辅助gps定位系统实现的应用及其原理

通过在上述理论的基础上,本发明们可以更进一步地实现内容丰富、形式多样化的功能应用。

室内场所定位

由于wi-fi环境在存在大量的商场,酒店,图书馆等公共场所环境。这种利用wi-fi进行室内定位的方法应用广泛,比如在机场,商场寻找丢失人,定位用户所在位置会给用户带来很多生活的便利,这种lbs服务可以让用户在走入商场的某家餐厅时,手机就会自动弹出该餐厅的菜单,在进入商场的店铺前获得店铺商品的展示和价格,在你路过手机店的时候,可以得到你心仪款式手机的推送。

这种lbs相关位置服务在很大程度上给广告主带来了利益,同时也给用户带来了便利,让生活充满惊喜。

本发明提供的一种基于推荐算法的wifi序列辅助gps的室内定位方法,特点如下:

1、本方案将wi-fi序列作为室内定位的方法非常好的补充了室内gps信息不准确的缺点,本方案将用户行为习惯,商铺固有属性,wi-fi序列信息,gps信息都通过特征工程全部融合在一起,对预测结果的提升很大。

2、本方案将原本的一个多分类问题转换成一个二分类问题,解决了对每一个商场建模,导致要训练很堵模型的缺点,提高训练速度,并且这种推荐的方法,通过控制候选样本的正样本覆盖率和正负样本比,可以将正负样本比控制在一定条件下提高候选覆盖率。这对于结果一个很大的提升。

本发明提供的一种基于推荐算法的wifi序列辅助gps的室内定位方法,其优点如下:

a)提高了预测的精确程度,传统的wi-fi指纹定位方法的准确率很低,

大概在70%-80%左右,本方法将精确度提升到94%,lbs服务这种场景对于用户来说需要很高的准确率才能提高用户体验。因此本方法可以直接在应用于现有的室内位置服务中。

b)本方法提高了模型的泛化能力,不用对每个商场或者室内集合进行单独建模,当本发明们的数据只有wi-fi序列环境,没有其他用户商铺信息的时候,在大规模的数据的驱动下,也能取得一个很好的模型效果。

c)将wi-fi序列信息充分的数据与wi-fi序列信息不充分的数据单独分开来训练模型,选取不同的特征,可以增加模型的拟合能力和鲁棒性;

d)与机器学习方案紧密结合,采用特征和数据驱动的方法,该模型有更好的潜力。

本发明提供的一种基于推荐算法的wifi序列辅助gps的室内定位方法,训练预测模型选择上还有一些深度学习方案可以选择,比如deepfm,lstm等模型;在提取特征的角度中,可以采取四边形网格和蜂窝网格这些方法去提取网格特征,网格特征的引入可以提取更高维度的特征;对于wi-fi环境序列,可以对这个序列做一些无监督的embedding,这些无监督embedding应该可以提高模型效果。

本发明提供的一种基于推荐算法的wifi序列辅助gps的室内定位方法,旨在针对室内gps定位漂移严重,无法定位用户在商场等室内环境所处位置的问题,在这个gps定位困难,在室内安装很多定位设备又不现实。本发明希望通过wifi序列和用户历史行为占据主导思想。通过机器学习算法解决传统的wifi指纹匹配方法精确低的问题。提出了一种先通过融合用户历史行为信息。

以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1