读书笔记:推荐系统实践-第一章-好的推荐系统

本文深入探讨推荐系统的原理,包括基于内容的推荐、协同过滤等算法,及其在电商、音乐、视频、社交网络等领域的广泛应用。同时,分析推荐系统评估方法,如离线实验、在线实验及用户调查,讨论准确性、覆盖率、多样性等关键指标。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、什么是推荐系统?

推荐系统作用可以解决信息过载的问题

  • 帮助用户发现对自己有价值的信息
  • 让信息能够展现在对它感兴趣的用户面前,从而实现信息消费者和信息生产者的双赢

推荐系统和搜素引擎是互补工具

  • 搜索隐形满足了用户有明确目的时的主动查找需求
  • 推荐系统能在用户没有明确目的时候帮助他们发现感兴趣的内容

推荐算法的本质是通过一定的方式将用户和物品联系起来,而不同的推荐系统利用了不同的方式。

  • 基于内容的推荐
  • 基于协同过滤
  • 。。。

2、个性化推荐系统的应用

几乎所有的推荐系统应用都是由前台的展示页面,后台的日志系统以及推荐算法系统三部分构成的。

2.1 电子商务

对象:亚马逊(20%-30%)

  • 个性化推荐
    • 展示页面
      • 推荐结果的标题、缩略图以及其他内容属性
      • 推荐结果的平均分
      • 推荐率
      • fix the recommendation(修正推荐):加入购物车,加入心愿单,给书打分,我已经有这本书了,对这本书枚兴趣
    • 推荐算法
      • 基于物品,推荐和用户之前喜欢的物品相似的物品
      • 按照用户在Facebook的好友关系,给用户推荐他们的好友在亚马逊上喜欢的物品
  • 相关推荐
    • 展示页面
      • 产品缩略图,标题,打分,价格
    • 推荐算法
      • 购买了这个商品的用户也经常购买的商品
      • 浏览了这个商品的用户也疆场购买的物品
    • 应用:打包销售

2.2 电影和视频网站

Netflix

  • 展示界面
    • 电影的标题和海报
    • 用户返回模块:播放、评分、不感兴趣
    • 推荐理由
  • 推荐算法:基于物品的推荐算法

YouTube、Hulu

2.3 个性化音乐网络电台

为什么音乐很适合推荐?

  • 用户往往面临着信息过载的问题
  • 用户没有明确的要求

Pandora

  • 展示界面:不允许用户点歌,允许用户(喜欢,不喜欢,跳过),经过用户的反馈,从历史信息中学习用户的新区模型
  • 推荐算法:人工对歌曲进行标注,基于专家标注的基因计算歌曲的相似度

Last.fm

  • 推荐算法:没有进行专家标注,而是利用用户的行为计算歌曲的相似度
  • 社交网络:用户可以和其他用户建立联系,并推荐喜欢的歌曲

音乐推荐的特点

  • 物品空间大
  • 消耗每首歌的代价小
  • 物品种类丰富
  • 听一首歌耗时很少
  • 物品重用率很高
  • 用户充满激情
  • 上下文相关
  • 次序很重要
  • 很多播放列表资源
  • 不需要用户全神贯注
  • 高度社会化

2.4 社交网络

主要应用场景(以Facebook为例):

  • 利用用户的社交网络信息对用户进行个性化的物品推荐:开发了Instant Personalization的API来实现网站的个性化
  • 信息流的会话推荐:开发了EdgeRank算法对会话进行排序
  • 给用户推荐好友

2.5 个性化阅读

  • google reader:允许用户关注自己感兴趣的人,看到所关注的用户分享的文章
  • Zite:收集用户对文章的偏好信息
  • Digg:推荐和用户兴趣相似的用户喜欢的文章

2.6 基于位置的服务

往往和社交网络结合在一起
位置是一种很重要的上下文信息

2.7 个性化邮件

Tapestry:分析用户阅读邮件的历史行为和习惯对新邮件进行重新排序,从而提高用户的效率
谷歌:将用户感兴趣的邮件专门放到衣蛾专门的收件箱里

2.8 个性化广告

个性化广告推荐着重于帮助用户找到可能令他们感兴趣的物品,而广告推荐着重于帮助广告找到可能对它们感兴趣的用户。
个性化广告投放技术有三种:

  • 上下文广告
  • 搜索广告
  • 个性化展示广告

3、推荐系统测评

测评一个推荐算法需要同时考虑三方的利益

  • 推荐系统存在三个参与方:用户、物品提供者和提供推荐系统的网站。一个好的推荐系统,要满足用户的需求;要让所有提供商的物品都能够被推荐给感兴趣的用户;要让推荐系统本身收集到高质量的用户反馈,从而不断完善推荐的质量。

好的推荐算法并不是仅仅是准确的预测

3.1 推荐系统实验方法

离线实验

  • 优点:不需要真实用户参与,可以直接快速地计算出来,不需要有对实际系统的控制权
  • 缺点:无法获得很多商业上关注的指标,找到和商业指标非常相关的离线指标也很困难

用户调查

  • 优点:可以获得很多体现用户主观感受的指标,相对在线实验风险很低,出现错误后容易弥补
  • 缺点:招募测试用户的代价太大,很难组织大规模的测试用户,还需要保证用户的分布尽量真实

在线实验

  • 优点:可以公平获得不同算法实际在线时的性能指标
  • 缺点:周期比较长;大型网站的AB测试系统的设计也是复杂的工程,不同层的AB测试还会互相干扰

3.2 测评指标

用户满意度

  • 收集方法
    • 调查问卷:从不同的侧面询问用户对结果的不同感受
    • 在线实验:对用户的行为的统计,如用户满意度,点击率,用户停留时间,转化率

预测准确度

  • 评分预测(Netflix认为RMSE更为苛刻)

  • TopN推荐

  • 比较来看:TopN更符合实际的应用需求

覆盖率:尽可能覆盖更多的物品,并且热门和冷门推荐出现的次数差不多

  • 推荐系统的初衷是消除马太效应,但是很多研究表明现在主流的推荐算法是具有马太效应的。

多样性:覆盖用户不同的兴趣领域

新颖性:给用户推荐他们以前没有听说过的物品

  • 把用户之前有过行为的物品从推荐列表中过滤掉,越不热门越有可能让用户觉得新颖
  • 准确统计需要用户调查
  • 重点是在不牺牲精度的情况下提高多样性和新颖性

惊喜度(serendipity):推荐结果和用户的历史兴趣不相似,但却让用户觉得满意

  • 目前没有公认的惊喜度指标定义方式,基本思路是需要定义历史兴趣相似度和满意度指标

信任度

  • 只能用问卷调查
  • 增加信任度的方法
    • 增加推荐系统的透明度(提供推荐解释)
    • 考虑用户的社交网络信息,利用用户的好友信息给用户做推荐,并且利用好友进行推荐解释
  • 例子:Epinion网站

实时度

  • 推荐系统需要实时更新推荐列表来满足用户新的行为变化,测评方案:推荐列表的变化速率
  • 推荐系统需要更改将新加入系统的物品推荐给用户,主要和物品冷启动有关,测评方案:推荐列表中有多大比例是当天新加的

健壮性:一个推荐系统抗击作弊的能力

  • 测评方法:模拟攻击,并比较攻击前后推荐列表的相似度来进行测评
  • 其他方法:
    • 设计推荐系统时尽量使用代价比较高的用户行为
    • 使用数据前,进行攻击检测,从而对数据进行清理

商业目标

  • 需要注重网站的商业目标是否达成
  • 不同的网站具有不同的商业目标

如何优化离线指标来提高在线指标?

  • 在给定覆盖率、多样性、新颖性等限制条件下,尽量优化预测准确度

3.3 测评维度

通过不同的测评维度,可以知道一个算法在什么情况下性能最好,为融合算法提供参考。

  • 用户维度
  • 物品维度
  • 时间维度
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值