交叉积变换
概述
Wide & Deep 模型中 Wide 组件的核心操作,通过布尔变量控制特征间的 AND 逻辑组合,将高维稀疏原始特征转化为交叉特征,用于精确记忆训练数据中频繁共现的特征模式。
关键内容
- 数学定义:$\phi_k(\mathbf{x}) = \prod_{i=1}^{d} x_i^{c_{ki}}$,其中 $c_{ki} \in {0, 1}$ 是布尔变量,表示第 $i$ 个特征是否参与第 $k$ 个交叉特征的构造。当特征为二值时,交叉积变换本质上就是 AND 逻辑操作。
- 在 Google Play 中的应用:Wide 组件的交叉特征设计为"用户已安装应用"与"候选展示应用"之间的交叉积。例如
AND(user_installed_app=Netflix, impression_app=Hulu)的值为 1 当且仅当用户安装了 Netflix 且当前候选应用是 Hulu。 - 记忆能力的来源:交叉积变换精确捕捉特定特征共现模式——如果历史上安装了 Netflix 的用户大概率也下载 Hulu,模型通过该交叉特征精确记住这一规律。
- 根本性局限:对于训练数据中从未出现过的特征组合,交叉特征的值恒为 0,完全无法提供信息。这一局限无法通过线性模型自身解决,必须依赖 Deep 组件的泛化能力来补足。
- 手工特征工程依赖:交叉特征的设计需要领域专家根据业务知识决定哪些特征应该交叉。这带来三个问题:(1)不可扩展——特征维度增加时交叉组合呈指数增长;(2)依赖领域知识——不同业务场景需要不同设计;(3)可能遗漏重要交互——隐含的、非直觉的交互模式难以被发现。
- 后续改进方向:这一局限性直接催生了后续工作——DeepFM 用 FM 组件替代手工交叉特征、DCN 用 Cross Network 自动学习显式交叉、AutoInt 用 Self-Attention 自动发现重要特征交互。
- 与一般特征交叉的关系:交叉积变换是特征交叉的一种具体实现方式,特指通过乘积(AND)操作构造的交叉特征,区别于其他交叉方式(如 FM 中的内积交叉、DCN 中的多层交叉网络)。
来源
- Heng-Tze Cheng et al. — Wide & Deep Learning for Recommender Systems, DLRS 2016 (arXiv:1606.07792)