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


    • 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]

      总结:

      • 优点:通过从所有物品向量(或用户向量)中学习到核心的低维表示,从而在输入含未知取值的物品向量(或用户向量)时,可以估计未知取值的得分,从而提高泛化能力。
      • 缺点:结构比较简单,存在表达能力不足的问题,另一方面只使用了共现矩阵的信息, 没法利用用户和物品的特性。
  • 相关阅读:
    Vue elementui组件分页
    第十章 引用
    Java 韩顺平老师的课,记的(前6章)笔记
    Java - NPE(NullPointerException);Optional
    【Qt系列】QtableWidget表格列宽自适应表格大小
    Qml中的那些坑(三)---MouseArea上的ListView滚轮事件穿透
    js制作选项卡:实现点击选项卡会跳转到相应的页面
    Vue----组件
    C# 人像卡通化 Onnx photo2cartoon
    Windows OpenGL 波浪特效
  • 原文地址:https://blog.csdn.net/YmgmY/article/details/140054889