1. 特征工程概述

什么是特征工程

特征工程(Feature Engineering)是将原始数据转化为更能代表问题本质、更适合机器学习算法处理的特征表示的过程。在推荐系统(PD 模型)中,特征工程决定了模型能“看到”什么信息,以及这些信息以何种方式被模型理解。

核心定义:特征工程 = 从原始数据中提取、构造、选择、变换特征,使其对模型预测目标具有最大信息量和最小噪声。

特征工程通常包含以下四个核心环节:

环节 输入 输出 典型操作
特征提取 原始日志、数据库记录 结构化特征字段 解析 JSON、提取时间戳、拆分多值字段
特征构造 基础特征 高阶组合特征 交叉特征、统计聚合、序列特征
特征变换 原始分布特征 归一化/离散化特征 Log 变换、分桶、标准化、One-Hot 编码
特征选择 全量特征集 最优特征子集 方差过滤、互信息、L1 正则、特征重要性排序
特征工程核心流程 原始数据 特征提取 特征构造 特征变换 特征选择 迭代反馈 💡 特征工程不是一次性工作 • 特征提取 → 特征构造 → 特征变换 → 特征选择 构成完整流水线 • 每个环节都可能根据模型效果反馈进行多次迭代优化 • 实际生产中,特征流水线通常以离线批处理 + 在线实时计算两种模式运行

特征工程在 PD 模型中的重要性

PD 模型(Probability Distribution 模型,即推荐系统中的点击率/转化率预估模型)对特征的依赖程度极高。与图像、语音等端到端模型不同,推荐系统的输入几乎完全由人工设计的特征构成。

行业共识:在工业级推荐系统中,“数据和特征决定了模型的上限,而模型算法只是逼近这个上限”。特征工程的质量直接决定了 PD 模型的天花板高度。

特征工程在 PD 模型中的关键作用体现在以下五个维度:

  1. 信息密度决定模型容量 — 高质量特征让模型用更少的参数学到更强的模式,降低过拟合风险。
  2. 稀疏性缓解 — 通过特征交叉、统计聚合等方式,将稀疏的 ID 类特征转化为稠密的行为统计特征,提升模型泛化能力。
  3. 非线性表达 — 人工构造的交叉特征和组合特征,帮助线性模型或浅层网络捕捉高阶非线性关系。
  4. 冷启动支撑 — 用户/物品的统计特征和画像特征,为新用户和新物品提供初始预估能力。
  5. 在线推理效率 — 合理的特征变换和选择,直接降低模型推理时的计算开销和存储成本。
场景 无特征工程 有特征工程 效果提升
CTR 预估 仅使用用户 ID + 物品 ID 加入用户历史点击率、物品类目偏好、时间衰减统计 AUC +5%~15%
转化率预估 仅使用基础属性 加入用户行为序列特征、价格敏感度、渠道来源交叉 GAUC +8%~20%
召回阶段 仅使用协同过滤 加入多模态特征、图结构特征、实时行为特征 召回率 +10%~30%

特征工程与模型性能的关系

特征工程与模型性能之间存在明确的量化关系。理解这种关系,有助于我们在实际项目中合理分配特征工程和模型调优的资源投入。

特征工程与模型性能关系曲线 特征工程投入(特征质量 × 数量) 低 高 模型性能(AUC/GAUC) 0.5 0.8 1.0 简单模型(LR/FM) 复杂模型(DNN/DeepFM) 特征工程 收益递增区 投入特征工程 边际收益高 特征工程 收益递减区 特征冗余/噪声 边际收益下降
关键洞察:特征工程存在边际收益递减规律。初期投入特征工程能带来显著的性能提升(收益递增区),但当特征数量和质量达到一定程度后,继续增加特征带来的收益会逐渐下降,甚至引入噪声导致性能下降(收益递减区)。复杂模型对特征工程的依赖相对较低,但高质量特征仍然是所有模型的基础。

特征工程与模型性能的量化关系可总结为以下公式:

模型性能 ≈ f(特征质量, 特征数量, 模型容量)

其中:
- 特征质量:信息量、区分度、稳定性、时效性
- 特征数量:覆盖度、稀疏度、冗余度
- 模型容量:参数数量、网络深度、非线性表达能力

经验法则:
- 特征质量提升 10% → 模型性能提升 5%~15%
- 特征数量翻倍 → 模型性能提升 1%~5%(存在上限)
- 模型容量翻倍 → 模型性能提升 0.5%~3%(需配合正则化)

在实际项目中,建议遵循以下优先级策略:

  • 第一阶段:构建基础特征集(用户画像、物品属性、上下文特征),快速建立基线模型。
  • 第二阶段:深入挖掘行为统计特征(历史点击率、转化率、频次、间隔),提升模型区分度。
  • 第三阶段:构造交叉特征和序列特征,捕捉高阶交互模式和时序依赖。
  • 第四阶段:引入外部知识和图结构特征,突破单一数据源的信息瓶颈。
  • 持续迭代:通过特征重要性分析和 A/B 实验,淘汰无效特征,优化特征组合。
实战建议:在 PD 模型项目中,建议将 60%~70% 的时间投入特征工程和数据质量保障,30%~40% 的时间用于模型选型和调参。这是工业界验证过的最优资源分配比例。