当前课程知识点:微软亚洲研究院大数据系列讲座 > 第三讲:社会计算中的大数据研究(谢幸) > 用户移动规律的理解-2(user mobility understanding-2) > 用户移动规律的理解-2(user mobility understanding-2)
下面我想介绍我们在KDD 2014上发表的GeoMF这项工作。
GeoMF结合地理建模和矩阵
分解来做兴趣点推荐。
位置推荐是一类非常受欢迎的应用。
在位置推荐中,我们需要理解
用户的潜在兴趣并熟悉
用户所处的环境。然后,我们就可以
根据用户的兴趣和位置的属性
发现用户可能感兴趣的地点。
与普通推荐任务相比,
地理位置在位置推荐中是改进推荐性能的
一个重要因素。
下面的图展示了用户移动行为的一些属性。
在前面的工作中,我们讨论了如何
恢复用户行为数据用于移动规律的理解。我们发现,
用户移动行为通常集中在
像家庭、工作场所和最喜欢的餐馆这样的重要地点。
而且,两个地点之间的距离通常很短。
所以,我们想要利用这些信息
来做一个更好的位置推荐算法。
为了向用户提供好的位置推荐,
我们使用用户的位置记录
作为一类隐性的反馈数据。
这意味着我们把
用户去过的地方
看成用户对一个特定地点的偏好。而用户去一个地点的次数
则表示偏好的置信度。这意味着如果
你去一些地方的次数更多,那么我们就更加确信你
喜欢这些地方。但是,这并不意味着你喜欢这些地方
胜于其他你去的不是那么多的地方。
对于没有去过的地方,
我们缺乏信息,所以它们可能是正的或者负的。
在这张表中,你们可以看到有很多用户
和位置。在位置表单中,
我们可以计算每个用户在每个地点出现的次数。
你们可以看到这张表或者这个矩阵中的数字。
这里我们使用了另一个关于我们想要识别的未去过的地点的假设。
如果这些地点与用户的活动区域很接近,
那么我们假定它们更可能是负的。
这是因为用户可能非常熟悉那个区域,
却故意不去那些地方。
但是对于远离用户活动区域而且用户没有去过的地方,
我们还不知道用户是不熟悉那个区域
还是故意不去那个地方。所以,
其中混合了正的偏好和负的偏好。
在这项工作中,这是一个非常重要的假设。
实际上,整个工作都是建立在这些重要的假设之上的。
传统上,在推荐任务中,
研究人员总是会使用矩阵分解模型。
我们有一个包含用户和兴趣点
这两个维度的矩阵。矩阵中的值表示
用户是否去过这个地方或者兴趣点。
矩阵中的值可能为0或者1。矩阵可以被分解成两个潜因子。
一个是用户潜因子,另一个是位置潜因子,
两个潜因子都有K这个低维度。
我们说过,我们想要区分
没有去过的地方,即这些
0值。所以,我们在用户潜因子中增加活动区域向量,
在地点潜因子中增加
影响区域向量。
这里的活动区域,这两个向量中
都有表示区域数量的维度L。
活动区域向量是指用户
是否去过这些区域。影响区域向量
是指这个位置或者兴趣点是否在这些区域中有影响力。
所以,我们把
用户潜因子、位置潜因子、
活动区域和影响区域相乘,
最终得到原始的用户兴趣点矩阵。
现在我来介绍这个新的矩阵分解的目标函数,
我们称之为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,
这意味着我们无法区分
用户是不喜欢这个地方,还是因为还不知道这个地方
所以没有去过这个地方。
在试验中,我们使用了中国的位置
签到网站Jiepang的数据集,Jiepang和Foursquare相似。
我们有上海、北京、广州、天津和杭州这五个城市的数据。
其中,上海和北京的用户最多。
上海有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
的性能更好一些。这意味着地理
建模能够提高矩阵分解性能,这一点在实验中得到了验证。
总结一下这个部分,我们提出使用二维
核密度估计来进行地理建模。
我们建议使用加权矩阵分解来
基于位置访问数据做推荐,
在这里将位置访问数据作为一种很好的反馈。
我们提出了GeoMF模型,它结合了地理建模
和矩阵分解,我们还提出了优化GeoMF
的学习算法并分析了其
时间复杂度。实验表明
GeoMF的性能优于其他基准算法。
-什么是大数据(What is big data?)
-为什么大数据是当前热点(Why big data is a nature phenomenon?)
--为什么大数据是当前热点(Why big data is a nature phenomenon?)
-新的计算基础设施和工具(New Infrastructure and tools)
--新的计算基础设施和工具(New Infrastructure and tools)
-课程简介(Course Introduction)
-基础设施,机器学习和可视化(Infrastructure,Machine Learning and Visualization)
--基础设施,机器学习和可视化(Infrastructure,Machine Learning and Visualization)
-大数据与传统商业智能的区别(Big data:different from traditional BI)
--大数据与传统商业智能的区别(Big data:different from traditional BI)
-Quiz
--Quiz--作业
-大规模超文本网络搜索引擎的解析(the anatomy of a large scale hypertextual web search engine)
--大规模超文本网络搜索引擎的解析(the anatomy of a large scale hypertextual web search engine)
-搜索引擎如何实现每秒数千次的查询(How does a web search engine process thousands of queries per second?)
--搜索引擎如何实现每秒数千次的查询(How does a web search engine process thousands of queries per second?)
-探寻搜索的多个维度(finding dimensions for queries)
--探寻搜索的多个维度(finding dimensions for queries)
-Quiz
--Quiz--作业
-背景介绍(background)
-用户移动规律的理解-1(user mobility understanding-1)
--用户移动规律的理解-1(user mobility understanding-1)
-用户移动规律的理解-2(user mobility understanding-2)
--用户移动规律的理解-2(user mobility understanding-2)
-用户画像与个人隐私-1(user profiling and privacy-1)
--用户画像与个人隐私-1(user profiling and privacy-1)
-用户画像与个人隐私-2(user profiling and privacy-2)
--用户画像与个人隐私-2(user profiling and privacy-2)
-Quiz
--Quiz--作业
-城市计算中的大数据研究简介(introduction to urban big data)
--城市计算中的大数据研究简介(introduction to urban big data)
-概念,框架和挑战(concepts,framework and chanlleges)
--概念,框架和挑战(concepts,framework and chanlleges)
-基础技术(fundamental techniques)
--基础技术(fundamental techniques)
-城市规划(urban planning)
-识别特定区域(indentify functional regions)
--识别特定区域(indentify functional regions)
-城市空气质量与大数据研究(urban air quality meets big data)
--城市空气质量与大数据研究(urban air quality meets big data)
-能源交通和环境污染(traffic energy and pollution)
--能源交通和环境污染(traffic energy and pollution)
-大数据在城市噪音处理中的应用(diagnose urban noise with big data)
--大数据在城市噪音处理中的应用(diagnose urban noise with big data)
-Quiz
--Quiz--作业
-软件分析的概念(the concepts of software analytics)
--软件分析的概念(the concepts of software analytics)
-软件分析的实例(examples of software analytics)
--软件分析的实例(examples of software analytics)
-传统的数据可视化(Traditional information visualization)
--传统的数据可视化(traditional information visualization)
-同质数据的可视化分析-1(Visual Analytics of Homogeneous Data-1)
--同质数据的可视化分析-1(Visual Analytics of Homogeneous Data-1)
-同质数据的可视化分析-2(Visual Analytics of Homogeneous Data-2)
--同质数据的可视化分析-2(Visual Analytics of Homogeneous Data-2)
-异质数据的可视化分析(Visual Analytics of Heterogeneous Data)
--异质数据的可视化分析(Visual Analytics of Heterogeneous Data)
-Quiz
--Quiz--作业