【推荐算法系列六】Wide&Deep模型

文章目录

参考资料

模型结构

它是由左侧的 Wide 部分和右侧的 Deep 部分组成的。Wide 部分的结构太简单了,就是把输入层直接连接到输出层,中间没有做任何处理。Deep 层的结构稍复杂,就是 Embedding+MLP 的模型结构。

Wide 部分的主要作用是让模型具有较强的"记忆能力"(Memorization),而 Deep 部分的主要作用是让模型具有"泛化能力"(Generalization),因为只有这样的结构特点,才能让模型兼具逻辑回归和深度神经网络的优点,也就是既能快速处理和记忆大量历史行为特征,又具有强大的表达能力,这就是 Google 提出这个模型的动机。

模型的记忆能力

所谓的 "记忆能力",可以被宽泛地理解为模型直接学习历史数据中物品或者特征的"共现频率",并且把它们直接作为推荐依据的能力 。

但这类规则有两个特点:一是数量非常多,一个"记性不好"的推荐模型很难把它们都记住;二是没办法推而广之,因为这类规则非常具体,没办法或者说也没必要跟其他特征做进一步的组合。

为什么模型要有 Wide 部分?就是因为 Wide 部分可以增强模型的记忆能力,让模型记住大量的直接且重要的规则,这正是单层的线性模型所擅长的。

模型的泛化能力

"泛化能力"指的是模型对于新鲜样本、以及从未出现过的特征组合的预测能力。

这就体现出泛化能力的重要性了。模型有了很强的泛化能力之后,才能够对一些非常稀疏的,甚至从未出现过的情况作出尽量"靠谱"的预测。

我们学过的矩阵分解算法,就是为了解决协同过滤"泛化能力"不强而诞生的。因为协同过滤只会"死板"地使用用户的原始行为特征,而矩阵分解因为生成了用户和物品的隐向量,所以就可以计算任意两个用户和物品之间的相似度了。这就是泛化能力强的另一个例子。

提了一个 Memorization of feature interaction ⇒ wide part,

deep neural networks can generalize better to unseen feature combinations through low-dimensional dense embeddings learned for the sparse features.

Memorization can be loosely defined as

learning the frequent co-occurrence of items or features and

exploiting the correlation available in the historical data.

Recommendations based on memorization are usually more topical and

directly relevant to the items on which users have already

performed actions.

memorization

部分倾向于对已经反馈过的历史数据,学习其中的关系。

Generalization, on the other hand, is based on transitivity

of correlation and explores new feature combinations that have never or rarely occurred in the past.

Generalization

cross-product transformation

ϕ k ( x ) = ∏ i = 1 d x i c k i c k i ∈ 0 , 1 \phi_k(x) = \prod_{i=1}^d x_i^{c_{ki}} \quad c_{ki} \in {0,1} ϕk(x)=i=1∏dxickicki∈0,1

问题

  • cross-product transformation 部分是只适用于one-hot 之后的分类特征吗?那么当分类特征的量很大的时候,这个组合的量不会非常之大吗?
  • 也就是说,这个部分是手动构建的,而不是自动生成的。
相关推荐
嵌入式小能手2 分钟前
飞凌嵌入式ElfBoard-进程间的通信之命名管道
linux·服务器·算法
啦哈拉哈24 分钟前
Leetcode题解记录-hot100(81-100)
算法·leetcode·职场和发展
csdn_aspnet35 分钟前
Java 霍尔分区算法(Hoare‘s Partition Algorithm)
java·开发语言·算法
诸葛务农43 分钟前
道路行驶条件下电动汽车永磁电机的有效使用寿命及永磁体的失效和回收再利用(下)
java·开发语言·算法
snow@li43 分钟前
AI:理解 大数据、算法、算力、电力、生成式AI、token 之间的关系
大数据·人工智能·算法
小智老师PMP1 小时前
零基础能不能考PMP?零基础专属学习路径+全套扶持体系
学习·算法·职场和发展·软件工程·求职招聘·敏捷流程
Dillon Dong1 小时前
【风电控制】FPGA采集Vdc的ADC增益系数解析——从数字码到实际电压的桥梁
算法·fpga开发·变流器·风电控制
TDengine (老段)1 小时前
TDengine 压缩编码机制 — 双层压缩架构与类型特化算法
大数据·数据库·物联网·算法·时序数据库·tdengine·涛思数据
妄想出头的工业炼药师2 小时前
LVIO鲁棒
算法·开源
zhangfeng11333 小时前
超算/曙光DCU集群 昆山站 根目录文件夹逐项释义(HTC调度集群环境、国产DCU算力节点)
人工智能·pytorch·机器学习