[RS] 推荐模型总结

        CF(user_cf、item_cf)

        DIN + DIEN + DISN

(协同过滤)

        最早期的推荐算法是协同过滤CF。传统CF分为基于用户的协同过滤user_CF,和基于物品的协同过滤item_CF。基本原理是 通过用户-物品的共现矩阵M,通过行向量或列向量的相似度,找出top K个相似用户/物品,然后去做推荐列表。

        由于CF存在头部效应,热门的商品容易与其他商品产生相似性,所以引入了矩阵分解 MF。MF通过对共现矩阵M的行列维度进行解藕,把M分解为用户隐向量U和物品隐向量V。                            在公式上,M = U^T * V,M 是 m*n 维度的 ,U 是 d * m的 , V 是 d * n的。 

        由于MF由于噪声存在,有时不存在完美的低秩分解,所以引入概率矩阵分解 PMF和 Constrained_PMF,PMF对参数进行先验,Constrained_PMF对用户隐向量做了加法的解藕。

(内容过滤)

        由于上述的协同过滤的方法只利用了交互信息,没有融合多种显式特征,所以有了内容过滤的方法 LR 。对 对数几率进行 线性建模。

        但是LR没有特征交叉,生成特征的能力,表达能力弱,容易产生辛普森悖论。所以引入了二阶特征交叉的方法 FM和FFM

        对于高阶的特征交叉,提出了GBDT+LR模型,分为独立训练的两部分。对训练样本经过GBDT落在的叶结点设为1,其他叶结点设为0,得到离散特征向量,再经过线性分类器LR得到二分类的结果。

        还有 MLR,基本思想是 聚类+LR,对全量样本先进行聚类,再分片进行LR。这样在预测女性点击女装广告时,就不会把男性考虑进来。

(深度)

        对于传统模型在深度网络中的实现,有 DeepCrossing、NeuralCF、Wide&Deep、DeepFM、DIN(DC+目标商品与历史商品序列的相关性)、DIEN 、DISN等。对于多目标的场景有MMOE等。

       DeepCrossing 模型架构上,分为 输入层、嵌入层、堆叠层、多层残差神经网络层、输出层。嵌入层实现了稀疏向量稠密化,嵌入层以 FC 为主,后续引入了Word2Vec、Graph -Embedding进行编码。多层残差神经网络中对各个维度的向量进行特征组合,增加表达能力。输出层在二分类的情况下用LR,在多分类的情况下是Softmax。       

       NeuralCF  Neural CF  把矩阵分解的内积 用 MLP+Dense的方式 深度化。

       Wide&Deep     单层的 Wide 和多层的 Deep 组成的模型。Wide 作用是让模型具有 记忆能力,Deep作用是让模型具有 泛化能力。

Deep部分,嵌入层 + 堆叠层 + 3*FC                         }+ 输出层Sig/Softmax分类。

Wide部分,交叉积变换                                             }

       Wide 特征是人工选取的与结果直接相关的一些特征。

       DeepFM    用FM代替Wide部分。

       DIN(DC+目标商品与历史商品序列的相关性)、DIEN 、DISN

       DIN 是 在用户特征、物品特征的基础上,引入 用户历史行为特征。学目标商品与历史商品序列的相关性。得到 context_vector(Seq2Seq模型引入Attention机制的方式是一样的)。作为特征输入到concat层。

       DIEN 希望学到时序变化,学到前后的依赖关系,在deep部分分为3层:行为序列层(Emebdding层)、 兴趣提取层(GRU层 序列模型输出当前时刻的兴趣)、兴趣演化层(然后过一个基于注意力的GRU—AUGRU层,其中attention权重打分和DIN一样)。        

      DISN 是在DIEN的基础上,对用户行为序列做了session的划分。既能保留session内的同质信息,又能学到不同session之间的异质兴趣演化。

        MMOE

        最开始的多目标模型是  底层权重共享 + tower 的结构,但如果不同目标之间相关度不高,而不同塔的输入还是共享的,效果就会大打折扣。

        MMOE 模型能通过对每个目标学一个 gate 网络,来控制 各个专家网络 的输出。这样对于不同的目标,会对 专家网络 进行加权融合,再通过该目标上层的tower中的多层全连接层+激活,得到该目标的结果和loss。我认为gate网络和视觉中传统的压缩激励网络SE-Net有类似之处,都是对不同通道的信息进行注意力计算,而且两个注意力分数都是通过网络学习到的。

        然后多个目标可以分别进行训练,在训练时,每个目标的gate网络是不同的。对不同的目标,多个专家网络是共享的。对于各个专家网络,他们的参数是不同的。

        专家网络的个数细节:某些公司的实验证明,专家网络的个数n=4时,效果最好。

        

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

心心喵

喵喵(*^▽^*)

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值