TensorFlow2.0入门到进阶2.11 —— wide&deep模型

TensorFlow2.0入门到进阶2.11 —— wide&deep模型_第1张图片

文章目录

  • 1、简介
  • 2、特征
    • 2.1 稀疏特征
    • 2.2 密集特征
  • 3、分解
    • 3.1 wide models
    • 3.2 deep models
  • 4、实战

1、简介

Wide and deep 模型是 TensorFlow 在 2016 年 6 月左右发布的一类用于分类和回归的模型,并应用到了 Google Play 的应用推荐中。详见论文: Wide & Deep Learning for Recommender Systems

Wide and deep 是一种融合浅层(wide)模型和深层(deep)模型进行联合训练的框架,综合利用浅层模型的记忆能力和深层模型的泛化能力,实现单模型对推荐系统准确性和扩展性的兼顾。

wide and deep 模型的核心思想是结合线性模型的记忆能(memorization)和 DNN 模型的泛化能力(generalization),在训练过程中同时优化 2 个模型的参数,从而达到整体模型的预测能力最优。

  • 记忆(memorization)即从历史数据中发现item或者特征之间的相关性。
  • 泛化(generalization)即相关性的传递,发现在历史数据中很少或者没有出现的新的特征组合。

性能比较:

  • 效果上,在Google Play 进行线上A/B实验,W&D模型相比高度优化的Wide浅层模型,app下载率+3.9%。相比deep模型也有一定提升。
  • 性能上,通过切分一次请求需要处理的app 的Batch size为更小的size,并利用多线程并行请求达到提高处理效率的目的。单次响应耗时从31ms下降到14ms。

2、特征

2.1 稀疏特征

TensorFlow2.0入门到进阶2.11 —— wide&deep模型_第2张图片

2.2 密集特征

TensorFlow2.0入门到进阶2.11 —— wide&deep模型_第3张图片

3、分解

3.1 wide models

通俗来说,wide就是层数比较浅的是基础的线性模型,主要为传统模型中的基础特征和交叉特征。

在目前大规模线上推荐排序系统中,通用的线性模型如LR被广泛应用。线性模型通常输入二进制的one-hot稀疏表示特征进行训练。比如特征“user_installed_app=netflix”为1,表示用户已安装netflix。交叉特征AND(user_installed_app=netflix,impresion_app=Pandora)表示既安装了netflix app同时又浏览过Pandora的用户特征为1,否则为0。wide模型可以通过利用交叉特征高效的实现记忆能力,达到准确推荐的目的。wide模型通过加入一些宽泛类特征实现一定的泛化能力。但是受限与训练数据,wide模型无法实现训练数据中未曾出现过的泛化。
TensorFlow2.0入门到进阶2.11 —— wide&deep模型_第4张图片

3.2 deep models

通俗来说,deep models就是层数比较深的前馈网络模型。特征换为低维稠密向量。

像FM和DNN这种Embedding类的模型,可以通过学习到的低纬度稠密向量实现模型的泛化能力,包括可以实现对未见过的内容进行泛化推荐。当模型query-item矩阵比较稀疏时,模型的会过分泛化,推荐出很多无相关性的内容,准确性不能得到保证。
TensorFlow2.0入门到进阶2.11 —— wide&deep模型_第5张图片

4、实战

后面的博客将具体介绍wide&deep模型的多种程序:

函数API实现wide&deep模型:https://blog.csdn.net/caoyuan666/article/details/105928883

子类API实现wide&deep模型:
https://blog.csdn.net/caoyuan666/article/details/105929407

wide&deep模型多输入多输出:
https://blog.csdn.net/caoyuan666/article/details/105930238

你可能感兴趣的:(深度学习,机器学习,人工智能,大数据,计算机视觉)