《搜索与推荐中的深度学习匹配》-推荐

说明:本文是对Deep Learning for Matching in Search and Recommendation中推荐部分的读书笔记,参考了知乎大佬-后青春期的工程师文章《搜索与推荐中的深度学习匹配》之推荐篇

1 推荐概述

通过猜测用户兴趣主动推送,一般为非主动触发。
目标:user 和 item 的匹配。
难点:user-item semantic gap 不同特征表示的不同类型实体,表面上看几乎没有重叠

在这里插入图片描述
推荐系统流程
在这里插入图片描述

2 传统匹配模型算法

2.1 协同过滤 Collaborative Filtering

 同质性假设(Homophily assumption):某用户偏好能从跟他/她相似用户中预测

 问题的数学描述:矩阵填充问题,一般采用SVD分解完成,但是应用于推荐领域:矩阵很稀疏但SVD分解对所有数据(缺失的或已知的)一视同仁;SVD分解缺少正则化约束而容易过拟合
在这里插入图片描述
(1)MF - Matrix Factorization

 预测 y ^ u i = v u T v i \hat{y}_{ui}=\pmb{v}^{T}_{u}\pmb{v}_{i} y^ui=vvvuTvvvi v u \pmb{v}_{u} vvvu为用户隐变量,而 v i \pmb{v}_{i} vvvi为物品隐变量。

 损失函数: L = ∑ u , i w u , i ( y u i − y ^ u i ) 2 + λ ( ∑ u ∣ ∣ v u ∣ ∣ 2 + ∑ i ∣ ∣ v i ∣ ∣ 2 ) L=\sum_{u,i}w_{u,i}(y_{ui}-\hat{y}_{ui})^2 +\lambda(\sum_{u}||\pmb{v}_{u}||^2+\sum_{i}||\pmb{v}_{i}||^2 ) L=u,iwu,i(yuiy^ui)2+λ(uvvvu2+ivvvi2) (除了L2 loss,还可以用cross-entropy,margin-based pairwise loss等)

(2)FISM - Factored Item Similarity Model

 用 user 打分过的 item 的 embedding 1 来表示 user ,实际推荐的 item 用 embedding 2 来表示

 预测 y ^ u i = ( ∑ j ∈ R u q j ) T v i \hat{y}_{ui}=(\sum_{j \in R_{u}}\pmb{q}_{j})^{T}\pmb{v}_{i} y^ui=(jRuqqqj)Tvvvi

(3)SVD++

 预测 y ^ u i = ( v u + ∑ j ∈ R u q j ) T v i \hat{y}_{ui}=(\pmb{v}_{u}+\sum_{j \in R_{u}}\pmb{q}_{j})^{T}\pmb{v}_{i} y^ui=(vvvu+jRuqqqj)Tvvvi

2.2 基于特征的通用模型

 CF只考虑了交互矩阵,并没在意背景信息(side info)

FM - Factorization Machines 将每一个特征表示为一个嵌入向量,并对二姐特征交互建模:
在这里插入图片描述
很多模型均为FM特例:

  • FM + input 为userID, itemID = MF
  • FM + input 为rated item ID, itemID = FISM
  • FM + input 为userID, rated item ID, itemID = SVD++

2.3 损失func

正则化 L2 loss 实现的排序效果并不一定好:

  • 损失和排序指标存在差异,推荐本质上是一个个性化排序任务而非打分预测;
  • 用户偏向于对喜欢的item打分

用pairwise的排序来解决:
在这里插入图片描述

3 深度匹配模型

3.1 Methods of representation learning

在这里插入图片描述
双塔模型,用合适的DNN学习user和item所有可获得的特征数据

3.1.1 CF

(1)DeepMF - Deep Matrix Factorization
在这里插入图片描述
 input:user(矩阵行)、item(矩阵列)均为multi-hot

(2)AutoRec - Autoencoders Meeting CF
在这里插入图片描述
 理解:隐层作为user表示,和 w \pmb{w} www 获得其对各 item 评分,因此 w \pmb{w} www 可以作为item的编码矩阵
 注意:隐层可以用非线性激活func,但是输出层不行;

(3)CDAE - Collaborative Denoising Autoencoder
在这里插入图片描述
与(2)的区别:输入层加了userID但是输出层不重构

3.1.2 CF +Side Info
(1)DCF - Deep Collaborative Filtering via Marginalized DAE
在这里插入图片描述
 从 user 和 item 的 Side Info 中学习其因曾表示,用内积近似其交互矩阵

(2)DUIF - Deep User-Image Feature

用CNN学item表示,在用MF表示user、item匹配

(3)ACF - Attentive Collaborative Filtering
 输入:
  user - ID & 历史交互的item
  item - ID & 可视特征

  item表示:用户对item中不同components具有不同的偏好,即components对item贡献程度不一样
在这里插入图片描述
  user表示:历史交互过的item对用户的表示贡献度不一样
在这里插入图片描述

(4)CKE - Collaborative Knowledge Based Embedding
  输入
    user - ID
   item - ID & info in KB
在这里插入图片描述

3.2 Methods of matching function learning

在这里插入图片描述

3.2.1 CF models

补充1:Neural Collaborative Filtering Framework(NCF framework)
  NCF是一种用神经网络代替内积作为匹配计算func的通用性框架
在这里插入图片描述
  然而最直观地用MLP的效果并不好:need to augment DNN with multiplicative relation modeling!

补充2:Translation-based Model
在这里插入图片描述

(1)NeuMF - Neural Matrix Factorization(Based on NCF framework)
  NeuMF = MF(抓取乘法关系) + MLP(弹性学习匹配func)
在这里插入图片描述

(2)NNCF - Neighbor-based NCF(Based on NCF framework)
 将 user 和 item 的 neighbor 信息引入。
在这里插入图片描述
(3)ONCF - Outer-Product based NCF(Based on NCF framework)
 (1)(2)中对user和item的合并采用element-wise product 或者 concatenation,隐含了假设:各维相互独立
在这里插入图片描述

 为了获得维度间的联系,使用outer-product生成2d交互矩阵,再用MLP在矩阵上学习

(4)ConvNCF - Outer Product-based NCF(Based on NCF framework)
 在(3)的基础上用CNN替换MLP
在这里插入图片描述

(5)TransRec - Translation-based Recommendation(Based on Translation framework)
 假设用户下一次喜欢的item跟上一次item有关,解决下一个item推荐问题 <user,current item,next_item>
在这里插入图片描述

(6)LRML - Latent Relational Metric Learning(Based on Translation framework)
在这里插入图片描述

  • 用user p \pmb{p} ppp 和 item q \pmb{q} qqq,计算在memory vector m i \pmb{m}_{i} mmmi上的注意力机制 a i = ( p ⊙ q ) T k i \pmb{a}_{i}=(\pmb{p}\odot\pmb{q})^T\pmb{k}_{i} aaai=(pppqqq)Tkkki k i \pmb{k}_i kkki m i \pmb{m}_i mmmi的key),再加权获得获得其relation vector r = ∑ i a i m i \pmb{r}=\sum_i\pmb{a}_i\pmb{m}_i rrr=iaaaimmmi
  • 随机采样另一对 p ′ \pmb{p'} ppp q ′ \pmb{q'} qqq,进行 pairwise ranking 学习: ∣ p + r − q ∣ < ∣ p ′ + r − q ′ ∣ |\pmb{p} + \pmb{r} - \pmb{q}| < |\pmb{p'} + \pmb{r} - \pmb{q'}| ppp+rrrqqq<ppp+rrrqqq

3.2.2 Feature-based models

 关键:

  • 特征向量高维且稀疏;
  • 特征间的交互很关键;

 MLP-based 问题:

  • 只用初始特征(不人工设计交互特征),所有DL模型在学习特征交互上表现不好
  • 容易过拟合;难训;需要好的初值(用FM印象量初始化DNN表现更好)
  • ;编码concatenation对特征交互没有带来信息增益

 FM-based模型可以自动组合特征,DNN可用来学习高阶特征组合,但可解释性差

(1)Wide&Deep(Based on MLP)
在这里插入图片描述
 Wide&Deep = LR + DNN,LR显式人工特征设计,DNN隐式泛化难抓取特征

(2)Deep Crossing(Based on MLP)
在这里插入图片描述
比(1)增加了残差连接,使得网络结构能更深

(3)NFM - Neural FM(Based on FM)
在这里插入图片描述

  • 特征两两组合(element-wise dot),得到n个K-dim向量,加和得到一个K-dim向量
  • 在该向量上用FC学习

(4)Attentional FM(Based on FM)
 为特征间的交互值添加权重
在这里插入图片描述

(5)DeepFM(Based on FM)
在这里插入图片描述
FM与DNN共享编码层

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值