100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > 推荐系统组队学习——推荐系统概述

推荐系统组队学习——推荐系统概述

时间:2022-06-02 09:44:40

相关推荐

推荐系统组队学习——推荐系统概述

文章目录

一、推荐系统简介二、常用评测指标1. 用户满意度2. 预测准确度3. 覆盖率4. 多样性5. 新颖性6. AUC曲线三、召回1.召回层在推荐系统架构中的位置及作用2.多路召回策略3.Embedding召回

一、推荐系统简介

What

a. 用户:推荐系统是一种帮助用户快速发现有用信息的工具

b. 公司:推荐系统是一种增加公司产品与用户接触,购买等行为概率的工具Why

a. 用户:在用户需求并不十分明确的情况下进行信息的过滤,与搜索系统相比,推荐系统更多的利用用户的各类历史信息猜测其可能喜欢的内容

b. 公司:解决产品能够最大限度地吸引用户,留存用户,增长用户黏性,提高用户转化率,从而达到公司商目标连续增长的目的.

本质上是一种实现将用户-商品-公司之间利益最大化的手段.Who

从上面的1和2可以看出用户与公司是需要推荐系统的主要对象,那么可以在1和2的基础上展开想想什么样子的人需要推荐系统,以及什么样的公司需要推荐系统。

二、常用评测指标

1. 用户满意度

用户是推荐系统中非常重要的参与者,他们的满意度也直接决定了推荐系统的好坏。但是用户满意度这个指标无法离线计算,只能通过用户调查或者在线实验获得。这里在线实验一般是通过用户的线上行为统计得到的,比如电商场景中,用户如果购买了推荐的商品说明一定程度上他们是满意的,因此可以通过购买率度量用户的满意度;与购买率类似的点击率,用户停留时间和转化率等指标都可以用来度量用户的满意度。

2. 预测准确度

预测准确度是用来度量用户的实际行为与推荐系统预测结果的准确度,该指标是最重要的离线评价指标,因为可以通过离线计算得到,最常见的两个指标如下:

评分预测

预测用户对物品的评分行为成为评分预测。评分预测模型通过对用户的历史物品评分记录进行建模,进而得到用户的兴趣模型,然后使用该模型预测用户未未见过商品的评分。评分预测的预测准确度一般通过均方根误差(RMSE)和平均绝对误差(MAE)计算。

均方根误差:

平均绝对误差:

RMSE由于存在平方项,使得使得用户真实评分与推荐系统预测评分相差较大的用户加大了惩罚,即该评测指标对系统要求更加的苛刻

TopN推荐

推荐系统在给用户推荐物品的时候,往往会给用户一个列表的推荐物品,这种场景下的推荐成为是TopN推荐。该推荐方式最常用的预测准确率指标一般是精确率(precision)和召回率(recall),令R(u)为通过推荐模型得到的推荐列表,T(u)为用户在实际场景中(测试集)的行为列表。

精确率:分类正确的正样本个数占分类器判定为正样本的样本个数比例

召回率: 分类正确的正样本个数占真正的正样本个数的比例

3. 覆盖率

覆盖率是用来描述一个推荐系统对物品长尾的发掘能力。一个简单的定义可以是:推荐系统所有推荐出来的商品集合数占总物品集合数的比例。但是对于相同的覆盖率,不同物品的数量分布,或者说是物品的流行度分布是可以不一样的。为了更好的描述推荐系统挖掘长尾的能力,需要统计不同物品出现次数的分布,如果所有的物品都出现在推荐列表中,并且出现的次数都差不多,那么推荐系统发掘长尾的能力就很好,所以可以通过研究物品在推荐列表中出现的次数分布来描述推荐系统挖掘长尾的能力。如果这个分布比较平缓说明推荐系统的覆盖率比较高,而如果分布比较陡说明推荐系统的覆盖率比较低。下面分别使用信息熵和基尼系数来定义覆盖率:

信息熵定义: p(i)是物品 的流行度除以所有物品流行度之和

基尼系数定义: ij是按照物品流行度p从小到大排序的物品列表中第j个物品

4. 多样性

人的兴趣爱好通常是比较广泛的,所以一个好的推荐系统得到的推荐列表中应该尽可能多的包含用户的兴趣,只有这样才能增加用户找到感兴趣物品的概率。度量推荐列表中物品的多样性换句话说就是度量推荐列表中所有物品之间的不相似性,可以通过不同的相似性函数来度量推荐列表中商品的相似性。比如商品基于内容的相似,基于协同过滤的相似,这样就可以得到不同角度的多样性,令函数s(i,j)为物品i和物品j的相似性,那么用户推荐列表的多样性可以定义为:

推荐系统整体的多样性可以定义为所有用户推荐列表多样性的平均值:

5. 新颖性

满足推荐的新颖性最简单的方法就是给用户推荐他们之前没有看过的物品,但是每个用户没见过的物品数量是非常庞大的,所以一般会计算推荐物品的平均流行度。流行度越低的物品越有可能让用户觉得新颖,因此,如果推荐结果中的物品平均热门程度比较低说明推荐的结果就可能比较新颖

6. AUC曲线

AUC(Area Under Curve),ROC曲线下与坐标轴围成的面积

混淆矩阵,召回率,精确率,ROC曲线等概念

TP:真实值是真的,预测也是真FN:真实值是真的,预测为假FP:真实值是假的,预测为真TN:真实值是假的,预测也是假ROC曲线:横坐标为假阳性率,纵坐标为真阳性率

三、召回

1.召回层在推荐系统架构中的位置及作用

推荐系统架构中召回层与排序层是推荐系统的核心算法层,召回阶段负责将海量的候选集快速缩小为几万到几千的规模;而排序层则负责对缩小后的候选集进行精准排序

召回层:待计算的候选集合大、计算速度快、模型简单、特征较少,尽量让用户感兴趣的物品在这个阶段能够被快速召回,即保证相关物品的召回率排序层:首要目标是得到精准的排序结果。需要处理的物品数量少,可以利用较多的特征,使用比较复杂的模型。

设计召回层时,“计算速度”和“召回率”其实是矛盾的两个指标,为提高“计算速度”,需要使召回策略尽量简单一些;而为了提高“召回率”,要求召回策略尽量选出排序模型所需要的候选集,这也就要求召回策略不能过于简单。所以要权衡计算速度和召回率。

2.多路召回策略

多路召回策略:采用不同的策略、特征或简单模型,分别召回一部分候选集,然后把候选集混合在一起供后续排序模型使用。其中,各种简单策略保证候选集的快速召回,从不同角度设计的策略保证召回率接近理想的状态,不至于损伤排序效果。

下图是多路召回的一个示意图。在多路召回中,每个策略之间毫不相关,所以一般可以写并发多线程同时进行,这样可以更加高效。

多路召回存在的问题:

虽然多路召回权衡了计算速度和召回率的问题,可以使得用于排序的候选商品更加的丰富,但是实际的多路召回仍然存在一些问题。如上图所示,对于每一路召回都会从商品集合中拉回K个商品,这里的K是一个超参数,对于K的选择一般需要通过离线评估加线上的A/B测试来确定合理的K值。除此之外,对于不同的任务具体策略的选择也是人工基于经验的选择,选择的策略之间的信息是割裂的,无法总和考虑不同策略对一个物品的影响。

3.Embedding召回

在当前的主流推荐系统中,Embedding的身影已经无处不在。Embedding其实是一种思想,主要目的是将稀疏的向量(如one-hot编码)表示转换成稠密的向量。

主流的Embedding技术主要可以分为三大类:

text embedding

在推荐系统领域,text embedding技术是目前使用最多的embedding技术,对于文本特征可以直接使用该技术,对于非文本的id类特征,可以先将其转化成id序列再使用text embedding的技术获取id的embedding再做召回。

常见的text Embedding的技术有:

静态向量:word2vec, fasttext, glove动态向量:ELMO, GPT, BERT

image embedding

对于image embedding其实主要是对于有图或者视频的特征,目前计算机视觉模型已经发展的比较成熟了,对于图像与视频的识别都有效果比较好的模型,大部分都是卷积模块通过各种连接技巧搭建的高效模型,可以使用现有的预训练模型提取图像或者视频的向量特征,然后用于召回。

graph embedding

对于社交网络相关的推荐,进行推荐的用户与用于之间或者商品之间天然的存在某种复杂的图结构的关系,如何利用图中节点与节点之间的关系对其进行向量化是非常关键的,在这种场景下基于序列的text embedding和基于卷积模型的image embedding都显得力不从心,在这样的背景下Graph Embedding逐渐在推荐系统中流行起来。经典的Graph Embedding模型有, Deep Walk, Node2Vec,LINE以及比较新的阿里巴巴公布的EGES graph Embedding模型。

以上内容来自datawhale推荐系统组队学习

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。