一文看懂推荐系统的事理_模子_特点
1.1 推举系统的运用
推举系统是建立在海量数据挖掘根本上,高效地为用户供应个性化的决策支持和信息做事,以提高用户体验及商业效益。常见的推举运用处景如:
资讯类:今日、腾讯"大众年夜众号等***、广告、文章等内容推举;电商类:淘宝、京东、拼多多、亚马逊等商品推举;娱乐类:抖音、快手、爱奇艺等***推举;生活做事类:美团、大众点评、携程等吃喝玩乐推举;社交类:微信、陌陌等好友推举;1.2 推举系统的目标构建推举系统前,首先要根据业务目标确定推举系统的优化目标,对付不同的运用处景,推举系统(模型学习)关注的是不同的业务指标,比如:
对付电商推举,不仅要预测用户的点击率(CTR),更主要的是预测用户的转化率(CVR);对付内容推举,业务关心的除了CTR,还有阅读/不雅观看时长、点赞、转发、评论等指标;由于不同的业务指标可能存在一些联系,技能实现上,大多数时候都会设计一个多目标优化的框架(如:CTR和CVR模型进行Cotrain),共同进行模型的演习与预测,各个任务之间能够更好地共享信息。
二、推举系统的技能架构2.1 推举系统的层次组成推举系统基于海量的物品数据的挖掘,常日由 召回层→排序层(粗排、精排、重排)组成,不同的层次的组成,实在也便是信息筛选的漏斗,这也是工程上效率的须要,把意向工具的数量从粗犷到风雅化的筛选过程(这过程就像是找事情的时候,HR根据简历985/211粗筛出一部分,再做技能匹配及口试精准筛选,终极敲定得当的人选):
召回层:从物品库中根据多个维度筛选出潜在物品候选集(多路召回),并将候选集通报给排序环节。在召回供给池中,全体召回环节的输出量每每以万为单位。召回层紧张浸染是在海量的候选做粗筛,由于召回位置靠前且输入空间较大,以是时延哀求较高,偏好大略方法,大略快速地确定候选集。常用方法有:召回策略(如推举热门文章、命中某类标签的文章等等)、双塔模型(学习用户及物品的embedding,内积表示预测意向概率)、FM及CF等模型做召回、知识图谱(知识图谱表示学习,知识推理用户对物品的兴趣程度)、用户(多兴趣)行为序列预测做召回等等。粗排层:利用规则或者大略模型对召回的物品进行排序,并根据配额进行截断,截取出 Top N 条数据输出给精排层,配额一样平常分业务场景,全体粗排环节的输出量每每以千为单位。精排层:利用大量特色的繁芜模型,对物品进行更精准的排序,然后输出给重排层,全体精排环节的输出量每每以百为单位。粗排、精排的环节是推举系统最关键,也是最具有技能含量的部分,利用的方法有深度学习推举模型(Deep& Cross、NFM等)、强化学习等等。重排层:紧张以产品策略为导向进行重排(及领悟),常见策略如去除已曝光、去重、打散、多样性、新鲜度、效益优先等策略,并根据点击回退在列表中插入新的信息来提升体验,末了天生用户可见的推举列表,全体领悟和重排环节的输出量每每以几十为单位。2.2 冷启动方法
对付完全的推举系统构造,还须要考虑一个问题是:对付新的用户、新的物品如何有效推举的问题,也便是“冷启动”的问题,由于没有太多数据和特色来学习召回及排序模型,以是每每要用一些冷启动方法替代来达到目的(这个目的不但是提高点击等消费指标,更深层的可能会极大的带动业务增长)。
冷启动一样平常分为三类,用户冷启动、物品冷启动还有系统冷启动,常用的冷启动方法如:
供应热门及多样性内容推举。即利用统计的方法将最热门的物品进行推举,越热门且品类丰富的内容被点击的可能性越大;利用新用户基本信息关联到干系内容(利用领域、职位、事情年事、性别和所在地等信息给用户推举感兴趣或者干系的内容,如年事-关联电影表、收入-关联商品类型表,性别-文章关联表等等);利用新物品的内容关联到相似物品,并对应干系用户。三、推举系统的干系技能纵不雅观推举技能的发展史,大略来说便是特色工程自动化的过程,从人工设计特色+LR,到模型实现自动特色交互:如基于LR的自动特色交互组合的因式分解机FM及FFM 以及 GBDT树特色+LR ,到自动提取高层次特色的深度学习模型(DNN)。
推举系统整体技能栈可以分为传统机器学习推举及深度学习推举,而不同的推举层偏好不同(繁芜度、精确度)的模型或策略(图来源:王喆老师的专栏):
3.1 传统机器学习推举模型
传统机器学习推举可以大略划分为协同过滤算法及基于逻辑回归的序列算法:
3.1.1 协同过滤的干系算法
协同过滤算法可以大略划分为基于用户/物品的方法:
基于用户的协同过滤算法(UserCF)通过剖析用户喜好的物品,我们创造如果两个用户(用户A 和用户 B)喜好过的物品差不多,则这两个用户相似。此时,我们可以将用户 A 喜好过但是用户 B 没有看过的物品推举给用户 B。基于用户的协同过滤算法(UserCF)的详细实现思路如下:
(1)打算用户之间的相似度;(2)根据用户的相似度,找到这个凑集中用户未见过但是喜好的物品(即目标用户兴趣相似的用户有过的行为)进行推举。
基于物品的协同过滤算法(ItemCF)
通过剖析用户喜好的物品,我们创造如果两个物品被一拨人喜好,则这两个物品相似。此时,我们就会将用户喜好相似物品中某个大概率物品推举给这群用户。基于物品的协同过滤算法的详细实现思路如下:
(1)打算物品之间的相似度;(2)就可以推举给目标用户没有评价过的相似物品。
矩阵分解法
对付协同过滤算法,它实质上是一个矩阵添补问题,可以直接通过相似度打算(如基于用户的相似、基于物品的相似等)去办理。但有一问题是现实中的共现矩阵中有绝大部分的评分是空缺的,由于数据稀疏,因此在打算相似度的时候效果就会大打折扣。这里我们可以借助矩阵分解方法,找到用户和物品的表征向量(K个维度,超参数),通过对用户向量和物品向量的内积则是用户对物品的偏好度(预测评分)。
由于矩阵分解引入了隐因子的观点,模型阐明性很弱。其余的,它只大略利用了用户对物品的打分(特色维度单一),很难融入更多的特色(比如用户信息及其他行为的特色,商品属性的特色等等)。而这些毛病,下文先容的逻辑回归的干系算法可以很好地填补。
3.1.2 逻辑回归的干系算法逻辑回归(LR)由于其大略高效、易于阐明,是工业运用最为广泛的模型之一,比如用于金融风控领域的评分卡、互联网的推举系统。它是一种广义线性的分类模型且其模型构造可以视为单层的神经网络,由一层输入层、一层仅带有一个sigmoid激活函数的神经元的输出层组成,而无隐蔽层。
LR模型打算可以简化成两步,“通过模型权重[w]对输入特色[x]线性求和 ,然后sigmoid激活输出概率”。个中,sigmoid函数是一个s形的曲线,它的输出值在[0, 1]之间,在阔别0的地方函数的值会很快靠近0或1。
由于LR是线性模型,特色表达(特色交互)能力是不敷的,为提高模型的能力,常用的有特色工程的方法或者基于模型的方法。
基于特色工程的优化通过人工结合业务设计特色、特色衍生工具(如FeatureTools)暴力天生特色 以及 特色离散化编码等特色工程的方法,为LR引入非线性的表达。
基于模型的优化
其余还可以基于模型的方法提升特色交互的能力。如POLY2、引入隐向量的因子分解机(FM)可以看做是LR的根本上,对所有特色进行了两两交叉,天生非线性的特色组合。
但FM等方法只能够做二阶的特色交叉,更高阶的,可以利用GBDT自动进行筛选特色并天生特色组合,也便是提取GBDT子树的特色划分及组合路径作为新的特色,再把该特色向量当作LR模型输入,也便是经典的GBDT +LR方法。(须要把稳的,GBDT子树深度太深的化,特色组合层次比较高,极大提高LR模型拟合能力的同时,也随意马虎引入一些噪声,导致模型过拟合)
3.2 深度学习推举模型
深度学习能够全自动从原有数据中提取到高层次的特色,深度学习推举模型的进化趋势大略来说是 Wide(广)及 Deep(深)。Wide部分长于处理大量稀疏的特色,便于让模型直接“记住”大量原始的特色信息,Deep部分的紧张浸染有更深层的拟合能力,创造更高层次特色隐含的实质规律。
3.2.1 深度矩阵分解(双塔构造)深度矩阵分解模型(Deep Matrix Factorization Model,DMF)因此传统的矩阵分解(MF)模型为根本,再与 MLP 网络组合而成的一种模型,个中 MF 紧张卖力线性部分,MLP 紧张卖力非线性部分,它紧张以学习用户和物品的高阶表征向量为目标。
DMF 模型的框架图如下所示:该模型的输入层为交互矩阵 Y,其行、列分别对应为对用户和对物品的打分,并采取 multi-hot 形式分别表征用户和物品。
我们将用户表征 Yi 和物品表征 Yj 分别送入 MLP 双塔构造,天生用户隐向量表征 Pi 和物品隐向量表征 qj。末了对二者利用余弦点积匹配分数。
3.2.2 Wide&Deep与其说广深(Wide&Deep)模型是一种模型,倒不如说是一套通用的范式框架。Wide&Deep 模型由 LR+MLP 两部分并联组成,综合了传统机器学习和深度学习的长处。
Wide 部分根据历史行为数据推举与用户已有行为直接干系的物品;Deep 部分卖力捕捉新的特色组合,从而提高推举的多样性。3.2.3 深度因子分解机(DeepFM)模型深度因子分解机(Deep Factorization Machine,DeepFM)模型是从广深(Wide&Deep)框架中蜕变出来的一种模型。它利用 FM 模型更换掉了 LR 部分,从而形成了 FM&Deep 构造。
3.2.4 Deep&Cross
深度和交叉网络(Deep & Cross Network,DCN)模型是从广深(Wide&Deep)框架中蜕变出来的一个模型。DCN 模型将 Wide 部分更换为由分外网络构造实现的特色交叉网络,它的框架如下图所示:左侧的交叉层除了吸收前一层的输出外,还会同步吸收原始输入层的特色,从而实现特色信息的高阶交叉。
3.2.5 把稳力因子分解机(AFM)
把稳力因子分解机(Attentional Factorization Machine,AFM)模型也是Wide&Deep 框架中的一种,它通过添加 Attention 网络,自动学习不同特色之间交互的主要性。
3.2.6 神经因子分解机(NFM)
神经因子分解机(Neural Factorization Machine)模型也是 Wide&Deep 框架中的一种。NFM 模型把 Wide 部分放到一边不做变革,Deep 部分在 FM 的根本上结合了 MLP 部分。个中,FM 部分能够提取二阶线性特色,MLP 部分能够提取高阶非线性特色,从而使模型具备捕捉高阶非线性特色的能力。
NFM 模型框架的 Deep 部分如下图所示,NFM 模型是在 Embedding 层后将 FM 的输出进行 Bi-Interaction Pooling 操作(将表征向量的两两元素相乘后,再将所有组合的结果进行求和),然后在后面接上 MLP。
本文系作者个人观点,不代表本站立场,转载请注明出处!