学习参考书籍:《推荐系统实践》–项亮
第一章 好的推荐系统
1.1 什么是推荐系统
1.推荐系统的基本任务是联系用户和物品,解决信息过载的问题
2.从某种意义上说,推荐系统和搜索引擎对于用户来说是两个互补的工具。搜索引擎满足了用户有明确目的时的主动查找需求,而推荐系统能够在用户没有明确目的的时候帮助他们发现感兴趣的新内容。
用户面对很多选择时做决定的方式
- 社会化推荐,即让好友给自己推荐物品
- 基于内容的推荐(content-based filtering)(历史、兴趣、相似)
- 基于协同过滤(collaborative filtering)的推荐(如:找到和自己历史兴趣甚至注册信息相似的一群用户)
- 从上可看出,推荐算法的本质是通过一定的方式将用户和物品联系起来,而不同的推荐系统利用了不同的方式。
综上,推荐系统就是自动联系用户和物品的一种工具,它能够在信息过载的环境中帮助用户发现令他们感兴趣的信息,也能将信息推送给对它们感兴趣的用户。
1.2 个性化推荐系统的应用
和搜索引擎不同,个性化推荐系统需要依赖用户的行为数据。尽管不同的网站使或app采用不同的推荐系统技术,但总地来说,几乎所有的推荐系统应用都是由前台的展示页面、后台的日志系统以及推荐算法系统3部分构成的。
1.2.1 Amazon的个性化推荐和相关推荐
1.2.3 音乐推荐系统的特别性
物品空间大、 消费每首歌的代价很小、 物品种类丰富、 听一首歌方便随意、 物品重用率很高、 用户充满激情、 用户口味很受实时情况影响、 播放次序有可能有规律、 很多播放列表资源、 不需要用户全神贯注、 高度社会化…
1.3 推荐系统评测
一个好的推荐系统是能够令用户、商家(内容提供方)以及网站或APP三方共赢的系统。比如:拓宽用户视野、帮助商家将埋没在长尾中的好商品介绍给可能会对它们感兴趣的用户、让推荐系统本身收集到高质量的用户反馈,不断完善推荐质量,增加交互,提高网站收入……
1.3.1 推荐系统实验方法
主要有离线实验、用户调查、在线实验三种,各有优缺点。
- 离线实验:日志系统、数据集、离线指标
- 用户调查:控制成本、结果的统计意义、测试用户的分布、双盲实验、测试环境下
- 在线实验(一般建立在前两者基础上):AB测试(公平获得不同算法实际在线时的性能指标)、切分流量(避免前端、后台、推荐系统等过多互相影响)
- 对于可以离线优化的指标,应尽量优化预测准确度(成本低)。
1.3.2 评测指标
-
用户满意度
*没有办法离线计算,只能通过用户调查或者在线实验获得。*调查问卷不是简单地询问用户对结果是否满意,而是从不同的侧面询问用户对结果的不同感受,需要考虑各方面.。
*在在线系统中,用户满意度主要通过一些对用户行为的统计得到,如:购买率、点击率、用户停留时间、转化率等。
-
预测精准度*
*最重要的推荐系统离线评测指标。
*离线的数据集按一定规则分为训练集和测试集,然后通过在训练集上建立用户的行为和兴趣模型预测用户在测试集上的行为,并计算预测行为和测试集上实际行为的重合度作为预测准确度。*评分预测:预测用户对物品评分的行为,一般通过均方根误差(RMSE)和平均绝对误差(MAE)计算。可以认为RMSE加大了对预测不准的评分的惩罚(平方项的惩罚),因而对系统的评测更加苛刻。
*Top N推荐:网站在提供推荐服务时,一般是给用户一个个性化的推荐列表,这种推荐叫做TopN推荐,一般通过准确率(precision)/召回率(recall)度量。
-
覆盖率
*覆盖率(coverage)描述一个推荐系统对物品长尾的发掘能力。覆盖率有不同的定义方法,最简单的定义为推荐系统能够推荐出来的物品占总物品集合的比例。*但是上面的定义过于粗略。覆盖率为100%的系统可以有无数的物品流行度分布。为了更细致地描述推荐系统发掘长尾的能力,需要统计推荐列表中不同物品出现次数的分布。如果所有的物品都出现在推荐列表中,且出现的次数差不多,那么推荐系统发掘长尾的能力就很好。
*信息论和经济学中有两个著名的指标可以用来定义覆盖率,分别是信息熵和基尼系数。
*关注马太效应(强者更强,弱者更弱)。
-
多样性
*推荐系统的整体多样性可以定义为所有用户推荐列表多样性的平均值 -
新颖性
*把那些用户之前在网站中对其有过行为的物品从推荐列表中过滤掉,和用推荐结果的平均流行度来度量新颖性比较粗略。
*要准确地统计新颖性需要做用户调查。 -
惊喜度(serendipity)
-
信任度
可以通过增加系统透明度和考虑社交信息来增加信任度。 -
实时性
-
健壮性–抗击作弊的能力
*算法健壮性的评测主要利用模拟攻击
*也可考虑设计推荐系统时使用代价比较高的用户行为 -
商业目标
1.3.3 评测维度
- 可以为融合不同推荐算,来法取得最好的整体性能带来参考。
- 一般可分为用户维度、物品维度、时空维度。