推荐系统第一章-推荐系统的概括

1什么是推荐系统

推荐系统就是沟通信息生产者与信息消费者的一个工具,这个工具可以为信息消费者发现有价值的信息,也可以让信息生产者生产的信息能够展现在对它感兴趣的用户面前,实现双赢。

搜索经历了三大阶段:

分类目录阶段,雅虎,hao123。
有目的的搜索引擎阶段,Google。
无明确目的的推荐系统阶段,猜你喜欢。
长尾的定义:主流商品代表绝大多数用户的需求,长尾商品代表一小部分用户的个性化需求。
通过推荐系统,可以帮助用户发现那些他们感兴趣但是不容易发现的长尾商品。
作为一个用户,常见的获取决定看哪个电影有以下三种主要的方式:
社会化推荐:好友推荐。
基于内容推荐:分析历史信息,寻找相似内容进行推荐。
基于协同过滤推荐:根据历史兴趣寻找相同兴趣的用户群,看大家都在看什么。
综上,推荐算法的本质是将用户与物品用不同的方式联系起来。有利于解决信息过载的问题。

2推荐系统的应用

推荐系统主要包含前台的展示页面、后台的日志系统和推荐算法系统三部分。

2.1电子商务

以亚马逊为代表,为用户提供个性化推荐列表和相关商品的推荐列表。
个性化推荐列表包含:推荐结果的标题、缩略图和其他内容属性,推荐结果的评分,推荐的理由(即告诉你当前推荐的商品与你之前的浏览历史如何相关)。并在推荐理由后面增加反馈信息。属于基于物品的推荐算法。
另外还有基于好友的推荐算法,显示用户的好友在亚马逊上喜欢的物品,即将推荐理由换成好友头像。
相关商品推荐列表包含:购买该商品用户常购买的其他商品和浏览过该商品的用户常购买的商品。
代表应用:打包销售。提供一定折扣。
上述推荐系统为亚马逊创造了20%的销售价值。相比于其他电子商务网站来说亚马逊最大的优势在于个性化推荐系统。即让每个用户都有自己的在线商店,并于店里找到自己感兴趣的商品。

2.2电影和视频网站

基于物品的推荐算法
Youtube视频推荐算法
在展示页面主要有商品信息、用户反馈和推荐理由三部分,推荐理由在YouTube上没找见。

2.3个性化音乐网络电台

个性化推荐需要两个因素:信息过载,用户没有特别明确的需求。
Pandora音乐推荐算法:是基于内容相似度进行推荐,根据歌曲标注的基因特性,计算歌曲相似度,为用户推荐历史喜欢的音乐在基因上相似的其他音乐。
Last.fm音乐推荐算法:是基于用户的听歌日志记录和对歌曲的反馈,找到具有听歌时喜好度相似的用户喜欢的歌曲,进行推荐。主要利用用户行为计算歌曲的相似度。

2.4社交网络

主要三个应用方面:利用社交网络信息推荐个性化物品、信息流的回话推荐和用户好友推荐。
Facebook为例-最优价值的东西:拥有用户之间的社交网络关系+用户的偏好信息。
因此,推出了Instant Personalization的API,许多网站因此可以用于根据用户的好友喜欢的信息,给用户推荐用户好友喜欢的物品。如Clicker。
Facebook也会使用社交网络给用户推荐其他用户在社交网络上的会话。Facebook设计了一种EdgeRank算法对好友分享的会话内容进行排序。

2.5个性化阅读

满足两个条件:1文章过载。2读者知识想通过阅读特定领域的文章了解这些领域的动态,没有必须看某篇具体文章的需求。
Google Reader通过关注自己感兴趣人的分享文章进行阅读。
个性化阅读工具Zite通过收集用户对文章的偏好信息等反馈数据进行更新用户个性化文章列表。
Digg通过分析用户的历史数据计算用户之间的兴趣相似度,然后推荐相似用户喜欢的文章。

2.6基于位置的服务

位置服务常与社交网络结合在一起,分析附近好友感兴趣且可能消费的服务,进行推荐。位置是一种上下文信息。

2.7个性化邮件

Gmail会对分析用户对邮件的历史行为,找到用户感兴趣的邮件,展示在一个专门的收件箱里。

2.8个性化广告

个性化推荐是以用户为核心的,个性化广告是以广告为核心的。
当前个性化广告投放技术主要分为3种:
1:上下文广告—投放与当前浏览网页内容相关的广告。Adsense为代表。
2:搜索广告—分析用户当前搜索记录,进而判断用户的搜索目的,投放和用户搜索目的相关的广告。
3:个性化展示广告—根据用户兴趣(不可能对广告感兴趣),对不同用户投放不同的展示广告。比如CSDN上的推荐广告,看你行为记录,给你投放广告。根据用户群,Facebook广告投放。

3推荐系统测评

完整的推荐系统包括三个参与部分:用户、网站和内容提供方。在我们设计推荐算法时,需要同时考虑三方的利益,实现共赢
以书籍为例
针对用户,推荐系统需要满足用户的需求,为用户推荐其感兴趣的书籍。
针对内容提供方,即各大出版社,推荐系统要保证各个出版社的书都能被推荐给其感兴趣的用户,而不仅仅只是推荐几个大型出版社的书籍。保证所有出版社都有生存的空间。
针对网站,推荐系统需要通过网站收集到高质量的用户反馈,不断的完善推荐的质量。进而增加用户和网站的交互,最终提高网站收入
完整的生态系统如下图。
图书为例的推荐系统的三个参与方
虽然预测的准确度是推荐系统领域的重要指标(没有之一)
但是,研究表明,准确的预测并不代表很好的推荐。
因此,对用户来说,好的推荐系统不仅仅能够准确预测用户行为,而且能够拓宽用户视野,带来惊喜,发现可能会感兴趣但不那么容易被发现的东西。对商家来说,能将那些被埋没在长尾中的好商品介绍给可能会对其感兴趣的用户。实现共赢。对平台来说,好的推荐系统可以设计良好的反馈,不断提升预测性能的准度与广度,创造价值。

3.1推荐系统实验方法

三种评测推荐效果的实验方法:离线实验、用户调查和在线实验。
一般在上述三种实验时,新推荐方法均优于现有推荐方法时,一个新的推荐系统才可以最终上线。
离线实验的优缺点

优点缺点
不需要对实际系统的控制权,只要数据集合无法计算商业上关注的指标,如点击率、转化率
不需要用户参与实验离线指标和商业指标之间存在差距
速度快,可以测试大量算法

当我们对算法会不会降低用户满意度不太有把握的情况下,上线测试风险高,所以在上线测试前一般需要做一次用户调查。
用户调查的优缺点

优点缺点
获得很多体现用户主观感受的指标超募用户成本大
相对于在线测试风险低,出错后容易弥补如果不是大规模的测试用户,会使得测试结果的统计意义不足
-双盲实验不一定在真实环境下可以重现-

注:双盲实验是不让实验人员与用户事先知道测试的目标,以避免用户的回答和实验人员的测试受主观成分的影响。且测试用户的分布和真实用户的分布要相同。
在线实验(AB测试)优缺点

优点缺点
公平获得不同算法实际在线时的性能指标,包括商业上关注的指标测试周期长

切分流量是AB测试关键,即不同的层级以及控制这些层级的团队需要从一个统一的地方获得自己AB测试的流量,而不同层之间的流量应该是正交的。
AB测试系统的流程图
用户进入网站后,流量分配系统决定用户在测试中属于什么层的分组标签,之后用户浏览网页,日志系统记录用户行为并存放到日志数据库中,后台里,实验人员首先配置流量分配系统,决定满足什么条件的用户参加什么样的测试。其次通过测评系统生成不同分组用户的实验报告,对实验结果进行比较和测评。
AB测试系统

3.2测评指标

指标特点具体指标
用户满意度用户调查+在线实验点击率、用户停留时间和转化率
预测准确度离线实验评分预测(RMSE,MAE)、TopN推荐(回召率和准确率)
覆盖率挖掘长尾能力高信息熵和基尼指数
多样性结果覆盖绝大多数兴趣点多样性及整体多样性(推荐结果来进行之间的相似度计算)
新颖性在不牺牲精度的情况下提高多样性和新颖性
*惊喜度问卷调查+在线实验未成熟,仅定性
信任度问卷调查透明度、社交信息推荐和新颖的信任系统
实时性在线实验推荐列表在用户有行为变化后的变化程度。 新加入物品的冷启动推荐能力
健壮性抗击作弊的能力模拟攻击
商业目标平均一个用户给公司带来的盈利满足用户需求和商业价值的实现

补充:
RMSE(均方根误差):加大了对预测不准的用户物品评分的惩罚(平方项的惩罚),所以对系统的评测更加苛刻。
MAE(平均绝对误差):如果评分系统是基于整数建立的(用户给的评分是整数),那么对预测结果进行取整会降低MAE的误差。
RMSE与MAE具体公式可参考该网站
准确率回召率可参考该网站。也可参考机器学习书(西瓜书)P30。扩展阅读为AUC曲线。
关于预测准确度中的评分预测TopN推荐有以下讨论:

Netflex亚马逊Greg Linden
绝大多数推荐系统的研究都是基于用户评分数据的评分预测TopN推荐更符合实际的应用需求,也许有一部电影用户看了之后会给很高的分数,但是用户看的可能性非常小
1:早期研究是基于电影评分数据MovieLens进行的。2:Netflix大赛也是主要面向评分预测问题预测用户是否会看一部电影,应该比预测用户看了电影后会给它什么评分更加重要。
本书重点讨论TopN推荐

覆盖率是描述一个推荐系统对物品长尾的发掘能力。如果所有的物品都出现在推荐列表中,且出现的次数差不多,即出现次数的分布均匀,那么推荐系统发掘长尾的能力就很好。反之比较陡峭,表示系统覆盖率低。
推荐系统的初衷是为了消除马太效应,使得各种物品都能被展示给对它们感兴趣的某一类人群。判断推荐系统是否具有马太效应的办法是使用基尼指数:如果G1是从初始用户行为中计算的物品流行度的基尼指数,G2是从推荐列表中计算的物品流行度的基尼指数,如果G2>G1,那么推荐系统具有马太效应。
权衡多样性和新颖性http://ir.ii.uam.es/divers2011/
惊喜度与新颖性的区别:如果推荐结果和用户的历史兴趣不相似,但却让用户觉得满意,那么这个推荐结果惊喜度高,而推荐的新颖性仅仅取决于用户是否听说过这个推荐结果。
实时性中我们可以利用用户推荐列表中有多大比例的物品是当天新加的来测评。
提高系统健壮性
1:选择健壮性高的算法
2:设计推荐系统时尽量使用代价比较高的用户行为。
3:在使用数据前,进行攻击检测,从而对数据进行清理。
如何优化离线指标来提高在线指标是推荐系统研究的重要问题,是一个感性的问题。对于可以离线优化的指标,应该在给定覆盖率、多样性、新颖性等限制条件下,尽量优化预测准确度。即:
最大化预测准确度
使得:覆盖率>A
-------- 多样性>B
-------- 新颖性>C
ABC视不用的应用而定。

1.3.3评测维度

增加评测维度的目的是指导一个算法在什么情况下性能最好,可以为融合不同算法取得整体的性能最优带来参考。主要有以下三种评测维度:
用户维度:用户的人口统计学信息、活跃度、是不是新用户。
物品维度:物品的属性信息、流行度、平均分和是不是新加入的物品
时间维度:季节、是工作日还是周末、是白天还是晚上

参考文献
项亮. 推荐系统实践[M]. 人民邮电出版社, 2012.

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
使用 JavaScript 编写的记忆游戏(附源代码)   项目:JavaScript 记忆游戏(附源代码) 记忆检查游戏是一个使用 HTML5、CSS 和 JavaScript 开发的简单项目。这个游戏是关于测试你的短期 记忆技能。玩这个游戏 时,一系列图像会出现在一个盒子形状的区域中 。玩家必须找到两个相同的图像并单击它们以使它们消失。 如何运行游戏? 记忆游戏项目仅含 HTML、CSS 和 JavaScript。谈到此游戏的功能,用户必须单击两个相同的图像才能使它们消失。 点击卡片或按下键盘键,通过 2 乘 2 旋转来重建鸟儿对,并发现隐藏在下面的图像! 如果翻开的牌面相同(一对),您就赢了,并且该对牌将从游戏中消失! 否则,卡片会自动翻面朝下,您需要重新尝试! 该游戏含大量的 javascript 以确保游戏正常运行。 如何运行该项目? 要运行此游戏,您不需要任何类型的本地服务器,但需要浏览器。我们建议您使用现代浏览器,如 Google Chrome 和 Mozilla Firefox, 以获得更好、更优化的游戏体验。要玩游戏,首先,通过单击 memorygame-index.html 文件在浏览器中打开游戏。 演示: 该项目为国外大神项目,可以作为毕业设计的项目,也可以作为大作业项目,不用担心代码重复,设计重复等,如果需要对项目进行修改,需要具备一定基础知识。 注意:如果装有360等杀毒软件,可能会出现误报的情况,源码本身并无病毒,使用源码时可以关闭360,或者添加信任。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值