推荐系统基础知识——深度推荐模型(一)

深度推荐模型

改变神经网络复杂度

AutoRec

AutoEncoder + Recommend

  • 概述:将AutoEncoder与CF结合,利用CF中的共现矩阵,完成物品向量或用户向量的自编码,再利用自编码的结果得到用户对物品的预估评分,进而进行推荐排序

  • 对于一个物品 i i i来说,共现矩阵中的 m m m个用户对它的评分可形成一个 m m m维的向量 r ( i ) = ( R 1 i , … , R m i ) T \boldsymbol{r}^{(i)}=\left(R_{1 i}, \ldots, R_{m i}\right)^{\mathrm{T}} r(i)=(R1i,,Rmi)TAutoRec需要解决的问题是如何构建一个重建函数 h ( r ; θ ) h(\boldsymbol{r} ; \theta) h(r;θ),使该重建函数生成的评分向量与原评分向量的平方残差和最小

  • AutoRec使用简单的MLP来解决向量自编码(重建)问题,数学形式如下所示:简单的MLP加上非线性激活函数和偏置

    h ( r ; θ ) = f ( W ⋅ g ( V r + μ ) + b ) h(\boldsymbol{r} ; \theta)=f(\boldsymbol{W} \cdot g(\boldsymbol{V} \boldsymbol{r}+\mu)+b) h(r;θ)=f(Wg(Vr+μ)+b)

  • AutoRec目标函数

    min ⁡ θ ∑ i = 1 n ∥ r ( i ) − h ( r ( i ) ; θ ) ∥ 0 2 + λ 2 ⋅ ( ∥ W ∥ F 2 + ∥ V ∥ F 2 ) \min _{\theta} \sum_{i=1}^{n}\left\|\boldsymbol{r}^{(i)}-h\left(\boldsymbol{r}^{(i)} ; \theta\right)\right\|_{0}^{2}+\frac{\lambda}{2} \cdot\left(\|W\|_{F}^{2}+\|\boldsymbol{V}\|_{F}^{2}\right) θmini=1n r(i)h(r(i);θ) 02+2λ(WF2+VF2)

  • 当物品 i i i的评分向量为 r ( i ) \boldsymbol{r}^{(i)} r(i)时,模型的输出向量 h ( r ( i ) ; θ ) h\left(\boldsymbol{r}^{(\mathrm{i})} ; \theta\right) h(r(i);θ)就是所有用户对物品 i i i的评分预测,其中的第 u u u维就是用户 u u u对物品 i i i的预测 R ^ u i \hat{R}_{\mathrm{ui}} R^ui

    R ^ u i = ( h ( r ( i ) ; θ ^ ) ) u \hat{R}_{\mathrm{ui}}=\left(h\left(\boldsymbol{r}^{(\mathrm{i})} ; \hat{\theta}\right)\right)_{u} R^ui=(h(r(i);θ^))u

    • 遍历输入物品向量就可以得到用户 u u u对所有物品的评分预测,进而排序得到推荐列表
  • 上述介绍的AutoRec输入向量是物品的评分向量,因此可称为I-AutoRec(Item based AutoRec),如果换做把用户的评分向量作为输入向量,则得到U-AutoRec(User based AutoRec)

    • 在进行推荐列表生成的过程中,U-AutoRec相比I-AutoRec的优势在于仅需输入一次目标用户的用户向量,就可以重建用户对所有物品的评分向量;劣势是用户向量的稀疏性可能会影响模型效果

Deep Crossing

Paper : Deep Crossing: Web-Scale Modeling without Manually Crafted Combinatorial Features

  • Deep Crossing解决的几个问题

    • 离散特征编码后向量过于稀疏

      • Embedding
    • 特征自动交叉组合

  • 模型结构

    在这里插入图片描述

    • Embedding

      • 对离散稀疏向量进行Embedding,数值型在该步不作改动
    • Stacking

      • 对特征进行Concate操作
    • Multiple Residual Units

      • Residual + MLP

      在这里插入图片描述

    • Scoring

      • (对于CTR预估)Sigmoid

改变特征交叉方式

NeuralCF

Paper : Neural Collaborative Filtering

Neural Collaborative Filtering

  • 广义矩阵分解模型

    Generalized Matrix Factorization,GMF

    • 用户和物品向量的互操作可以被任意的互操作形式替代
  • 原始NeuralCF

    • Embedding + DNN

      在这里插入图片描述

  • 混合NeuralCF

    • Embedding + GMF(Generalized Matrix Factorization) + MLP

      在这里插入图片描述

PNN

Paper : Product-based Neural Networks for User Response Prediction

Product-based Neural Network

  • 模型架构

    • 基本架构与Deep Crossing类似,使用Product Layer代替Stacking Layer,不同特征的Embedding向量不再是简单的拼接,而是Product操作的两两交互,更有针对性的获取特征之间的交叉信息

    在这里插入图片描述

  • Product Layer

    Product Layer分为线性操作部分(z)与乘积操作部分(p)

    • 线性操作部分(z)

      • 对各特征向量进行线性拼接
    • 乘积操作部分(p)

      • IPNN(Inner Product-based Neural Network)

        • 内积

          W p n ⊙ p = ∑ i = 1 N ∑ j = 1 N ⟨ θ n i , θ n j ⟩ ⟨ f i , f j ⟩ . \boldsymbol{W}_{p}^{n} \odot \boldsymbol{p}=\sum_{i=1}^{N} \sum_{j=1}^{N}\left\langle\boldsymbol{\theta}_{n}^{i}, \boldsymbol{\theta}_{n}^{j}\right\rangle\left\langle\boldsymbol{f}_{i}, \boldsymbol{f}_{j}\right\rangle . Wpnp=i=1Nj=1Nθni,θnjfi,fj.

      • OPNN(Outer Product-based Neural Network)

        • 外积

          p = ∑ i = 1 N ∑ j = 1 N f i f j T = f Σ ( f Σ ) T , f Σ = ∑ i = 1 N f i \boldsymbol{p}=\sum_{i=1}^{N} \sum_{j=1}^{N} \boldsymbol{f}_{i} \boldsymbol{f}_{j}^{T}=\boldsymbol{f}_{\Sigma}\left(\boldsymbol{f}_{\Sigma}\right)^{T}, \quad \boldsymbol{f}_{\Sigma}=\sum_{i=1}^{N} \boldsymbol{f}_{i} p=i=1Nj=1NfifjT=fΣ(fΣ)T,fΣ=i=1Nfi

    • 最后将两部分得到的特征向量拼接输入下一层

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值