标签:
本篇继续讨论对用户移动规律的理解:结合地理建模和矩阵分解来做兴趣点推荐。
位置推荐是一类非常受欢迎的应用。在位置推荐中,我们需要理解用户的潜在兴趣并熟悉用户所处的环境。然后,我们就可以根据用户的兴趣和位置的属性发现用户可能感兴趣的地点。与普通推荐任务相比,地理位置在位置推荐中是改进推荐性能的一个重要因素。
在前面一篇中,我们讨论了如何恢复用户行为数据用于移动规律的理解。我们发现,用户移动行为通常集中在像家庭、工作场所和最喜欢的餐馆这样的重要地点。而且,两个地点之间的距离通常很短。所以,我们想要利用这些信息来做一个更好的位置推荐算法。
为了向用户提供好的位置推荐,我们使用用户的位置记录作为一类隐性的反馈数据。
传统上,在推荐任务中,研究人员总是会使用矩阵分解模型。
我们使用了一个加权矩阵分解的结构,称之为GeoMF:
假设Cu,i表示用户u访问兴趣点i的次数、我们使用一个以Cu,i作为自变量的单调递增函数来计算权重。去的次数越多,则权重就越大。这里,权重越大意味着我们需要对这个位置的值有更精确的近似。从这个函数中,你们可以看到R会被分解成P乘以Q和X乘以Y。我们增加了W,它是权重矩阵。我们还有一些P、Q和X的正则项。在这里,为了简化计算,我们假设Y在优化中是给定的。我们使用二维核密度估计来估算Y,Y是指兴趣点的影响区域。我们假设兴趣点的位置对每个网格的影响服从高斯分布。这意味着距离位置越近的网格就越容易被兴趣点影响。
这里我们使用迭代方法来进行优化:
首先,我们固定X,即用户的活动区域,更新P和Q。这里展示了我们更新P和Q的方法以及这些步骤的时间复杂度。
然后,我固定P和Q,更新X。这张幻灯片说明了我们更新X的方法以及这些步骤的时间复杂度。
这里我们可以看到我们的方法是怎么样区分未被访问的地点的。假设X不变。由于Y是给定的,我们可以估计(R-X*Y)。对于给定用户,(R-X*Y)可以用这个方程来表示。对于一个位置,我们为用户u圈定了一个活动区域。所以,ru,i的值很可能是负的。实际上,这个值取决于用户u到这个区域去的次数。如果用户经常去这个区域,那么这个值很可能是负的。这意味着,这些没有去过的地方在经常去的地方的周围。所以,它们更有可能在优化中是负的。这表明用户对这些地方不感兴趣。但是,对于远离用户去过的区域的没有去过的地方,这个值可能还是0,这意味着我们无法区分用户是不喜欢这个地方,还是因为还不知道这个地方所以没有去过这个地方。
我们有上海、北京、广州、天津和杭州这五个城市的数据。上海有40万用户,北京有16万用户。我们有上海用户的2500万条签到记录。我们把这些数据分成训练集和测试集。约有70%的数据属于训练集,30%的数据属于测试集。在实验中,我们进行了五次独立的测试。使用召回率和准确率作为测量项。我们比较加权矩阵分解和其他五种基准算法。
基准算法包括基于用户的协同过滤(UCF)和贝叶斯矩阵分解(B-NMF)。
我们还比较了加权矩阵分解和规范的奇异值分解以及基于访问频率矩阵的矩阵分解。这两种方法的区别在于在矩阵中是使用访问次数还是0、1值来表示用户访问。我们还比较了加权矩阵分解和有偏的加权矩阵分解。下面是两张分别表示召回率(左)和准确率(右)的图。
这些算法的性能相似,所以我们只能看看表示准确率的这张图。我们可以发现,加权矩阵分解和有偏加权矩阵分解的性能最好,但是它们的性能非常接近。基于访问次数矩阵的矩阵分解性能最差。这意味着访问次数不能直接在矩阵中使用。我们最好使用加权矩阵分解方法,这意味着使用次数作为置信度,但是在矩阵中仍然使用0和1。加权矩阵分解的性能好于UCF和B-NMF。
最终,我们使用加权矩阵分解作为框架。
我们想研究空间聚类现象,文献中已经有很多关于这个现象的研究。
为了研究这些现象,首先忽略用户潜因子和条目潜因子。这意味着要去掉P和Q,而仅保留X和Y,即用户活动区域和地点影响区域。我们比较加权版本和非加权版本。我们分别称加权版本和非加权版本为GeoWLS和GeoLS。我们还比较不同的参数以及二维核密度估计这个基准方法。下面两张图表示召回率和准确率非常相似。从图中可以看到,我们的方法好于二维核密度估计方法。在这里,二维核密度估计方法的性能最差。此外,加权版本的性能好于非加权版本的性能。
最后,我们比较了加权MF、GeoWLS和结合了这两种方法的GeoMF
从图中可以看到,GeoWLS的性能最差。这意味着还需要利用用户潜因子和位置潜因子,也就是P和Q。与WMF相比,考虑了地理约束的GeoMF的性能更好一些。这意味着地理建模能够提高矩阵分解性能,这一点在实验中得到了验证。
标签:
原文地址:http://blog.csdn.net/xiang_freedom/article/details/51283840