Recommender Systems协同过滤

简介:   第一部分是学习ID3时候积累的。 一.以前写的基础知识   1.信息:是用来消除不确定性的度量,信息量的大小,由所消除的不确定性的大小来计量(香农)。  2.由于不确定性是由随机性引起的,所以用概率来描述和计量;熵entropy:源于热力学,是分子混乱程度的度量。

  第一部分是学习ID3时候积累的。

一.以前写的基础知识

  1.信息:是用来消除不确定性的度量,信息量的大小,由所消除的不确定性的大小来计量(香农)。
  2.由于不确定性是由随机性引起的,所以用概率来描述和计量;熵entropy:源于热力学,是分子混乱程度的度量。
  3.X(离散型随机变量)的熵H(X) 为:H(X)= - ∑x ∈X p (x) log2 p (x),其中,约定0log2 0 = 0,通常单位为bits;一个随机变量的熵越大,它的不确定性就越大,正确估计其值的可能性就越小。越不确定的随机变量越需要大的信息量用以确定其值;熵又称为自信息(self-information),表示信源X每发一个符号(不论发什么符号)所提供的平均信息量。

二.协同过滤

  输入:“用户—物品”评分矩阵
  输出: (1)用户对某个物品喜欢程度的评分;

      (2)对于用户,n个推荐的物品列表

  2.1  基于用户的最近邻推荐(user-based cf)

  算法基本假设:(1)如果用户过去有相似的偏好,那么他们未来也会有相似的偏好;(2)用户的偏好不随时间变化而变化。用户相似度计算:user-based cf中pearson相关系数比较好;item-based cf中余弦相似度比较好。学术界在相似度方面有较为深入的研究,例如:很多领域都存在一些所有人都喜欢的物品(热门物品),让两个用户对有争议的物品达成共识、比对热门物品达成共识更有价值,Breese提出“反用户频率”(iuf)来表示。

  用户近邻的选择方法:(1)固定某个相似度阈值;(2)固定某个近邻数阈值

  2.2基于物品额最近邻推荐(item-based cf)

  算法基本假设:用户喜欢某个物品,那么也喜欢和这个物品相似的物品

  当用户量比较大的时候,user-based cf需要计算相似用户,这个计算代价就很大;而且,当数据发生变化的时候,之前计算出的用户之间的相似度,也不稳定。相反,item-based cf,计算item之间的关系,比较适合离线计算,而且计算出的物品之间的相似度,当数据变化的时候,结果更加稳定。

  当计算量实在太大的时候,如果一定要处理,可以采取“二次采样”的方法,即只选择数据的某个子集。

三. 关于评分

  “用户—物品”矩阵,联结用户和物品的是用户对物品的评分。可以分为显示评分和隐式评分。显示评分的问题主要在于用户需要额外付出。收集显示评分也并不是太困难,关键要有一小部分“早起培育者”先提供出来一些评分(有心理学的依据)。对于些领域,例如:个性化在线电台,隐式反馈比现实反馈效果更好。

  如果评分很少、或者没有评分,就是数据稀疏问题。是否可以利用一些别的信息,如:用户的自然属性。对于用户没有行为的物品,可否有缺省值?冷启动问题是数据稀疏问题的一个特例。

四. 更多的模型和方法

  协同过滤推荐可以分为基于记忆的方法和机遇模型的方法。前者将所有数据记忆到存储体中。后者,(离线)做数据降维,抽象出特征,运行时直接用特征。

  (1)矩阵分解方法
  SVD(基础),LSA,LSI。都是降维的方法。至于计算item之间的相似度、user之间的相似度、相似度度量选择等等,和经典的CF没啥两样。
  主成分分析方法。
  (2)关联规则挖掘
  啤酒尿布。在热门电影领域,关联规则挖掘的效果比较好。给用户推荐web页面的场景,关联规则效果也不错。

  (3)基于概率分析的方法
  将推荐问题转成分类问题。例如:用户给item的打分可以是1--5分,对于新物品、以及当前用户,给物品分到五个类别中,分别对应着1–5分。个人感觉,这种方法的作用就是为学术界发文章,在实际中很难使用。

五. 近年来实际的方法和系统

  slope one预测,google reader的预测方法(之一)。思路挺有意思的,就是用与当前用户有关的用户(与当前用户在某个物品上都打了分--分高分低无所谓)对某个物品的评分情况,来预测当前用户对于这个物品的评分情况。直觉上不见得会make sense,即便是make sense,也远不如CF那么sense。不过算法很适合并行化。且Google也是用Map reduce来做的。

  google reader实际上是一个混合推荐系统。既包括了离线计算,也包括了在线的用户行为挖掘。

六. 讨论和小结

  目前找不到一种推荐方法在所有系统和数据集上面都优秀的。所以推荐系统还要“具体问题具体分析”,多尝试。CF方法要求用户有一定的规模,太小规模,效果不可预测。
  参考:http://blog.csdn.net/xceman1997/article/details/41687339

七.遗留问题

  1.反用户频率是什么?

  2.二次采样怎么搞?

  3.item——basedCF中还会买与买过的物品相似的物品吗?如果是,意义何在?莫非这就是“喜欢该物品的还喜欢.....”(购买过还购买了,这种一般是关联规则推荐,而且物品往往是不经常买的,比如手机、单反)。

  4.基于概率分析的方法,还没看过相关论文。

  5.今天刚下了“增量聚类”“实时推荐”“矩阵分解模型”的资料,有相关资料的园友,希望分享一下,留下你的评论,说说我需要看什么就行......爱你们 

目录
相关文章
|
机器学习/深度学习 搜索推荐 算法
Learning Disentangled Representations for Recommendation | NIPS 2019 论文解读
近年来随着深度学习的发展,推荐系统大量使用用户行为数据来构建用户/商品表征,并以此来构建召回、排序、重排等推荐系统中的标准模块。普通算法得到的用户商品表征本身,并不具备可解释性,而往往只能提供用户-商品之间的attention分作为商品粒度的用户兴趣。我们在这篇文章中,想仅通过用户行为,学习到本身就具备一定可解释性的解离化的用户商品表征,并试图利用这样的商品表征完成单语义可控的推荐任务。
23676 0
Learning Disentangled Representations for Recommendation | NIPS 2019 论文解读
|
搜索推荐 算法
十六、推荐系统(Recommender systems)
十六、推荐系统(Recommender systems)
十六、推荐系统(Recommender systems)
|
机器学习/深度学习 自然语言处理 算法
Machine Learning-L16-概率图模型
Machine Learning-L16-概率图模型
Machine Learning-L16-概率图模型
|
机器学习/深度学习 搜索推荐 算法
【推荐系统论文精读系列】(三)--Matrix Factorization Techniques For Recommender Systems
现在推荐系统一般是基于两种策略,一种是基于文本过滤的方式,另外一种是协同过滤,而基于文本过滤的方法是创造画像为用户或者物品,说白了就是用一些描述性的特征去描述它们,例如对于一部电影来说,可以为其创造画像电影类型、导演、演员、电影市场、票房等来进行描述,对于用户来说,可以用一些人口统计特征来进行描述。
416 1
|
机器学习/深度学习 搜索推荐 算法
【推荐系统论文精读系列】(十)--Wide&Deep Learning for Recommender Systems
具有非线性特征转化能力的广义线性模型被广泛用于大规模的分类和回归问题,对于那些输入数据是极度稀疏的情况下。通过使用交叉积获得的记忆交互特征是有效的而且具有可解释性,然后这种的泛化能力需要更多的特征工程努力。在进行少量的特征工程的情况下,深度神经网络可以泛化更多隐式的特征组合,通过从Sparse特征中学得低维的Embedding向量。可是,深度神经网络有个问题就是由于网络过深,会导致过度泛化数据。
137 0
【推荐系统论文精读系列】(十)--Wide&Deep Learning for Recommender Systems
|
机器学习/深度学习 搜索推荐
【推荐系统论文精读系列】(十四)--Information Fusion-Based Deep Neural Attentive Matrix Factorization Recommendation
推荐系统的出现,有效地缓解了信息过载的问题。而传统的推荐系统,要么忽略用户和物品的丰富属性信息,如用户的人口统计特征、物品的内容特征等,面对稀疏性问题,要么采用全连接网络连接特征信息,忽略不同属性信息之间的交互。本文提出了基于信息融合的深度神经注意矩阵分解(ifdnamf)推荐模型,该模型引入了用户和物品的特征信息,并采用不同信息域之间的交叉积来学习交叉特征。此外,还利用注意机制来区分不同交叉特征对预测结果的重要性。此外,ifdnamf采用深度神经网络来学习用户与项目之间的高阶交互。同时,作者在电影和图书这两个数据集上进行了广泛的实验,并证明了该模型的可行性和有效性。
227 0
【推荐系统论文精读系列】(十四)--Information Fusion-Based Deep Neural Attentive Matrix Factorization Recommendation
|
机器学习/深度学习 人工智能 搜索推荐
【推荐系统论文精读系列】(十二)--Neural Factorization Machines for Sparse Predictive Analytics
现在很多基于网站应用的预测任务都需要对类别进行建模,例如用户的ID、性别和职业等。为了使用通常的机器学习预测算法,需要将这些类别变量通过one-hot将其转化成二值特征,这就会导致合成的特征向量是高度稀疏的。为了有效学习这些稀疏数据,关键就是要解释不同特征之间的影响。
294 0
|
机器学习/深度学习 存储 搜索推荐
【推荐系统论文精读系列】(二)--Factorization Machines
本篇论文中,作者介绍了一个新的分解模型Fatorization Machines(FM),它结合了支持向量机的一些优点。与SVM一样,FM模型是一个通用的预测分类器适用于任何真实值的向量。但是与SVM不同的是,FM通过使用分解参数的方式在不同变量之间进行建模。
240 0
|
机器学习/深度学习 人工智能 搜索推荐
【推荐系统论文精读系列】(十一)--DeepFM A Factorization-Machine based Neural Network for CTR Prediction
在推荐系统领域最大化CTR最关键就是要学习用户举止背后复杂的特征交互。尽管现在已经有了一些大的进展,但是现存的方式仍然是只能捕捉低阶或者高阶特征,或者需要专业的特征工程。本篇论文中,我们提出了一种端到端的学习模型,能够同时学习到低阶和高阶的交互特征。我们将这个模型命名为DeepFM,它结合了分解机的能力和深度学习捕捉高阶特征的能力。对比最新谷歌提出的Wide & Deep模型,我们的DeepFM模型不需要任何特征工程,而且会共享特征输入。
184 0
|
机器学习/深度学习 负载均衡 搜索推荐
【推荐系统论文精读系列】(十六)--Locally Connected Deep Learning Framework for Industrial-scale Recommender Systems
在这项工作中,我们提出了一个局部连接的深度学习框架推荐系统,该框架将DNN的模型复杂性降低了几个数量级。我们利用Wide& Deep模型的思想进一步扩展了框架。实验表明,该方法能在较短的运行时间内取得较好的效果。
106 0
【推荐系统论文精读系列】(十六)--Locally Connected Deep Learning Framework for Industrial-scale Recommender Systems

热门文章

最新文章