论文-Geography-Aware Sequential Location Recommendation

题目

《Geography-Aware Sequential Location Recommendation》

简介

这是一篇KDD2020的序列推荐的论文《Geography-Aware Sequential Location Recommendation》。序列位置推荐在移动预测、路径规划和基于位置的广告等应用中起着重要的作用,本文提出了一种基于自注意网络(GeoSAN)的地理感知顺序推荐算法。该算法提出了一种新的基于重要性抽样的损失函数优化方法,通过强调信息负样本的使用来解决稀疏性问题;同时,为了更好地利用地理信息,GeoSAN使用基于自注意力机制的地理编码器表示每个GPS点的分层网格。此外,本文还提出了地理感知负样本采样器,以提高负样本的信息量。本文用三个真实的数据集对所提出的算法进行了评估,结果表明GeoSAN比最先进的序列定位推荐算法的性能提高了34.9%。实验结果进一步验证了新的损失函数、地理编码器和地理感知负采样器的有效性

why

在这些现有方法中,有两个重要的问题仍然没有很好的解决

首先,地理信息仍然没有得到有效利用。GPS位置对于描述位置之间的物理邻近性很重要,个人移动历史通常表现出空间聚类现象。因此,对GPS位置进行编码是必不可少的

其次,这些方法可能会受到稀疏性问题的影响。因为用户通常很少访问不同的位置,但是在个别未访问的位置,负面偏好的位置与潜在的正面位置混合在一起。之前的方法通过使用BPR损失或二元交叉熵损失,对比访问位置和未访问位置的随机样本。然而,样本之间的信息量是不同的,在损失函数中统一对待它们并不是最佳方案

what

在GeoSAN中,除了嵌入用户、位置和时间之外,本文还通过一个新的地理编码器去嵌入位置的GPS信息来解决第一个问题

为了解决稀疏性挑战,提出了基于重要性抽样的加权二元交叉熵损失,以使信息量较大的负样本具有更大的加权

how

在这里插入图片描述
定义用户的行为序列:
在这里插入图片描述
用户u在时间t去了位置L,具体位置p其中:
在这里插入图片描述

  • Geography-aware Self-Attention Network
    • embedding
      先将输入序列处理为定长序列,如果超长,则分为很多个子序列;如果长度不够,则进行padding。对user,小时,行为位置都进行embedding,padding是0,为了让self-attention捕捉位置信息,加入了位置编码:
      在这里插入图片描述
    • Self-Attention Encoder
      编码结构,就是transformer的解码器,输入为E:
      在这里插入图片描述
      在这里插入图片描述
      为什么是解码器呢,因为预测第n+1个行为并不是依赖n+1的特征(不是依靠未来),而是依赖前n个序列,因此这里用解码器,对其用一个正方形的上三角进行mask。然后就是FFN:
      在这里插入图片描述
      叠加多个self-attention模块,并且用残差和layernorm,和transformer一样
    • Target-aware Attention Decoder
      现有的大多数基于self-attention推荐器都将这些输出直接输入到匹配模块中,最新研究表名这些输出可能不是最佳的。因此提出一个解码器,处理self-attention的输出:
      在这里插入图片描述
    • matching
      获得了第i步的输出表示Ai,对候选集中的每个位置计算打分,计算內积
  • Geography Encoder
    用纬度和经度来描述每个位置的确切位置。 尽管它们是连续的,但可能不适合将它们直接输入到学习系统中。 原因有两个。 首先,经度和纬度可以描述整个地球的表面,但是人类可以访问的位置通常位于地球表面的很小区域。 换句话说,以人类移动性训练的学习系统遭受了稀疏性的困扰。 其次,纬度和经度相互之间有很强的相互作用,因为只有通过联合使用才能确定位置。 学习系统可能很难学习它们之间的强大交互作用。因此,提出新的方法将其编码到一个id(quadkey)
    • Map Gridding and GPS Mapping
      将地图绘制成网格,这些网格级别每增加就变成由四个网格组成的新网格

      假定位于WGS(世界大地测量系统)84基准上,则在给定指定水平l的情况下,在球形投影平面中转换为笛卡尔坐标,其计算如下:
      在这里插入图片描述
      只需将笛卡尔坐标(x,y)除以256,即可实现从笛卡尔坐标(x,y)到栅格的映射。由于像四叉树这样的栅格划分,每个栅格都可以用四叉树键(简称四叉键quadkey)来标识,该键可以解释为 以4为底的数字,其长度等于详细程度。 如图2所示,在第17层详细信息中,埃菲尔铁塔被映射为具有四键“ 12022001101200033”的网格。 这样,通过共同使用纬度和经度来解决GPS映射问题,解决了两者之间的强相互作用的问题。 网格中的不同位置与网格共享相同的四键,并且在embedding时会直接忽略没有位置的网格,因此在某种程度上可以解决稀疏性问题。

      接下来,可以直接将四键的值直接embedding,但是这样会出现两个问题,一个是地图划分比较细的时候,容易出现稀疏性,另外一个问题是无法很好表征相邻网格之间的相似性。因此使用n-gram。举个例子,对于“12022001”使用trigrams之后得到:120 → 202 → 022 → 220 → 200 → 001。这样词汇量会扩大n倍,相当于embedding被细分了,也可以更好表征相似度

  • 损失函数
    因为负样本是从未交互过的位置中随机采样的,这样经过多轮训练,正样本很容易就区分出来了。并且交叉熵损失很难充分利用大量的负样本。并且可以发现打分比较高的负样本贡献了较大的梯度,但是由于效率问题,根据偏好打分采样负样本也是不行的。因此以负概率的形式对负样本进行加权
    在这里插入图片描述
    概率P是根据特地定轨迹采样出的负样本是k的概率
    在这里插入图片描述
    其中T是临时参数,控制概率分布与均匀分布的差异

该损失函数在计算梯度的时候是十分低效的。因此考虑P的计算期望:
在这里插入图片描述
建议将分布近似为Q(k | i),可以很容易地对其进行采样。损失为:
在这里插入图片描述
在这里插入图片描述

Conclusion

本文提出了一种地理感知的自关注顺序的位置推荐器。在该模型中,本文提出了一种新的基于重要性采样的损失函数,使得信息负样本得到更好的利用,并设计了一种新的地理编码器来融合地理信息,使得空间聚类现象和距离感知的位置转移能够被隐式捕获。本文还设计了地理感知负采样器,以提高负采样位置的信息量。通过消融研究和敏感性分析,本文还显示了 loss, geography encoder, geography-aware negative samplers在提高推荐性能方面的显著效果。未来的工作可以包括地理编码器的预处理和负采样器的设计

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值