读书笔记 | 《推荐系统》 引言

协同方法背景下常见问题如下

1.如何发现与我们要推荐的用户有着相似偏好的用户?

2.如何衡量相似度?

3.如何处理还没有购买经历的用户?

4.如果只有很少的评分怎么办?

5.除了利用相似用户之外,还有那些技术可以用来预测用户是否其物品?

基于内用的推荐常见问题

1.系统如何自动获取并持续改进用户记录?

2.如何决定那个物品匹配或者至少能接近、符合用户的兴趣?

3.什么技术能自动抽取或学习物品的描述,从而减少人工标注?

基于知识的推荐常见问题

1.那种领域的知识能表示成知识库?

2.什么机制可以根据用户的特点来选择和排名物品?

3.如何在没有购买记录的领域获取用户信息?

4.如何处理用户直接给出的偏好信息?

5.那种交互方式能够用于交互式推荐系统?

6.设计对话时要考虑哪些个性化因素才能确保准确获得用户偏好信息?

混合推荐系统常见问题

1.哪种方法能被组合,特定组合的前提是什么?

2.两个或多个推荐算法是应该顺序计算,还是采用其他混合方式?

3.不同方法的结果如何赋以权重,可以动态决定么?

推荐系统的解释常见问题

1.推荐系统在解释其推荐结果的同时如何提高用户对系统的信任度?

2.推荐策略如何影响解释推荐的方式?

3.能通过解释让用户相信系统给出的建议是公正的或者不偏颇的么?

评估推荐系统常见问题

1.哪些研究设计适用于评估推荐系统?

2.如何利用历史数据实验评估推荐系统?

3.什么衡量标准适合不同的评估指标?

4.现有的评估技术局限是什么?尤其是在会话性和商业价值方面。

商业推荐系统拟解决的问题

1.推荐系统的商业价值是什么?

2.他能帮助提高销售额或将更多地访问者转化为购买者么?

3.不同推荐算法在效果上有差别么?在哪种情况下应该使用哪种技术?

最新的进展

1.隐私性和鲁棒性

2.在线消费决策

3.社交和语义背景下的推荐系统

4.无处不在的应用

读书笔记 | 《推荐系统》 协同过滤推荐

2.1 基于用户的协同过滤推荐

1.用户之间相似度计算:Pearson相关系数、改进余弦相似度、Spearman秩相关系数、均方差

2.不必考虑所有的近邻用户,为降低近邻集合规模,为相似度定义一个阈值或将规模限定为一个固定值,只考虑用户的k个最近邻。需要注意的是,阈值越高,近邻规模越小,覆盖率越低

3.实时性较高的场景

2.2 基于物品的协同过滤推荐

1.物品之间相似度度量:余弦相似度

2.构建物品相似度矩阵

3.电子商务网站

2.3 关于评分

1.五分制、七分制、十分制等

2.显示评分、隐式评分

2.4 数据稀疏和冷启动问题

1.用户一般只会购买和评价一小部分商品,评分矩阵一般都非常稀疏

2.利用用户的附加信息:年龄、性别、兴趣、教育等

3.基于图的方法,推荐由用户和物品间的路径决定

4.对于用户冷启动和物品冷启动:可以通过混合方法解决,即利用额外的外部信息

2.5 基于模型和预处理的方法

1.矩阵因子分解:SVD、PCA、pLSA(概率潜在语义分析)

2.关联规则挖掘:Apriori

X–>Y
(1) 支持度:包含X和Y的所有商品交易量占所有交易量的比例
(2) 置信度:包含X和Y的所有商品交易量占仅包含X的交易量的比值
(3) 支持度与置信度的阈值一定要根据试验确定

3.基于概率分析的推荐算法:贝叶斯分类器、聚类、贝叶斯网络

(1)
P(Y | X) = P(X | Y) * P(Y) / P(X)
条件概率是指在事件B发生的情况下,事件A发生的概率,用P(A|B)来表示
到最后就是求P(X | Y) * P(Y)
拉普拉斯(Laplace)平滑

(2)
解决数据稀疏性和计算复杂度问题,可以引入聚类的思想(相似用户、相似物品)

(3)
贝叶斯网络没有过拟合的强烈倾向,而且还适用于不完整的数据

2.6 近来实际的方法和系统

Slope One
Google新闻的个性化推荐引擎pLSA、MinHash、伴随浏览量

读书笔记 | 《推荐系统》 基于内容的推荐

依赖关于用户和物品的偏好信息

3.1 内容表示和相似度

1.内容相似度度量:Dice系数、向量空间模型、TF-IDF

(1) 改进:删除停用词(a,an,the,is…)、词干还原(stemming–>stem,went–>go)、精简规模(仅用信息量最大的n个词语)、短语
(2) 缺陷:没有考虑到关键词上下文

3.2 基于内容相似度搜索

1.最近邻

(1)思想:如果k=5,当前用户喜欢其中4个最相似的物品,系统可能猜测d也被喜欢的概率相对很高
(2)方法:KNN
(3)应用:用于对用户兴趣的短期建模、设置物品相似度阈值上限,阻止系统向用户推荐那些很有可能已经看过的新闻
(4)策略:搜索短期模型中的近邻,如果不存在这样的近邻,则使用长期用户模型

2.相关性反馈——Rocchio方法

(1)思想:首先,将评分文档划分为两组:D+和D-,分别对应喜欢和不喜欢的文档;然后,计算这些分类的初始(平均)向量(初始向量可看做两组文档的重心)

3.3 其他文本分类方法

喜欢、不喜欢

(1) 基于概率模型的方法:贝叶斯
优势:可以确定一篇文档是否喜欢、可以对一组未见的文档排序、精度高
另一种改进:考虑词语出现的次数

(2) 其他分类器和机器学习
Widrow-Hoff、SVM

(3) 显示决策模型:决策树、规则归纳法
决策树用的比较少,可以与其他技术结合改进推荐效率和精确度,不能作为核心的推荐技术
规则归纳法是一种从训练数据集中抽取决策规则的类似方法。(RIPPER算法用于电子邮件分类)
优点:推导出的决策规则可作为生成推荐系统解释的基础、已有的先验领域只是可以整合到模型中

(4) 特征选择
原因:目前所有技术都依赖向量表示文档和TF-IDF权重,如果直接使用的话,去除停用词并还原词干,这些文档向量还是很长,很稀疏,导致内存、性能需求问题和过拟合
思路1:只用文档集中所有词的一个子集分类。选择利用哪些特征、去除不相关特征等
思路2:应用基于频率的特征选择和使用特定领域或任务的启发式方法,并基于经验选择的阈值去除那些“太稀少”或者出现“太频繁”的词语
在大规模文本数据中,启发式方法可能不太合适,常常采用基于统计的方法:卡方检验(一种互信息衡量方法)、Fisher判别指标

3.4 讨论

1.贝叶斯分类器和Rocchio在很多领域都表现很好

2.没有考虑页面的美观、可用性等因素

3.推荐结果缺乏新颖性,推荐大路货或者推荐的物品与用户熟知的物品太相似

4.遇冷启动问题,获取评分

读书笔记 | 《推荐系统》 基于知识的推荐

4.1 介绍

1.不需要评分数据就可以推荐,因此不存在冷启动问题

2.两种基本类型:基于约束推荐、基于实例推荐

4.2 知识表示法和推理

1.基于知识的系统依赖物品特性的详细知识

(1)基于约束的推荐问题一般可以表示为由约束求解器解决的约束满足问题或者是通过数据库引擎执行并解决的合取查询形式
(2)基于实例推荐系统主要利用相似度衡量标准从目录中检索物品

2.约束

(1)经典的约束满足问题可以用一组(V,D,C)表示,V是一组变量;D是一组这些变量的有限域;C是一组约束条件

3.实例与相似度

(1)相似度可以描述物品属性与某些用户需求之间的匹配程度

4.3 与基于约束推荐系统交互

1.默认设置:帮助用户说明需求的重要方法

(1)推荐默认值
a、默认设置由以下方法确定:静态默认设置(每个用户属性都有这项默认设置)、条件默认设置(根据用户潜在需求的不同组合确定)、派生默认设置(利用已有的交互日志自动抽取默认值)
b、各种方案都可以决定派生默认设置,其中决定合适默认值的基本方法是1最近邻(预测Vc中的单个或一组属性值,基本思想是确定交互日志中用户需求最相似的条目)和加权多数投票(根据一组近邻物品对某个特殊属性的投票来决定用户的属性值)

(2)选择下一个提问:给出下一个要展示的属性的默认值,利用用户的交互日志,选择用户感兴趣的问题进行提问

2.处理不满意的需求与空结果集

(1)思想:找出并找出集合P中产品导致的内在需求冲突,。这种情形下,用户可以根据一个最小化的需求集合的提示获取帮助,这个集合经过修改后可以得到最终的解决方案

3.对于物品、效用推荐结果的排序

(1)用户更关注列表开头的物品
(2)确定用户对某个维度的兴趣度:用户定义偏好(推荐过程中直接询问用户)、基于效用的偏好(根据用户需求和评分规则直接计算相应维度的重要程度)、联合分析

4.4 与基于实例的推荐系统交互

纯粹基于查询的方法——>基于浏览的方法

1.评价:用户以当前待审核物品为满足的目标来指明他们的修改要求

2.混合评价

3.动态评价

读书笔记 | 《推荐系统》 混合推荐方法

协同过滤会利用用户模型和群体数据的某种特定类型的信息(比如评分)生成推荐结果;基于内容的方法则依赖产品特征和文本描述;基于知识的推荐算法根据显示知识领域模型进行推理

5.1 混合推荐的时机

1.推荐理论框架

(1)效用函数:预测物品集合I中的物品i对整个用户集U中用户u的有用性

2.混合设计

(1)三种设计思路:整体式、并行式、流水线式

5.2 整体式混合设计

1.只包含一个推荐单元,通过预处理和组合多个指示源从而将多种方法组合在一起

2.特征组合的混合方案

(1)可以使用不同种类的输入数据

3.特征补充的混合方案

(1)通过对知识源进行预处理,一个参与推荐系统的输出结果能够扩大实际整个推荐系统的特征空间

5.3 并行式混合设计

1.交叉式混合:在用户交互界面这个层面上将不同推荐系统的结果组合在一起,各种方法所得到的推荐结果一起呈现

2.加权式混合:计算两个或多个推荐系统结果分数的加权和,将他们组合在一起(新闻领域P-Tango系统)

3.切换式混合:需要一个权威者根据用户记录或推荐结果的质量来决定那种情况下适用那种推荐系统

5.4 流水线混合设计

1.将流程分为多个阶段,多种技术顺序作用,直到产生最后的推荐结果

2.串联混合:将一组推荐算法按顺序排列,后面的推荐算法对前面的推荐结果做优化

3.分级混合:一种推荐方法构建的模型被主推荐算法用来生成推荐结果

读书笔记 | 《推荐系统》相关推荐

  1. 读书笔记 | 墨菲定律

    1. 有些事,你现在不做,永远也不会去做. 2. 能轻易实现的梦想都不叫梦想. 3.所有的事都会比你预计的时间长.(做事要有耐心,要经得起前期的枯燥.) 4. 当我们的才华还撑不起梦想时,更要耐下心来 ...

  2. 读书笔记 | 墨菲定律(一)

    1. 有些事,你现在不做,永远也不会去做. 2. 能轻易实现的梦想都不叫梦想. 3.所有的事都会比你预计的时间长.(做事要有耐心,要经得起前期的枯燥.) 4. 当我们的才华还撑不起梦想时,更要耐下心来 ...

  3. 洛克菲勒的38封信pdf下载_《洛克菲勒写给孩子的38封信》读书笔记

    <洛克菲勒写给孩子的38封信>读书笔记 洛克菲勒写给孩子的38封信 第1封信:起点不决定终点 人人生而平等,但这种平等是权利与法律意义上的平等,与经济和文化优势无关 第2封信:运气靠策划 ...

  4. 股神大家了解多少?深度剖析股神巴菲特

    股神巴菲特是金融界里的传奇,大家是否都对股神巴菲特感兴趣呢?大家对股神了解多少?小编最近在QR社区发现了<阿尔法狗与巴菲特>,里面记载了许多股神巴菲特的人生经历,今天小编简单说一说关于股神 ...

  5. 2014巴菲特股东大会及巴菲特创业分享

     沃伦·巴菲特,这位传奇人物.在美国,巴菲特被称为"先知".在中国,他更多的被喻为"股神",巴菲特在11岁时第一次购买股票以来,白手起家缔造了一个千亿规模的 ...

  6. 《成为沃伦·巴菲特》笔记与感想

    本文首发于微信公众帐号: 一界码农(The_hard_the_luckier) 无需授权即可转载: 甚至无需保留以上版权声明-- 沃伦·巴菲特传记的纪录片 http://www.bilibili.co ...

  7. 读书笔记002:托尼.巴赞之快速阅读

    读书笔记002:托尼.巴赞之快速阅读 托尼.巴赞是放射性思维与思维导图的提倡者.读完他的<快速阅读>之后,我们就可以可以快速提高阅读速度,保持并改善理解嗯嗯管理,通过增进了解眼睛和大脑功能 ...

  8. 读书笔记001:托尼.巴赞之开动大脑

    读书笔记001:托尼.巴赞之开动大脑 托尼.巴赞是放射性思维与思维导图的提倡者.读完他的<开动大脑>之后,我们就可以对我们的大脑有更多的了解:大脑可以进行比我们预期多得多的工作:我们可以最 ...

  9. 读书笔记003:托尼.巴赞之思维导图

    读书笔记003:托尼.巴赞之思维导图 托尼.巴赞的<思维导图>一书,详细的介绍了思维发展的新概念--放射性思维:如何利用思维导图实施你的放射性思维,实现你的创造性思维,从而给出一种深刻的智 ...

  10. 产品读书《滚雪球:巴菲特和他的财富人生》

    作者简介 艾丽斯.施罗德,曾经担任世界知名投行摩根士丹利的董事总经理,因为撰写研究报告与巴菲特相识.业务上的往来使得施罗德有更多的机会与巴菲特亲密接触,她不仅是巴菲特别的忘年交,她也是第一个向巴菲特建 ...

最新文章

  1. ubuntu 16.04下源码安装opencv3.4
  2. yum(Fedora和RedHat以及SUSE中的Shell前端软件包管理器)命令详解
  3. mysql 中函数如何转存_MySQL函数转储存(当前月数据同步)
  4. SqlServerCe 数据库操作示例
  5. java容器类继承_JAVA容器 - weslie - OSCHINA - 中文开源技术交流社区
  6. python怎么改变字体大小_python IDLE 背景以及字体大小的修改方法
  7. 一个简单混合协议通讯列子,物联网和互联网通讯。
  8. zpk在MATLAB中是什么意思,_MATLAB在控制系统中应用 .ppt
  9. rsync aws ec2 pem
  10. python将图片转化成字符图片_python如何将图片转换为字符图片
  11. 创建模块化程序(三)
  12. unix编程实训教程之 more(觉醒篇一 Begin)
  13. 多个html5页面背景音乐,HTML5页面背景音乐代码 网页背景音乐通用代码
  14. java 智能一卡通系统_基于Java框架的银医一卡通系统设计
  15. C#基础编程——简介及基础语法
  16. clickhouse 离线安装
  17. 开源数据库产品平民化,为打破商业数据库垄断提供一条路径 ▏开源数据库系列谈之四...
  18. 请把ios文件解压出来是什么意思_全网电影+美剧+日韩剧(ios+安卓)
  19. 父类引用指向子类对象是什么意思
  20. 2021CCF BDCI图书推荐系统竞赛baseline

热门文章

  1. 图像超分:HAN(Single Image Super-Resolution via a Holistic Attention Network)
  2. 我希望用Java拥有的十大锡兰语言功能
  3. php实现同步异步,同步、异步
  4. Hive面试题精选-2021
  5. Bilibili视频-对比学习论文综述【论文精读】
  6. 怪物猎人ol服务器维护,腾讯宣布怪物猎人OL停运 12月31日正式关服
  7. Redis三种删除策略
  8. 【个人网站】零基础个人网站搭建完整教程二(网站服务器配置)
  9. 用C语言实现shell
  10. 哪里才能下载到好用的CAD建筑练习图纸?