前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >推荐系列(六):深层神经网络模型—— Softmax

推荐系列(六):深层神经网络模型—— Softmax

作者头像
用户3578099
发布2019-08-15 14:20:56
1.5K0
发布2019-08-15 14:20:56
举报
文章被收录于专栏:AI科技时讯

上一节展示了如何使用矩阵分解来学习嵌入。但矩阵分解存在一些局限性,包括:

  • 使用侧面特征困难(即查询ID /项目ID以外的任何特征)。因此,只能使用训练集中存在的用户或项目来查询模型。
  • 建议的相关性。每个人都倾向于推荐受欢迎的项目,特别是在使用点积作为相似性度量时。最好是能够捕获特定的用户兴趣。

深度神经网络(DNN)模型可以解决矩阵分解的这些局限性。DNN可以轻松地合并查询特征和项目特征(由于网络输入层的灵活性),这有助于捕获用户的特定兴趣并提高建议的相关性。

Softmax DNN推荐

一种可能的DNN模型是softmax,它将问题看作多类预测问题,其中:

  • 输入是用户查询。
  • 输出是一个概率向量,其大小等于语料库中的项目数,表示与每个项目交互的概率; 例如,点击或观看YouTube视频的可能性。

输入

DNN的输入可包括:

  • 密集特征(例如,观看自上次观看以来的时间和时间)
  • 稀疏特征(例如,观看历史记录和国家/地区)

与矩阵分解方法不同,还可以添加年龄或国家区域等侧面特征。这里用x表示输入向量。

图1.输入层x

模型架构

模型架构决定了模型的复杂性和表现力。通过添加隐藏层和非线性激活函数(例如,ReLU),模型可以捕获数据中更复杂的关系。然而,增加参数的数量通常也使得模型更难以训练并且计算起来更复杂。最后一个隐藏层的输出用

表示:

图2.隐藏层的输出, ψ(X)

Softmax输出:预测的概率分布

图4.损失函数

Softmax训练

上一节解释了如何将softmax层合并到推荐系统的深度神经网络中。本节将详细介绍此系统的训练数据。

训练数据

softmax训练数据由查询特征X以及用户与之交互的项目向量(表示为概率分布 p)组成,在下图中用蓝色标记。模型的变量是不同层中的权重,在下图中用橙色标记。通常使用随机梯度下降或其变体方法来训练模型。

矩阵分解(FM)VS SOFTMAX

DNN模型解决了矩阵分解的许多限制,但通常训练和预测的代价更高。下表总结了两种模型之间的一些重要差异。

矩阵分解

Softmax DNN

查询特征

不容易包括在内

可以包括在内

冷启动

不容易处理词典查询或项目。可以使用一些启发式方法(例如,对于新查询,类似查询的平均嵌入)

容易处理新查询

折页

通过调整WALS中未观察到的重量可以轻松减少折叠

容易折叠,需要使用负采样或重力等技术

训练可扩展性

可轻松扩展到非常大的语料库(可能是数亿项或更多),但仅限于输入矩阵稀疏

难以扩展到非常大的语料库,可以使用一些技术,例如散列,负采样等。

提供可扩展性

嵌入U,V是静态的,并且可以预先计算和存储一组候选

项目嵌入V是静态的并且可以存储,查询嵌入通常需要在查询时计算,使得模型的服务成本更高

综上所述:

  • 矩阵分解通常是大型语料库的更好选择。它更容易扩展,查询计算量更便宜,并且不易折叠。
  • DNN模型可以更好地捕获个性化偏好,但是难以训练并且查询成本更高。DNN模型比评分的矩阵分解更可取,因为DNN模型可以使用更多特征来更好地捕获相关性。此外,DNN模型通常会出现折叠。
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-08-13,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 AI科技时讯 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Softmax DNN推荐
    • 输入
      • Softmax输出:预测的概率分布
      • Softmax训练
        • 训练数据
          • 矩阵分解(FM)VS SOFTMAX
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档