推荐系统
文章平均质量分 64
chemical_romance
这个作者很懒,什么都没留下…
展开
-
使用mapreduce并行化基于物品的协同过滤算法
由于item-based CF算法能对新用户进行推荐,并且能对推荐做出合理的解释,因此它在商用中的应用是很普遍的。[35]主要的贡献则是将item-based CF算法使用map-reduce框架并行化。作者指出,在0-1评分下,基于物品的相似度的计算可以写成这个这样子(A是以user为行,item为列的矩阵,S是要计算的物品相似度矩阵): 其中,a_u表示用户u在A中对应的行,也就是u原创 2014-01-14 00:01:19 · 2204 阅读 · 0 评论 -
一个memory-based协同过滤算法的改进(基于隐式评分)
先来看定义。“显示评分”俗称打分,如Netflix中允许用户给每部电影打1-5分,豆瓣电影也允许用户给电影评星级(很差—力荐)。而“隐式评分”是指用户的浏览记录,购买记录等等,用binary数值0表示没有浏览/购买,1表示浏览/购买过;或者是标示次数的信息:浏览/购买过几次。可以看到,隐式评分不能反映用户对一个物品的喜好。如果评分r_ij为0,不能代表用户i不喜欢物品j,可能只是因为用原创 2013-12-25 22:57:19 · 2601 阅读 · 0 评论 -
使用概率矩阵模型在推荐系统中整合多种信息
做推荐时,往往会有不同的数据可用。如Netflix数据集中,有用户的显示评分信息(1-5),也有用户隐式评分信息(即用户观看记录,但没有评分);在上下文广告推荐中,有用户访问网页信息R1、用户点击广告信息R2和广告与网页关联度信息R3。那如何集成这些不同的信息,来做更好的推荐呢?首先,SVD++算是一种集成。它通过在原有评分矩阵分解的基础上集成了隐式评分信息,但它的集成过程不是十分直观原创 2013-12-23 00:54:04 · 1742 阅读 · 2 评论 -
YouTube的视频推荐算法
这篇是来自google 2007关于YouTube上视频推荐的文章。它的一个重大意义在于,让我们了解实际工程中,尤其是像YouTube这样的大型视频分享网站,推荐系统的架构是怎么样的,以及所遇到的问题。文章指出YouTube上视频推荐面临着很多的挑战:①由于用户可以自己上传视频,因此视频的数量大概和用户的数在一个数量及上(现实中,一般情况下物品数是要远远小于用户数的)②用户原创 2014-01-14 00:55:21 · 1908 阅读 · 0 评论 -
不同情境下用于评测推荐系统准确率的指标
Evaluating Recommendation Systems [25]将准确率分成3类:①预测评分的准确率 ②预测usage的准确率 ③排序的准确率①预测评分的准确率Root Mean Squared Error(RMSE)是最常用来衡量评分的准确率的。还有个是Mean Absolute Error(MAE)。RMSE 与MAE的区别在于RMSE会放大误差大的评分。如[25]原创 2014-01-06 11:57:05 · 2380 阅读 · 0 评论 -
推荐系统如何给新用户提问题
简单地归类下,有两种方法:采用问问题的方式 和 利用已有的信息(比如用户配置)。本文先只讨论第一种方法。推荐系统冷启动问题有个很“简单”的解决方案:给几个物品让用户评分,而且鉴于用户不喜欢一次评很多东西,通常只给很少的物品,比如5-10个。但这个问题其实不简单:如何选择这几个物品呢?随机给用户分配要评分的物品太不靠谱了。一个简单有效的方法是拿整个系统内最流行的物品给用户评分。就满意度来原创 2013-12-28 19:29:01 · 1054 阅读 · 0 评论 -
推荐系统中的协同过滤算法
协同过滤Collaborative Filtering (CF)算法是推荐算法的一个大分支,基本思想是推荐相似的物品,或者推荐相似用户(隐式或者显式)评分过的物品。CF方法主要可以分为两类:基于邻域和基于隐语义。基于邻域的方法利用“两个用户共同评分过的物品”或者“共同评价两个物品的用户”分别计算用户间的相似度和物品间的相似度。但由于实际用户评分的数据是十分稀疏,用户之间可能根本没有相同原创 2013-12-21 18:49:39 · 2615 阅读 · 0 评论 -
如何使基于梯度下降的机器学习并行化
本文,讨论batch-gradient和stochastic gradient descent的并行化。首先来看batch-gradient。batch-gradient的每次更新都要在整个训练集上计算获得。比如,logistic regression的更新公式为:(1)图片来自coursera上的《Machine Learning》截屏因此若训练集很大(m很大),这种做法是十原创 2013-12-24 23:14:51 · 4360 阅读 · 0 评论 -
如何捕捉推荐系统中随时间变化的动态信息
首先来看为时间信息建模的重要性事物是动态变化的。不仅是人的喜好、品味会随着时间的推移改变(比如,一个喜欢看韩剧的用户渐渐喜欢上了国产“恐怖片”;或用户打分的标准比以往更严格了,感觉极好的也只打4分)。物品的流行度也会随着其他物品的出现,时间的发展而改变(文中显示,老电影评分tend to 比新电影的高)。因此,让推荐系统捕捉到用户和物品的改变能显著地提高推荐的准确度。[2]进一步,原创 2013-12-21 22:13:52 · 1241 阅读 · 0 评论 -
使用Knowledge Base实现跨领域的推荐
跨领域的英文叫法是Cross Domain。 除了文本信息,如今网络出现了越来越多的多媒体信息:图片分享,视频网站,在线音乐网站等等。这给像百度这样的广告中介带来的了问题:因为上下文广告推荐的思想是广告与用户当前浏览的页面越相关,其点击率越高。而传统的文本技术无法判断多媒体与广告的相关性。这篇文章介绍[2]提出的使用knowledge base来做图片与文字间跨领域推荐的方法。在传统上原创 2014-01-09 23:53:44 · 1903 阅读 · 0 评论 -
如何利用knowledge base来做推荐
首先介绍一点背景信息。Dr. Gautam Shroff在《Web Intelligence and Big Data》里提到语义网(semantic web)大致的vision是:将facts和rules从现有的web里面提取出来。老的facts又和rules产生新的facts,于是semantic web不断壮大。他指出这样的semantic web虽然没有被实现,但能跨领域地表示knowle原创 2014-01-04 00:47:39 · 4250 阅读 · 0 评论 -
直接优化物品排序的推荐算法
一直以来,推荐系统使用的都是使用Collaborative Filtering(协同过滤)算法:利用用户和物品间的相似关系,计算用户对物品的喜好程度。然后将预计用户最喜欢的前N个物品推荐给它,以实现个性化推荐。可以看到,这其实可以当成一个rank问题:将用户喜欢的物品排序,然后推荐前N个它最喜欢的。虽然如此,model-based CF(如Matrix factorization, FM)和mem原创 2014-01-07 00:12:54 · 5709 阅读 · 0 评论 -
top-N推荐中以recall为指标的实验设计
如何很亮top-N推荐的性能,是个重要的问题。其中,recall的计算并非那么直观的。下面,先看几个paper里不同的计算方法,然后做个总结。[27]的实验方法:记处理后的(隐式)评分矩阵为S,其中用户u有过隐式反馈的物品集为u+,没有的集合为u-。对于每个用户u,作者从u+中随机抽取10个相关的物品,作为测试集u_test。作者从u-中随机抽取K|u+|个物品,记为u* ——由于增加原创 2014-01-08 16:39:25 · 4479 阅读 · 0 评论 -
矩阵分解模型MF如何进行在线更新
目前在评分预测方面,Matrix factorization模型是performance最好的一个模型。但它的缺点是整个模型训练完后是静态的。所谓静态是指模型无法对更新做出灵活的改变。而更新在现实情境下十分常见的,比如用户新评价了一个物品,一个新用户注册了,一个新物品被添加了。这就要求模型能较好地反映出这些变化。那为什么即使用SGD训练模型,也不能直接在评分r_ij对应的用户i特征向量和物品j特征原创 2013-12-27 20:21:10 · 2997 阅读 · 0 评论