推荐算法学习笔记2.1:基于深度学习的推荐算法-基于共线矩阵的深度推荐算法-AutoRec模型

发布于:2024-07-02 ⋅ 阅读:(13) ⋅ 点赞:(0)
  • AutoRec模型
    前置知识:推荐算法学习笔记1.1:传统推荐算法-协同过滤算法

    AutoRec模型通过引入自编码器结构,将共线矩阵中的用户向量(基于用户的U-AutoRec)或物品向量(基于物品的I-AutoRec)嵌入到低维空间后还原,从而使模型可以估计未知的用户评分。其公式如下所示:

    h ( r ; W , b , V , μ ) = f ( W g ( V r + μ + b ) ) h(\mathbf{r};\mathbf{W,b,V},\boldsymbol{\mu})=f(\mathbf{W}g(\mathbf{Vr+}\boldsymbol{\mu}+\mathbf{b})) h(r;W,b,V,μ)=f(Wg(Vr+μ+b))

    其训练的损失函数如下所示:

    m i n W , b , V , μ λ 2 ( ∥ W ∥ F , ∥ V ∥ F ) + ∑ i = 1 N ∥ r i − h ( r i ; W , b , V , μ ) ∥ 2 2 min_{\mathbf{W,b,V},\boldsymbol{\mu}} \frac{\lambda}{2}(\|\mathbf{W}\|_F,\|\mathbf{V}\|_F)+\sum_{i=1}^{N}\|\mathbf{r}^i-h(\mathbf{r}^i;\mathbf{W,b,V},\boldsymbol{\mu})\|_2^2 minW,b,V,μ2λ(WF,VF)+i=1Nrih(ri;W,b,V,μ)22

    m其网络结构如下所示:

    在这里插入图片描述

    在《深度学习推荐系统》书中,把输出层描述成多分类层是存在歧义的。原论文中输出层实际的激活函数为 f ( x ) = x f(x)=x f(x)=x

    在这里插入图片描述

    该模型的训练以及推荐过程如下(以U-AutoRec为例):

    输入所有用户向量 R = { r i ∣ i = 1 , 2 , . . N } \mathbf{R} = \{\mathbf{r}^i|i=1,2,..N\} R={rii=1,2,..N}进行模型训练。推理时输入用户向量 r i \mathbf{r}^i ri,得到预测向量 r ^ i \hat{\mathbf{r}}^i r^i,其中对于物品 I t e m k Item_k Itemk,用户的预测评分为 r ^ i [ k ] \hat{\mathbf{r}}^i[k] r^i[k]

    总结:

    • 优点:通过从所有物品向量(或用户向量)中学习到核心的低维表示,从而在输入含未知取值的物品向量(或用户向量)时,可以估计未知取值的得分,从而提高泛化能力。
    • 缺点:结构比较简单,存在表达能力不足的问题,另一方面只使用了共现矩阵的信息, 没法利用用户和物品的特性。

网站公告

今日签到

点亮在社区的每一天
去签到