推荐系统算法通常是某类推荐模型的实现,它负责获取数据,例如用户的喜好和可推荐项的描述,以及预测给定的用户组会对哪些选项感兴趣。

CF的方法大体可分为两类:分别为邻域和基于模型的方法。邻域方法(即基于内存的CF)是使用用户对已有项的评分直接预测该用户对新项的评分。与之相反,基于模型的方法是使用历史评分数据,基于学习出的预测模型,预测对新项的评分。通常的方式是使用机器学习算法,找出用户与项的相互作用模型,从而找出数据中的特定模式。

基于邻域的CF方法意在找出项与项之间的联系(基于项的CF),或者用户与用户之间的联系(基于用户的CF)。

1.基于用户的CF通过找出对项的偏好与你相似的用户从而基于他们对于新项的喜好来为你进行推荐。
2.基于项的CF会向用户推荐与用户喜欢的项相似的项,这种相似是基于项的共同出现几率(例如用户买了X,通时也买了Y)。

邻域方法由于其简单性和效率具有相当的知名度,同时也是由于它们有产生准确的和个性化的推荐的能力。然而,它们也有一些可扩展性的限制,因为在用户数量和项的数量增长的情况下,它们需要一个相似度的计算(基于用户或项)。在最坏的情况下,这种计算的时间复杂度可能是O(m*n),但在实践中的情况稍微好一点O(m+n),部分原因是由于利用了数据的稀疏度。虽然稀疏有助于可扩展性,它也对基于邻域的方法提出了一个挑战,因为我们的用户仅仅对庞大数量项中的很少一部分进行了评分。例如,在Mendeley,我们有数以百万计的文章而一个用户可能只读了其中几百篇文章。两个读过100篇文章的用户有一篇相同文章的概率(共5000万篇文章)是0.0002。

基于模型的方法会在使用评分去学习预测模型的基础上,去预测新项。一般的想法是使用机器学习算法建立用户和项的相互作用模型,从而找出数据中的模式。在一般情况下,基于模型的CF被认为是建立CF推荐系统的更先进的算法。有许多不同的算法可用于构建模型并基于这些模型进行预测,例如,贝叶斯网络、聚类、分类、回归、矩阵分解、受限玻尔兹曼机等等。

CF方法的一个更重要的限制是我们所称的“冷启动问题”,系统是不能够给没有(或非常少)惯用活动的用户进行推荐,又名曰新用户问题,或推荐新项问题。新用户的“冷启动问题”可以通过流行性和混合方法进行解决,而新项问题可以通过使用基于内容的过滤或multi-armed bandits(即探索利用)进行解决。

基于内容的推荐算法总是为用户推荐那些与用户过去喜欢的item类似的item。它不同于协同过滤,它是基于item的内容(例如标题、年份、描述)比较item之间的相似度。并没有考虑用户过去如何使用item的情况。

基于内容的方法克服了协同过滤方法的很多不足。具体来说,基于内容的推荐算法可以克服流行度偏离和新item的冷启动问题,这些问题在第二部分介绍协同过滤的时候已经讨论过。然而,值得注意的是,纯粹基于内容的推荐算法的性能通常不如协同过滤算法。基于内容的推荐算法通常还存在过度专业化(over-specialisation)的问题,即用户可能会得到过多相同类型的item(如推荐所有的“指环王”系列电影),而不会推荐其他不同的、但用户可能感兴趣的item。最后是,基于内容的推荐算法中,仅仅使用了包含在item元数据中的词汇(如标题、描述年份),这限制了推荐算法的实用性,不能帮助用户探索和发现词汇之外的内容。

混合推荐:
几种推荐方式混合的方式:

例如利用weighted方式来混合推荐方法,那么我们可以给出不同推荐方式所对应的权重。手动给出权重需要大量工作。一种改进是利用集成学习:
它需要学习一个函数(即集成器)来确定不同推荐算法组合的权重。值得注意的是,通常集成方法不仅仅结合了不同的算法,同时也组合了基于相同算法的不同变种(模型)。例如,在赢得Netflix竞赛的解决方案中,研究者使用了来自于超过10种不同算法(流行度、领域方法、矩阵因子分解、受限玻尔兹曼机、回归等)的100多种模型,并通过使用梯度boosted决策树将它们组合到一个集成器中。

最后,需要紧紧牢记的是,推荐模型仅仅是推荐系统五个部件中的其中一个。付出努力将推荐模型正确建立起来是非常重要的,但是对于其他的所有部件,如数据收集和处理、后处理、在线模块和用户界面,做出正确的选择同样重要。正如我们一遍又一遍所强调的,该推荐算法仅仅是推荐系统中的一部分,你的决策需要考虑整个产品。

原文章入口:
http://www.infoq.com/cn/articles/recommendation-algorithm-overview-part01#idp_register

infoQ推荐算法综述笔记相关推荐

  1. 基于隐语义模型的个性化推荐算法综述-笔记整理

    1. 前期知识 均方根值(RMS)+ 均方根误差(RMSE)+标准差(Standard Deviation) 1.均方根值(RMS)也称作为效值,它的计算方法是先平方.再平均.然后开方. 2.均方根误 ...

  2. 推荐算法炼丹笔记:序列化推荐系统

    作者:一元 公众号:炼丹笔记 特约审稿:杰少 背景 序列推荐系统(SRS)不同于传统推荐系统(RSs)包括协同过滤和基于内容的过滤,SRSs试图理解和建模用户的连续行为.用户与物品之间的交互作用以及用 ...

  3. 推荐算法炼丹笔记:排序模型CTR点击率预估系列

    微信公众号:炼丹笔记 ​CTR点击率预估系列家谱 炼丹之前,先放一张CTR预估系列的家谱,让脉络更加清晰. (一)FiBiNET:结合特征重要性和双线性特征交互进行CTR预估 1.1 背景 本文发表在 ...

  4. 推荐算法炼丹笔记:推荐系统采样评估指标及线上线下一致性问题

    本文对于推荐系统中的采样评估指标进行了讨论,内容略多, 还有一些数学推导, 有兴趣的可以去阅读文末给出的原始论文链接, 此处直接列出核心观点: 在评估推荐算法的效果时,能不采样就不采样! 除了AUC, ...

  5. 推荐算法炼丹笔记:CTR点击率预估系列入门手册

    ​CTR点击率预估系列家谱 炼丹之前,先放一张CTR预估系列的家谱,让脉络更加清晰. (一)FiBiNET:结合特征重要性和双线性特征交互进行CTR预估 1.1 背景 本文发表在RecSys 2019 ...

  6. 推荐算法炼丹笔记:如何让你的推荐系统具有可解释性?

    作者:一元, 公众号:炼丹笔记 可解释性和有效性是构建推荐系统的两大关键成份,之前的工作主要关注通过引入辅助信息来获得更好的推荐效果.但这些方法会存在下面的两个问题: 基于神经网络的embedding ...

  7. 推荐算法炼丹笔记:科学调参在模型优化中的意义

    作者:九羽 ,公众号:炼丹笔记 基于Embedding的推荐算法模型一直是近几年研究的热门,在各大国际会议期刊都能看到来自工业界研究与实践的成果.MF(Matrix Factorization)作为传 ...

  8. 个性化推荐算法实战第01章个性化推荐算法综述

    文章目录 个性化推荐算法实战第01章个性化推荐算法综述 1.什么是推荐系统? 2.个性化推荐算法在系统中所起到的作用 3.如何衡量个性化推荐算法在产品中起到的作用 4.推荐算法介绍 5.评估指标: 个 ...

  9. 推荐算法炼丹笔记:标签工程

    作者:一元 公众号:炼丹笔记 Deep Feedback Network for Recommendation(IJCAI20) 背景 做数据挖掘相关的朋友,大多数都听说过特征工程这个艺术的词汇,却鲜 ...

最新文章

  1. LFSR 和 m序列
  2. python大神教程_大神python教程415集全套,拿走不谢
  3. 世界读书日 阿里人是这样看书的?
  4. 第5章 Python 数字图像处理(DIP) - 图像复原与重建3 - 爱尔兰(伽马)噪声
  5. java声明和初始化数组_Java 中初始化数组
  6. 计算机体系结构a类会议,通信、计算机等领域常见A类国际学术会议.PDF
  7. CC_STACKPROTECTOR防内核堆栈溢出补丁分析【转】
  8. C-Free 5.0注册码分享
  9. 如何得到信号的幅度谱和相位谱
  10. python运行黑色窗口怎么弄_selenium+python 去除启动的黑色cmd窗口方法
  11. 杂货机器人翻车实录:会被路人“吓”到,还会跟错主人!3千美元怕是买了个寂寞?
  12. 64位oracle 和64位 PL/SQL 的配置
  13. window统计连接数
  14. 进程、线程、协程之间的关系
  15. jenkins配置使用
  16. 如何将电梯门禁卡复制到手机/手环上
  17. day37 XSS跨站权限维持钓鱼捆绑浏览器漏洞
  18. 软件测试流程(萌新专属)【超详细】-酸奶公园
  19. Go实战--使用golang开发Windows Gui桌面程序(lxn/walk)
  20. 山东专升本计算机网络(一)

热门文章

  1. 小米MIUI12开启或关闭volte功能
  2. 正在遭受黑客攻击的脆弱电网
  3. Unity3D仿电影字幕
  4. 智能设备主要有哪些特点
  5. 吹爆“Alibaba”自研Spring全家桶全套全彩学习笔记(终极版)
  6. 深度揭秘高频交易盈利方式
  7. c语言扇形打印图片,怎么做扇形图表?
  8. 机器人运动学仿真笔记
  9. sql Server 创建临时表 嵌套循环 添加数据
  10. 1.7 ThreadLocal的原理和使用详解