推荐系统实践读书笔记(一):好的推荐系统

设计一个推荐系统之前,一定要了解什么样的推荐系统才是好的推荐系统至关重要。那么一个优秀的推荐系统具有哪些特征呢?(量化或者概念性的特征)
通过以下三个步骤回答一个优秀的推荐系统是什么样的
1)什么是推荐系统、推荐系统的主要任务、推荐系统和分类目录以及搜索引擎的区别
2)不同领域分门别类的介绍目前业界常见的个性化推荐应用
3)介绍推荐系统的评测

什么是推荐系统

首先书中引入了一个买花生米的例子,你可以根据实际情况选择时到家附近的便利店或者沃尔玛或者淘宝去买,
这个例子描述的是在用户有着明确需求(买花生米)的情况下,面对信息过载所采用的措施。
(这种情况下用户一般是按经验(便利店),分类信息(沃尔玛),或者搜索引擎(淘宝)找到自己需要的商品)

但是如果用户没有明确的需求呢?

信息过载时代,无论是信息消费者还是信息生产者都遇到了很大的挑战:
作为信息消费者,如何从大量的信息中找到自己感兴趣的信息是一件非常困难的事情;
作为信息生产者,如何让自己生产的信息脱颖而出,而受到广大用户关注,也是一件非常困难的事情

推荐系统的任务就是联系用户和信息,一方面帮助用户发现对自己有价值的信息,另一个方面让信息能够展现在对它感兴趣的用户面前,从而实现信息消费者和信息生产者的双赢。
在这里插入图片描述
为了解决信息过载的问题,提出过很多的解决方案,其中代表性的有分类目录和搜索引擎
随着互联网规模的不断扩大,分类目录网站也只能覆盖少量的热门网站,越来越不能满足用户需求。
搜索引擎需要用户主动的提供准确的关键词来寻找信息,与搜索引擎不同的是,推荐系统不需要用户提供明确的需求,而是通过分析用户的历史行为给用户的兴趣建模,从而主动给用户推荐能够满足他们兴趣和需求的信息。

推荐系统和搜索引擎对于用户来说是两个互补的工具。
在这里插入图片描述
什么是推荐系统结论:
推荐系统就是自动联系用户和物品的一种工具,它能够在信息过载的的环境中帮助用户发现令他们感兴趣的信息,也能够将信息推送给对它们感兴趣的用户。

1.2个性化推荐系统的应用

和搜索引擎不同,个性化推荐系统需要依赖用户的行为数据,一般都是作为一个应用存在与不同的网站中(意思就是作为一个组件嵌入一个整体系统中)

个性化推荐系统在网站中的主要作用是通过分析大量用户行为日志,给不同的用户提供不同的个性化页面展示,来提高网站的点击率和转换率。

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

1.3推荐系统评测

一个完整的推荐系统一般存在三个参与方:用户、物品提供者和提供推荐系统的网站。以图书推荐为例,
1)推荐系统需要满足用户的需求,给用户推荐那些令他们感兴趣的图书
2)推荐系统要让各出版社的书都能够被推荐给对其感兴趣的用户,而不是只推荐几个大型出版社的书。
3)好的推荐系统设计,能够让推荐系统本身收集到高质量的用户反馈,不断完善推荐的质量,增加用户与网站的交互,提高网站的收入。

因此评测一个推荐算法时,需要同时考虑三方的利益,令三方共赢、

推荐系统实验方法:
推荐系统中,主要有3种评测推荐效果的实验方法:即离线实验、用户调查和在线实验

1)离线实验
离线实验的方法一般由如下几个步骤构成:
1)通过日志系统获得用户行为数据,并按照一定格式生成一个标准的数据集
2)将数据集按照一定的规则分成训练集合测试机
3)在训练集上训练用户兴趣模型,在测试集上进行预测
4)通过事先定义的离线指标评测算法在测试集上的预测结果。
推荐系统的离线实验都是在数据集上完成的,不需要一个实际的系统来供他实验。
优点:不需要真实用户参与,可以直接快速的计算出来,从而方便快速的测试大量不同的算法
缺点:无法获得很多商业上关注的指标,如点击率、转换率等。而找到和商业指标非常相关的离线指标也是很困难的事情。

2)用户调查(略)
3)在线实验
推荐系统上线在AB测试,将它和旧的算法进行比较。
AB测试时一种很常见的在线评测算法的实验方法。它通过一定的规则将用户随机分成几组,并对不同组的用户采用不同的算法,然后通过统计不同组用户的各种不同的评测指标比较不同算法。
AB测试的优点是可以公平获得不同算法实际在线时的性能指标,包括商业上关注的指标。
AB测试的缺点主要是周期长,必须进行长期的实验才能得到可靠的结果。
一般用它来测试那些在离线实验和用户调查中表现比较好的算法。

评测指标:

1)用户满意度
只能通过用户调查或者在线实验获得
在在线系统中,用户满意度主要通过一些对用户行为的统计得到。
2)预测准确度
预测准确度度量一个推荐系统或者推荐算法预测用户行为的能力。这个指标是最重要的推荐系统离线评测指标。(可以通过离线实验计算)
评分预测:评分预测的准确度一般都是通过均方根误差和平均绝对误差计算

均方根误差(RMSE)定义如下:

R M S E = s q r t ( u , i T ( r u i r u i ) 2 ) T RMSE=\frac{sqrt(\displaystyle\sum_{u,i∈T}(r_{ui}-r'_{ui})^2)}{|T|}

平均绝对误差:
M A E = u , i T r u i r u i T MAE=\frac{\displaystyle\sum_{u,i∈T}|r_{ui}-r'_{ui}|}{|T|}

关于RMSE和MAE这两个指标的优缺点:RMSE加大了对预测不准的用户物品评分的惩罚(平方项的惩罚),因而对系统的评测更加苛刻。

TopN推荐:网站在提供推荐服务时,一般是给用户一个个性化的推荐列表,这种推荐叫做TopN推荐。
TopN推荐的预测准确率一般通过
准确率和召回率
度量。

令R(u)是根据用户在训练集上的行为给用户作出的推荐列表,而T(u)是用户在测试集上的行为列表。那么,推荐结果的召回率定义为:
R e c a l l = u U R ( u ) T ( u ) u U T ( u ) Recall=\frac{\displaystyle\sum_{u∈U}|R(u)∩T(u)|}{\displaystyle\sum_{u∈U}|T(u)|}

准确率: P e r c i s i o n = u U R ( u ) T ( u ) u U R ( u ) Percision=\frac{\displaystyle\sum_{u∈U}|R(u)∩T(u)|}{\displaystyle\sum_{u∈U}|R(u)|}

为了全面的评测TopN推荐的准确率和召回率,一般会选择不同的推荐列表长度N,计算出一组准确率和召回率,然后画出准确率和召回率曲线。

**覆盖率:**描述一个推荐系统对物品长尾的发掘能力。最简单的定义为推荐系统能够推荐出来的物品占总物品集合的比例。
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_16608563/article/details/85986375