想要了解一下推荐系统的相关内容,所以就看了 项亮大神的《推荐系统实践》,200多页,内容浅显易懂,又讲了很多小细节的东西,书的内容很棒!
上个封面图,感兴趣的可以去看一下,里面附带了简单的公式和python代码,易懂!
下面结合书的内容做一下小结。
1.什么是推荐系统
随着信息技术和互联网的发展,人们逐渐从信息匮乏的时代走入了信息过载的时代。为了解决 信息过载 的问题,先后出现了如下的解决方案:
- 分类目录 代表公司:雅虎、Hao123,但是随着互联网规模不断扩大,分类目录网站只能覆盖少量的热门网站
- 搜索引擎 代表公司:Google、百度,用户通过关键词搜索找到自己需要的信息。
- 推荐系统 由于搜索引擎需要用户提供明确的关键词,但是有时候用户无法找到准确描述自己需求的关键词,这时候就需要推荐系统了。
推荐系统不需要用户提供明确的需求,通过分析用户的历史行为给用户的兴趣进行建模,从而主动给用户推荐能够满足他们兴趣和需求的信息。
所以它存在的两个前提点:
- 信息过载;
- 用户需求不明确
2.推荐系统的本质
本质:连接了用户和物品,一方面帮助用户发现对自己有价值的信息,另一方面让信息能够展示在对它感兴趣的用户面前。
主要任务:发现长尾商品。不热门的商品数量极其庞大,主流商品往往代表了绝大多数用户的需求,长尾商品往往代表了一小部分用户的个性化需求。
3.推荐系统的主流算法
详情请看文章 -- 推荐系统浅谈系列(二) - 主流算法
4.推荐系统中的用户行为
个性化推荐算法通过对用户行为的深度分析,可以给用户带来更好的使用体验。用户的行为不是随机的,而是蕴含着很多模式。数据挖掘领域最著名的就是“啤酒与尿布”的故事了。从算法设计的角度来看,它说明了用户行为数据中蕴含着很多不是那么显而易见的规律。利用用户行为数据进行分析的算法一般是协同过滤算法。
用户行为一般分两种:
- 显性反馈行为:用户明确表示对物品喜好的行为。主要方式是评分和喜欢/不喜欢。例如YouTube早期的5分评分系统以及后来改进的两档评分系统
- 隐形反馈行为:不能明确反应用户喜好的行为。最有代表性的就是页面浏览行为
下面列出各领域的网站中这两种行为的例子:
显性反馈 - 隐性反馈5.推荐系统的评测指标
- 用户满意度。最重要的评测指标。可以通过购买行为、点击率、用户停留时间、转化率等 指标度量
- 预测准确度。度量系统预测用户行为的能力。评分预测(预测用户对物品会打多少分)的预测准确度通过RMSE(均方根误差)和MAE(平均绝对误差)计算;TOPN推荐(给用户推荐包含N个物品的列表)预测准确度通过precision(准确率)和recall(召回率)计算
- 覆盖率。推荐系统对长尾物品的发掘能力,可简单理解为推荐系统能够推荐出来的物品站总物品集合的比例。
- 多样性。推荐列表需要能够覆盖用户不同的兴趣领域(比如某用户既喜欢看动漫又喜欢看武侠片)
- 新颖性。给用户推荐那些他们以前没有听过的物品
- 惊喜度。推荐结果和用户历史上喜欢的物品不相似,但是用户又觉得满意的推荐
- 信任度。以电商平台为例,同样的推荐结果,以让用户信任的方式推荐给用户更能让用户产生购买欲,而以广告的形式推荐给用户就可能难以让用户产生购买的意愿。
- 实时性。由于物品(新闻、微博等)具有很强的时效性,需要将物品在还具有时效性时就将它们推荐给用户。
- 健壮性。衡量推荐系统抗击作弊的能力,通过模拟攻击来评测。
- 商业目标。最本质的商业目标是平均一个用户给公司带来的盈利。不同网站商业目标不同,电商网站可能是销售额,基于展示广告盈利的网站可能是广告展示数,基于点击广告盈利的网站可能是广告点击总数。
在评测时,还要考虑到评测维度,目的是知道一个算法在什么情况下性能最好,常用评测维度有如下3种:
- 用户维度。主要包括用户的人口统计信息、活跃度及是不是新用户等
- 物品维度。包括物品的属性信息、流行度、平均分以及是不是新加入的物品等
- 时间维度。包括季节、是工作日还是周末、是白天还是晚上等
微信公众号:
产品新人学习路 ( i-pm-road),欢迎交流
(๑•ᴗ•๑)
网友评论