推荐系统中的特征交互模型详解

一、什么是特征交互

特征交互是指两个或多个特征之间存在的组合效应,这种组合效应对预测结果的贡献不等于各特征单独贡献的简单相加。

例子

  • 用户A + 电影类别:科幻 → 高兴趣
  • 用户B + 电影类别:科幻 → 低兴趣

即使用户A和用户B在其他方面很相似,他们对同一类别的偏好也可能完全不同。这种差异就是"用户×类别"的特征交互。

二、为什么特征交互很重要

  1. 个性化更精准:单纯的特征加权无法捕捉复杂偏好模式
  2. 现实场景复杂:用户决策往往受多重因素共同影响
  3. 传统模型局限:线性模型和简单Deep Model难以显式建模交互

三、常见的特征交互模型

  1. FM (Factorization Machines, 2010)

核心思想:用向量内积建模二阶特征交互

ŷ = w₀ + Σᵢ wᵢxᵢ + Σᵢⱼ<vᵢ, vⱼ>xᵢxⱼ

优点:

  • 时间复杂度从 O(n²) 降到 O(kn),k是隐向量维度
  • 可以处理稀疏数据

缺点:

  • 只能建模二阶交互,无法捕捉高阶关系
  • 每对特征交互权重相同(缺乏灵活性)

  1. DeepFM (2017)

架构:FM组件 + Deep组件并行融合

output = sigmoid(FM-part + Deep-part)

设计目的:

  • FM部分:显式学习低阶特征交互
  • Deep部分:隐式学习高阶特征交互
  • 两者共享embedding层

  1. FFM (Field-aware Factorization Machines, 2016)

核心改进:每个特征在不同Field下有不同隐向量

<vᵢⱼ, vⱼᶠⁱ> 其中 fᵢ 是特征j所在的field

应用场景:CTR预测等有明显Field结构的场景


  1. xDeepFM (2018)

创新点:CIN(Compressed Interaction Network)

CIN通过逐层显式构建高阶特征交互:
Xᵏ = CIN(Xᵏ⁻¹, E) # E是embedding

特点:

  • 显式建模高阶交互
  • 每阶交互都有独特向量
  • 参数量相比全连接网络大幅减少

  1. AFM (Attentional Factorization Machine, 2017)

核心创新:引入注意力机制给不同交互分配不同权重

aᵢⱼ = attention(vᵢ ⊙ vⱼ) # ⊙表示逐元素相乘

优势:自动学习哪些特征交互更重要


  1. DCN (Deep & Cross Network, 2017)

Cross Network核心公式:
xₗ₊₁ = x₀(xₗWₗ + bₗ) + xₗ

特点:

  • 残差连接保证信息流动
  • 特征交叉时保持原始特征x₀
  • 参数量随层数线性增长

  1. DCN V2 (2020)

改进:

  • 支持显式高阶特征交叉
  • 低秩分解减少参数量
  • 混合专家架构增强表达能力

  1. AutoInt (2019)

核心:多层Transformer风格的交互

H = softmax(QKᵀ/√d)V

特点:

  • 自注意力机制自动学习交互模式
  • 可处理多阶交互
  • 端到端训练

  1. FiBiNET (2019)

两个核心组件:

  1. Fi-MLP(Squeeze-and-Excitation):重加权的embedding
  2. Bilinear-Feature:用双线性池化替代简单的哈达玛积

  1. PNN (Product-based Neural Networks, 2016)

Product Layer:

  • Inner Product Layer: 内积
  • Outer Product Layer: 外积

捕获特征间的乘法关系。


四、模型对比总结

在这里插入图片描述

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐