作者:18cyl
时间:2021-8-22
一、推荐系统的定义
推荐算法的本质是通过一定的方式将用户和物品联系起来,而不同的推荐系统利用了不同的方式。(搜索引擎满足了用户有明确目的时的主动查找需求,而推荐系统能够在用户没有明确目的的时候帮助他们发现感兴趣的新内容)
二、推荐系统的应用
- 电子商务——亚马逊
- 推荐结果的标题、缩略图
- 推荐结果的平均分
- 推荐理由:
- 基于物品的推荐算法:给用户推荐那些和他们之前喜欢的物品相似的物品
- 协同过滤的推荐算法:根据用户在facebook上的好友关系,给用户推荐他们的好友在亚马逊上喜欢的物品。
- 购买了此商品的用户经常购买的其他商品
- 浏览过此商品的用户经常购买的其他商品
- 电影和视频网站——Netflix
- 电影的标题和海报
- 用户反馈模块
- 推荐理由:
- 基于物品的推荐算法:给用户推荐和他们曾喜欢的电影相似的电影。
- 个性化音乐网络电台
- Pandora:基于内容的推荐算法(音乐基因工程)
- Last.fm:协同过滤算法:给用户推荐和他有相似听歌爱好的其他用户喜欢的歌曲。
- 社交网络
- 利用用户的社交网络信息对用户进行个性化的物品推荐
- 信息流的会话推荐
- 给用户推荐好友
- 个性化阅读
- Google Reader:允许用户关注自己感兴趣的人,然后看到所关注用户分享的文章
- Zite:收集用户对文章的偏好信息
- 基于位置的服务
- 推荐在附近的行为
- 个性化邮件
- 根据用户的兴趣对邮件进行筛选排序
- 个性化广告
- 上下文广告:投放与网页内容相关的广告
- 搜索广告:通过用户的搜索记录,判断用户的搜索目的,投放和用户目的相关的广告
- 个性化展示广告:根据用户的兴趣投放广告
三、推荐系统评测
3.1 离线实验
- 根据日志生成标准的数据集
- 将数据集分为训练集和数据集
- 在训练集上优化用户感兴趣的算法,在测试集上做预测
- 通过定义的离线指标评测算法在测试集上的预测结果
优点:1、不需要对实际系统的控制权 2、不需要用户参与实验 3、速度快,可以测试大量算法
缺点:1、无法计算商业上关心的指标 2、离线实验的指标和商业指标存在差距
3.2 用户调查
- 需要一些真实用户
- 让用户在需要测试的推荐系统上完成一些任务
- 观察和记录用户行为,并让其回答一些问题
- 分析用户行为和答案了解测试系统的性能
优点:1、可以获得用户主观感受的指标 2、相对于在线实验风险很低,出现错误后很容易弥补
缺点:1、招募测试用户代价较大 2、设计双盲实验非常困难 3、用户在测试环境下的行为和真实环境下可能不足 4、很难组织大规模的测试用户,因此会使测试结果统计意义不足
3.3在线实验(常用AB测试)
- 上线推荐算法
- 将用户随机分为几组,并对不同组的用户采取不同的算法,然后通过统计不同组用户的各种不同评测指标比较不同算法,比如可以统计不同组用户的点击率
优点:公平获得不同算法实际在线时的性能指标,包括商业上关注的指标。
缺点:周期长。且AB实验的设计方案很难。很难看出是哪一步出现了问题。
3.4评测指标
- 用户满意度:通过用户调查或者在线实验获得。也可以通过点击率、用户停留时间和转化率等指标度量用户的满意度
- 预测准确率:度量一个推荐系统或者推荐算法预测用户行为的能力。这个指标是最重要的离线测评指标
- 评分预测:预测用户对物品评分的行为称为评分预测。(均方根误差与平均绝对误差)
- topN 推荐:给用户一个个性化的推荐列表
- 覆盖率:描述一个推荐系统对物品长尾的发掘能力。一般指能够推荐出来的物品占总物品集合的比例。(信息熵、基尼系数)
- 多样性:推荐列表需要能够覆盖用户不同的兴趣领域。(可以通过相似度衡量,相似度越小多样性越大)
- 新颖性:新颖的推荐是指给用户推荐那些他们以前没有听说过的物品。一般是指,与自己兴趣有交叉点,但是以往没有关注过的物品。
- 惊喜度:用户并不知道这个电影与自己以往的兴趣有什么相似点,但是莫名觉得这个被推荐物品很好。
- 信任度:是指推荐系统被用户信任。推荐系统需要用户知道自己是根据什么做出的推荐。
- 健壮性:推荐系统抗击作弊的能力
- 实时性:新闻、微博等物品的推荐具有很强的实时性。识别用户当前需求也有很强的实时性。
- 商业目标:根据不同的商业目标选用不同的推荐算法。