推荐系统学习——经典深度学习方法

3.1 深度学习在推荐系统中的应用

1.AutoRec模型

利用协同过滤中的共现矩阵完成物品向量(用户向量)的自编码,利用自编码对于评分进行预测。
在这里插入图片描述
损失函数:
m i n θ ∑ i = 1 n ∥ r i − h ( r i ; θ ) ∥ o 2 + λ 2 ( ∥ W ∥ F 2 + ∥ V ∥ F 2 ) \underset{\theta}{min}\sum_{i=1}^n \parallel r^i - h(r^i;\theta) \parallel _o^2 + \frac{\lambda}{2}(\parallel W \parallel _F^2 + \parallel V \parallel_F^2) θmini=1nrih(ri;θ)o2+2λ(WF2+VF2)

2.Deep Crossing 模型

在这里插入图片描述

不同层解决的问题:

  • embedding layer ——> 离散向量的稠密化
  • stacking layer ——> 特征拼接
  • ResUnits ——> 特征深度交叉
  • scoring layer ——> 打分层

3.NeuralCF 模型

从深度学习看矩阵分解,一般处于欠拟合状态。

广义矩阵分解模型( Generalized Matrix Factorization)—— 互操作概念

传统的矩阵分解互操作为内积,可以使用多层网络定义不同的互操作。

在这里插入图片描述
NeuralCF模型整合两种互操作,模型结构如下图所示:

在这里插入图片描述

4.PNN模型

引入了多种特征,定义了多种特征交叉方式:

  • 内积

g i n n e r ( f i , f j ) = f i T f j g_{inner}(f_i, f_j) = f_i^Tf_j ginner(fi,fj)=fiTfj

  • 外积(不是叉乘)

g o u t e r ( f i , f j ) = f i f j T g_{outer}(f_i, f_j) = f_i f_j^T gouter(fi,fj)=fifjT

  • 减少特征组合爆炸,求外积特征矩阵平均。
    等价于平均池化后在进行外积互操作。

KaTeX parse error: Got function '\sum' with no arguments as subscript at position 93: …N f_if_j^T = f_\̲s̲u̲m̲ ̲f_\sum^T

模型结构:z部分代表线性操作,p部分代表乘积操作部分

5.Wide&Deep模型

google团队2016年提出

  • Wide — 记忆能力:浅层网络,利用历史数据中物品特征的共现频率
  • Deep — 泛化能力:深层网络,逐渐忘记具体特征,抓取特征模式
  • 模型wide部分选择的特征:可以清楚察觉有共现等规律

  • wide部分,采用的特征函数为“交叉积变换
    Φ k ( x ) = ∏ i = 1 d x i c k i , c k i ∈ { 0 , 1 } \Phi_k(x) = \prod_{i=1}^d x_i^{c_ki} , c_{ki} \in \{0,1\} Φk(x)=i=1dxicki,cki{0,1}

  • Google play例子,wide部分为已安装的应用、曝光应用

6.Deep&Cross模型

  • 改进wide网络部分,增强模型规律挖掘能力。
  • Cross网络自动特征交叉,避免人工理解特征组合
  • 每一层都有第一层特征 x 0 x_0 x0

x l + 1 = x 0 x l T W l + b l + x l x_{l+1} = x_0 x_l^TW_l + b_l + x_l xl+1=x0xlTWl+bl+xl

7.FM 与深度学习的结合

有针对性地加入特征交叉操作,使模型具有更强的非线性特征表达能力。

原始FM模型:
y F M ( x ) = s i g m o i d ( w 0 + ∑ i = 1 N w i x i + ∑ i = 1 N ∑ j = i + 1 N < v i , v j > x i x j ) y_{FM}(x) = sigmoid(w_0 + \sum_{i=1}^N w_i x_i + \sum_{i=1}^N \sum_{j=i+1}^N <v_i, v_j> x_i x_j) yFM(x)=sigmoid(w0+i=1Nwixi+i=1Nj=i+1N<vi,vj>xixj)
1) FNN —— 用FM的隐向量对embedding层初始化

使用 w,v初始化模型embedding层参数

  1. DeepFM 模型 —— 采用 FM 替换 wide 模型部分
  1. NFM 模型

用一个表达能力更强的函数(神经网络拟合任何函数)替代原始FM中的二阶隐向量内积部分。

主要引入了特征交叉池化层的具体操作:
f B I ( V x ) = ∑ i = 1 n ∑ j = i + 1 n ( x i v i ) ⊙ ( x j v j ) f_{BI}(V_x) = \sum_{i=1}^n \sum_{j=i+1}^n (x_i v_i) \odot (x_j v_j) fBI(Vx)=i=1nj=i+1n(xivi)(xjvj)
图中仅包括,原始模型的二阶部分

8.注意力机制的应用

1)AFM模型

从模型结构改进的尝试

模型结构图:

AFM特征交叉方式:元素积操作

加入注意力得分后的池化过程:
f A t t ( f P I ( ϵ ) ) = ∑ ( i , j ) ∈ R x a i j ( v i ⊙ v j ) x i x j f_{Att}(f_{PI}(\epsilon)) = \sum_{(i,j) \in R_x} a_{ij} (v_i \odot v_j) x_i x_j fAtt(fPI(ϵ))=(i,j)Rxaij(vivj)xixj
注意力计算方式:
e i j = h T R e L U ( W ( v i ⊙ v j ) x i x j + b ) a i j = e x p ( e i j ) ∑ ( i j ) ∈ R x e x p ( e i j ) e_{ij} = h^T ReLU(W(v_i \odot v_j) x_i x_j + b) \\ a_{ij} = \frac{exp(e_{ij})}{\sum_{(ij) \in R_x}exp(e_{ij})} eij=hTReLU(W(vivj)xixj+b)aij=(ij)Rxexp(eij)exp(eij)
2) DIN —— 阿里巴巴注意力模型

模型结构:

注意力计算方式:图中右上角所示,元素减 拼接原始向量 送入全连接网络。
V u = f ( V a ) = ∑ i = 1 N w i V i = ∑ i = 1 N g ( V i , V a ) V i V_u = f(V_a) = \sum_{i=1}^N w_i V_i = \sum_{i=1}^N g(V_i, V_a) V_i Vu=f(Va)=i=1NwiVi=i=1Ng(Vi,Va)Vi
其中, V u V_u Vu为使用历史浏览商品代表的用户变量; V a V_a Va为候选广告商品或者店铺; V i V_i Vi是用户浏览历史商品店铺。

注意:候选商铺广告(商品)仅与用户商铺(商品)浏览历史计算注意力;

9.序列模型的应用

序列模型用于模拟用户兴趣的变化过程

序列信息考虑全局序列统计概率。

分为三层结构:

  • 行为序列层:用户浏览序列转化为embedding序列
  • 兴趣抽取层:模拟兴趣迁移过程
  • 兴趣进化层:增加attention,考虑与目标广告相关性,使用AUGRU

10.其他深度学习

  • 阿里巴巴 多模态多目标
  • YouTube 基于session的推荐
  • Airbnb 使用Embedding技术构建的搜索推荐模型

以上观点均来自《深度学习推荐系统》王喆著

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值