推荐系统基础之推荐系统简介

1.推荐系统概述

什么是推荐系统?字面意义上理解,推荐系统就是向他人进行推荐的系统。当我们每天打开B站,首页上推送的视频并非是经过我们搜索得到的,而是由背后的算法以一定的方式(例如根据你的浏览历史分析你的兴趣,或是参考近期的热门视频)选择的其中一些我们可能会感兴趣的视频,这就是一个推荐系统。也就是说,推荐系统是沟通用户与商品之间的桥梁,是实现用户-商品-供应商之间利益最大化的手段。
如今,推荐系统已经得到了广泛应用,例如音乐推荐、电影推荐、短视频推荐、商品推荐等等。从中我们可以发现推荐系统应用的两个条件,一是信息过载,即有大量的视频或音乐让我们无从选择,二是用户没有明确的需求,即我们并没有明确此刻想要听什么音乐、看什么视频,无法直接搜索,在这些条件下,一个个性化、智能化的推荐系统无疑能够很好地实现我们的需求。
那么,我们要如何去评价一个推荐系统的好坏呢?

2.推荐系统评测

对于一个推荐系统,我们可以采用三种实验方法进行评测:

  • 离线实验
    通过系统日志采集的的用户数据进行训练,然后根据算法的预测结果进行评估。这种方法无需用户参与,可以简单、快速地进行评估,但这种方法无法获得商业上关注的一些指标。
  • 用户调查
    直接调查用户对推荐系统的满意度可以获得用户的直观感受,但这种方法很难招募大规模的测试用户,使得测试结果统计意义不足。
  • 在线实验
    A/B测试是一种常用的在线实验方法,对一部分用户采用旧算法,而对另一部分用户采用新算法,根据对结果的评估就能比较两个算法的优劣。但这种方法一般需要较长的实验周期。
    一般来说,一个新的推荐算法的最终上线,需要完成以上三个实验。

对于实验结果,需要一些量化的指标进行评估,对于一个推荐系统,主要有以下几个评估指标:

  • 用户满意度
    这个指标只能通过用户调查和在线实验获得,其中在线实验一般是通过统计用户的线上行为来获得购买率、停留时间或转化率等数据,以此来判断用户的满意度。
  • 预测准确度
    预测准确度用于度量一个推荐系统对用户行为的预测能力,是最重要的离线评测指标。预测准确度指标包括两种:
    一种是评分预测,许多网站都会有对推荐的物品打分的功能,评分预测即是根据用户的历史评分或浏览数据预测用户对某物品的评分。评分预测的预测准确度可采用均方根误差(RMSE)和平均绝对误差(MAE)来算。
    RMSE
    MAE
    另一种是TopN推荐,即网站并非只向用户推荐一个物品,而是推荐一个包含N个物品的列表。TopN推荐的预测准确度可采用准确率(Precision)和召回率(Recall)来计算。准确率是指所预测为正例的样本中实际确实为正例的概率,而召回率则是在所有实际为正例的样本中可以准确预测出为正例的概率。
    在这里插入图片描述
    在这里插入图片描述
  • 覆盖率
    覆盖率描述一个推荐系统对长尾发掘的能力,简单来说,就是指推荐系统是否能将每个物品都推荐出去,不论热门或是非热门的商品,每个商品都能得到推荐,并且所有商品得到推荐的次数差不多。这个指标通常采用信息熵和基尼系数来计算。
    信息熵的计算公式如下,其中 p ( i ) p(i) p(i)为该物品流行度除以总流行度:
    在这里插入图片描述
    基尼系数是经济学中的一个指标,其计算原理如下图:
    在这里插入图片描述
    我们将物品按热门程度在x轴上从低到高排列,则黑色曲线表示x%的物品的流行度之和占总流行度的比例,左侧的物品热门程度低,所以他们的流行度之和(即y值)虽然在升高,但总体占比较低,而右侧物品热门程度高,所以y值快速升高,因此黑色曲线呈现出下凹的形状,不会超过直线y=x。于是我们就可以根据A的面积占A与B总面积的比例( S A / ( S A + S B ) S_A/(S_A+S_B) SA/(SA+SB),即基尼系数的定义)来判断推荐系统的覆盖率。当覆盖率高时,即使是非热门的商品也能具有与热门商品差不多的流行度,因此,黑色曲线会更靠近直线y=x, S A S_A SA较小,基尼系数也较小。由此,我们就得到了基尼系数的计算公式,其中 p ( i j ) p(i_j) p(ij)表示按流行度从小到大排列的第j个物品的流行度:
    在这里插入图片描述
  • 多样性
    推荐列表往往需要是多样的,能够覆盖用户的大多数兴趣点。多样性指标描述的是物品的不相似性,那么 1 − 相 似 性 1-相似性 1就能表示多样性,假设以 s ( i , j ) ∈ [ 0 , 1 ] s(i, j)\in[0, 1] s(i,j)[0,1]定义物品i和物品j的相似度,那么对于某用户 u u u给出的推荐列表 R ( u ) R(u) R(u)中,所有物品的相似度即为任意两两物品的相似度之和乘以这对物品在所有物品中的概率,这个概率即为 1 C n 2 \frac{1}{C_n^2} Cn21,其中 C n 2 C_n^2 Cn2表示从推荐列表的n个物品中取出的两个物品的所有可能组合, C n 2 C_n^2 Cn2展开来即可写成 1 2 n ( n − 1 ) \frac{1}{2}n(n-1) 21n(n1),于是推荐系统对某用户 u u u给出的推荐列表的多样性就可以写成以下公式,公式中用 ∣ R ( u ) ∣ |R(u)| R(u)来表示 n n n
    在这里插入图片描述
    而推荐系统对所有用户的推荐列表的整体多样性即为:
    在这里插入图片描述
    其中 ∣ U ∣ |U| U表示用户个数。
  • AUC值
    当我们以假正例率为横坐标,真正例率为纵坐标画一条如下图所示的ROC曲线,该曲线下的面积即为AUC值。
    在这里插入图片描述
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值