推荐系统入门须知
Posted AI干货铺
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了推荐系统入门须知相关的知识,希望对你有一定的参考价值。
前言
本文是读《推荐系统实战》第一章整理出来的笔记,主要介绍了推荐系统的基本概念、个性化推荐系统的应用以及推荐系统评测三个方面的内容,是开始学习推荐系统需要掌握的基本内容。
两个重要名词概念
物品:泛指可以供用户消费的东西,比如信息、商品、服务等; 长尾(long tail):指原来不受到重视的销量小但种类多的产品或服务由于总量巨大,累积起来的总收益超过主流产品的现象
什么是推荐系统
-
概念
推荐系统与搜索引擎一样,基本任务是联系用户和物品,解决信息过载的问题。
不过与搜索引擎不同的是,推荐系统面向的是需求不明确的用户。需求明确的用户知道什么是自己想要的,比如你中午饿了,便打开美团搜索自己常吃的店,点上自己想吃的,下单付款,一气呵成。而如果你皱着眉头浏览着美团里的各种美食,例行一问:今天吃什么哈?那就是需求不明确,此时就要靠推荐系统来推荐你可能喜欢的美食了。
-
工作原理
推荐系统有以下三种工作方式/原理:
假如你今天很无聊,想看下电影,那么你如何决定看什么电影呢?
-
社会化推荐,即让好友给自己推荐物品。比如你在微信或者QQ上问朋友:最近有啥好电影推荐? -
基于内容的推荐,即分析用户的历史记录,找到与历史里的物品相似的物品推荐给用户。比如你看过很多周星驰的电影,有几部没看过,那么推荐系统就会将其推荐给你。 -
基于协同过滤的推荐,利用人以群分的思想,找到与自己历史兴趣相似的一群用户,将他们的看过但你没看过的电影推荐给你。
工作原理总结起来就是,利用一定的方式,将用户与物品联系起来,常用方式就比如利用好友、用户的历史兴趣以及用户的注册信息等。
个性化推荐系统的应用
-
电子商务
-
帮助用户在浩瀚的商品库中找到其喜欢的、感兴趣的商品
-
比如淘宝、京东、拼多多等
-
电影和视频网站
-
推荐令用户感兴趣的视频 -
比如腾讯视频、爱奇艺、优酷、抖音、快手等
-
个性化音乐网络电台
-
推荐符合你音乐审美的音乐
-
比如网易云音乐、QQ音乐、酷狗等
-
社交网络
-
推荐可能认识的好友
-
比如QQ、微信、微博等
-
基于位置的服务
-
美团、饿了么等
-
个性化邮件
-
如有Gmail -
找到对用户重要的邮件让用户优先浏览,提高工作效率 -
个性化阅读
-
推荐用户感兴趣的文章 -
今日头条、豆瓣、知乎等 -
个性化广告
-
定向投放,比如给男性投放西装广告,女性投放化妆品广告
推荐系统评测
如何验证推荐效果
1. 离线实验
-
通过日志系统获得用户行为数据,并按照一定格式生成一个标准的数据集;
-
将数据集按照一定的规则分成训练集和测试集;
-
在训练集上训练用户兴趣模型,在测试集上进行预测;
-
通过事先定义的离线指标评测算法在测试集上的预测结果。
2. 用户调查
-
招募测试用户完成用户调查
3.在线实验
-
AB测试:通过一定的规则将用户随机分成几组, 并对不同组的用户采用不同的算法,然后通过统计不同组用户的各种不同的评测指标比较不同算法,比如可以统计不同组用户的点击率,通过点击率比较不同算法的性能。
一般来说,一个新的推荐算法最终上线,需要完成上面所说的3个实验:离线实验——>用户调查——>AB测试
评测指标——衡量推荐系统的各方面的性能
1. 用户满意度(在线评测指标)
用户作为推荐系统的重要参与者,其满意度是评测推荐系统的最重要指标。但是,用户满意度没有办法离线计算,只能通过用户调查或者在线实验获得。
-
用户调查:利用调查问卷得到。 -
在线实验:对用户行为统计得到。 -
购买率,比如用户买了推荐的商品,表示用户在一定程度上的满意 -
使用用户反馈界面收集用户满意度 -
使用点击率、用户停留时间、转换率等指标度量
2. 预测准确度(离线评测最重要的指标)
在计算该指标时需要有一个离线的数据集,该数据集包含用户的历史行为记录。然后,将该数据集通过时间分成训练集和测试集。最后,通过在训练集上建立用户的行为和兴趣模型预测用户在测试集上的行为,并计算预测行为和测试集上实际行为的重合度作为预测准确度。
常见的需要预测准确度的研究问题可分为以下两个:
(1)评分预测
-
概念:预测用户对物品评分的行为称为评分预测,根据得到的评分对物品排序后推荐给用户。
-
评价指标:
-
两个指标的缺点:RMSE加大了对预测不准的用户物品评 分的惩罚(平方项的惩罚),因而对系统的评测更加苛刻。如果评分系统是基于整数建立的(即用户给的评分都是整数),那么对预测结果取整会降低MAE的误差
(2)TopN推荐
-
概念:给用户一个个性化的推荐列表,这种推荐叫做TopN推荐,比如网易云音乐中的每日推荐包含30首推荐歌曲。
-
评价指标:准确率/召回率
3.覆盖率
-
概念:描述一个推荐系统对物品长尾的发掘能力。
-
定义: 推荐系统能够推荐出来的物品占总物品集合的比例
假设系统的用户集合为 , 推荐系统给每个用户推荐一个长度为N的物品列表 :
4.多样性
概念:用户的兴趣是广泛的,推荐列表需要能够覆盖用户不同的兴趣领域。
公式定义
比如视频网站的一个用户80%时间在看动漫,20%时间在看纪录片,给其推荐10部片子,可以包含8部动漫,2部纪录片。
推荐系统的整体多样性定义为所有用户推荐列表多样性的平均值:
5. 新颖性
-
概念:给用户推荐那些他们以前没有听说过的物品。 -
比如一个用户喜欢周星驰的电影,推荐系统给其推荐了该用户没看过的周星驰的一个电影,那么这个结果具有新颖性。
6. 惊喜度
-
概念:令用户惊喜的推荐结果是和用户历史上喜欢的物品不相似,但用户却觉得满意的推荐。比如一个用户喜欢周星驰的电影,推荐系统给他推了部没看过的张艺谋的电影,用户看完后觉得电影很不错,那么该推荐是让用户惊喜的。注意区分新颖性和惊喜度。 -
从概念上看,计算惊喜度首先需要定义推荐结果和用户历史上喜欢的物品的相似度,然后计算用户对推荐结果的满意度
7.信任度
-
概念:衡量用户对推荐结果的信任度,该指标只能通过问卷调查得到
-
提高推荐系统的信任度可通过:
(1)增加推荐系统的透明度:给推荐结果一个解释,比如QQ的好友推荐中会根据共同好友数给出一个解释
-
(2)利用好友的信息做推荐解释,比如给用户显示推荐的商品是好友购买过的
8. 实时性
(1)实时地更新推荐列表来满足用户新的行为变化。
(2)能够将新加入系统的物品推荐给用户,衡量系统处理冷启动问题的能力
9.健壮性
-
衡量推荐系统抗击作弊的能力(作弊如注入攻击、水军评分)
10.商业目标
-
电子商务网站——>营业额 -
基于广告盈利的网站——>广告展示总数 -
基于点击广告盈利的网站——>广告点击率
总结
对于可以离线优化的指标,在给定覆盖率、多样性、新颖性等限制条件下,尽量优化预测准确度。用一个数学公式表达,离线实验的优化目标是:
评测维度
不同情况下推荐系统的性能不同,评测维度可以让我们知道一个算法在什么情况下性能最好
-
用户维度:主要包括用户的人口统计学信息、活跃度以及是不是新用户等 -
物品维度:包括物品的属性信息、流行度、平均分以及是不是新加入的物品等。 -
时间维度:包括季节,是工作日还是周末,是白天还是晚上等。
如果能够在推荐系统评测报告中包含不同维度下的系统评测指标,就能帮我们全面地了解推 荐系统性能,找到一个看上去比较弱的算法的优势,发现一个看上去比较强的算法的缺点。
- END -
以上是关于推荐系统入门须知的主要内容,如果未能解决你的问题,请参考以下文章