推荐算法实战-9-重排
本文是推荐算法实战系列第9篇文章。
前面文章包括:
推荐系统简介
特征工程
embedding
精排
召回(1):传统召回以及召回中的loss设计
召回(2):word2vec召回、FM召回和双塔召回
召回(3):图卷积
粗排
本文介绍推荐系统另一朵红花,重排。
前面介绍的召回、精排和粗排只关心单个物料与用户的匹配度,属于point-wise的预估模型。没有考虑同一个打分结果的上下文,相似的物料会被模型打上相似的分数,排序时在相邻的位置,造成推荐结果同质化,引起用户审美疲劳。
重排在精排之后,将精排的打分结果序列作为一个整体,属于list-wise预估模型,考虑以什么顺序呈现给用户才能带来最好的用户体验。
重排的重点在于精排输出结果的相...
推荐算法实战-8-粗排
本文是推荐算法实战系列第八篇文章。
前面文章包括:
推荐系统简介
特征工程
embedding
精排
召回(1):传统召回以及召回中的loss设计
召回(2):word2vec召回、FM召回和双塔召回
召回(3):图卷积
如果说召回和精排是推荐系统的两朵红花,那么粗排和重排就是两片绿叶。
粗排在大型推荐系统中,召回之后进一步过滤候选集,减少精排模型的打分数量,节约精排模型的线上时延。
重排模型是为了解决相似内容扎堆现象。
粗排环节并不是必须的,视候选集大小而定。重排环节通常是必要的,只不过在小型推荐系统中,基于规则的重排(e.g.打散)策略就够用了,不必上模型。
粗排的设计是“速度”与“精度”的又一次折衷:
与召回相比,粗排的候选集小...
推荐算法实战-7-召回(3)-图卷积
本文是推荐算法实战系列第七篇文章。
前面文章包括:
推荐系统简介
特征工程
embedding
精排
召回(1):传统召回以及召回中的loss设计
召回(2):word2vec召回、FM召回和双塔召回
本文继续介绍召回模型:图卷积召回。
6、GCN召回:邻里互助
从某种程度讲,推荐算法就是在做“邻域学习”,融合“近邻”的用户、物料信息预估当前用户-物料的喜好。
这里的“近邻”并不是显式定义的,它是通过丰富的特征工程、特征交叉、模型设计等隐式挖掘的。
推荐模型的本质是预估“用户-物品”交互矩阵中每个元素的值,即每个用户对每个物品的喜好度。 原始的“用户-物品”交互矩阵数据不全,很多元素是空的,存在稀疏性和局部性,推荐模型需要“无中生有”,根据已有的...
推荐算法实战-6-召回(2)-word2vec与双塔召回
本文是推荐算法实战系列第六篇文章。
前面文章包括:
推荐系统简介
特征工程
embedding
精排
召回(1):传统召回以及召回中的loss设计
本文介绍三类召回模型:word2vec、FM、双塔。
3、Word2Vec召回
Word2Vec在给定的文本语料库中,通过自监督学习每个单词的word embedding。
它的思想与bert和GPT如出一辙。
它有skip-gram和cbow两种模式。以skip-gram为例,其原理为,给定一个中心词w,预测哪些词o能够出现在w的上下文中与w搭配使用。
例如,给定一句话“the quick brown fox jumps over the lazy dog”,当我们选中fox作中心词,且取上下午窗口...
推荐算法实战-5-召回(1)-召回中的loss设计
本文是推荐算法实战系列第五篇文章。
前面文章包括四个部分:
推荐系统简介
特征工程
embedding
精排
本文开始介绍召回。
1、传统召回算法
传统召回算法基于规则和统计,较少训练模型,尤其是深度模型。
这类算法虽然从技术上不如深度学习亮眼,但是由于可解释性好、简单,仍有用武之地。
例如,业务团队需要提升文章的转发分享率。如果用DNN模型实现这个需求,可以增加转发分享相关的特征,或者提升转发目标权重。
采用传统召回,可以新增一路召回策略,并在最终的流量机制策略上做一些调整,能起到立竿见影的效果。
1.1、基于物料属性的倒排索引
离线构造一个类似Map<Item Attribute, ItemSet>的集合。集合的key为物料属性...
推荐算法实战-4-精排
本文是推荐算法实战系列第四篇文章。
前面文章包括:
推荐系统简介
特征工程
embedding
推荐系统最关键的部分是精排模型,它也是最“卷”的领域。
本节主要从特征交叉和用户行为序列建模两个角度介绍推荐系统的精排模型。
1、特征交叉
面对众多的输入特征,精排模型的重要功能之一是做特征交叉。特征交叉越充分,越能挖掘到输入数据中的不同pattern。
特征交叉有两类。
第一类,输入侧,即传统的特征工程,利用人工经验做特征交叉。
第二类,模型侧,通过设计网络结构自动特征交叉。
1.1、LR——手动特征交叉,无法模型交叉
上篇文章已经提到LR其实是一个评分卡模型。它强于记忆。它本质是给每一个特征或者特征组合学习到一个权重(评分)。预测时,看当前样本命中了哪...
推荐算法实战-3-embedding
本文是推荐算法实战系列第三篇文章。
前面文章包括:
推荐系统简介
特征工程
上一节提到,类别特征是推荐系统的一等公民,享受VIP待遇。但是类别特征不能直接接入深度学习模型,必须先转化为数值类型的向量,才能被模型消费。
对类比特征最常见的预处理技术是OneHot和embedding。embedding不仅能实现类别特征的数值化,还能“无中生有”,提高推荐系统的泛化性(扩展性)。
1、类别特征为什么需要编码
以“国籍”特征为例,它可以取值“美国”,“中国”,“印度”等。特征的原始值是文本,无法直接输入模型,必须先进行编码。
如果用数字编码,例如,“美国”,“中国”,“印度”分别编码为1、2、3,编码后可以被模型消费。但是有个问题,1+2=3,会出现“美国”+“中国...
推荐算法实战-2-特征工程
本文是推荐算法实战系列第二篇文章。
1、特征工程过时了吗
在前深度学习时代,例如线性回归(LR)时代,特征工程是一项非常重要的工作,直接决定了模型的效果。
深度学习有一个理论,大意是说DNN可以作为“万能函数模拟器”,只要层数/参数足够多,DNN可以拟合输入与输出之间的任意函数关系。
深度学习出道时,例如AlexNet论文中,强调其“端到端学习”的特性,宣称深度学习可以自动学习特征表征,无需人工特征工程。
但是,在推荐系统中,特征工程过时了的观点是不正确的。
正如DCN(Deep Cross Network)论文指出的那样,DNN有时连简单的二阶、三阶特征交叉都模拟不好。在现实中,推荐系统数据集并不完美,所谓“万能模拟器”只是一种理论,梯度消失、梯度爆炸、不同特征受训机会不...
共计 17 篇文章,3 页。