← 返回题目列表

Embedding 特征在传统机器学习中如何使用?

中等 第 20 / 25 题 更新于 2026/09/19
特征工程机器学习面试题模型训练

简化版

Embedding 将高基数离散 ID 映射成可学习稠密向量,通过下游任务梯度学习相似性。它比 one-hot 节省输入维度并能表达邻近关系,但对冷启动、稀有 ID、表大小和时间泄漏必须单独处理。

详细版

  • 词表映射和 unknown ID 是模型契约的一部分。

  • 表参数量等于 vocabulary_size×embedding_dim。

  • 稀有 ID 梯度少,向量估计方差高。

  • 多值特征需用 mean/sum/attention 聚合并处理长度。

  • 预训练 embedding 也要按目标任务和时间切分验证。

完整版教学

一、Embedding 是可训练查表,不是天然语义

one-hot 经过线性层等价于选取权重矩阵的一行,Embedding 把这一步直接实现成索引查表。

相似性来自共同优化目标,而非 ID 数字接近。

向量维度控制容量:太小表达不足,太大增加内存并容易记忆;没有只由词表大小决定的最优公式。

二、底层机制与公式

E in R^(V x D)
e_i=E[id_i]
params=V*D

三、带数字的推演

词表 100 万、维度 64、FP32 表占 1,000,000×64×4≈256MB;换 FP16 约 128MB。

若线上每请求查 20 个 ID,访存和分布式查表也会成为成本。

四、方案对比

方案/对象核心特点代价或边界
One-hot无训练相似性假设高维稀疏
随机初始化 Embedding随任务联合学习冷 ID 不稳
预训练 Embedding利用外部共现可能域偏移/泄漏

五、执行流程

训练期建词表 -> 保留 PAD/UNK -> 查表并聚合 -> 下游损失反传
-> 保存词表与表权重 -> 线上同映射查找 -> 监控 OOV

六、边界条件与工程代价

推荐系统若用未来交互预训练 embedding,再评估过去时点,会产生时间穿越;预训练语料也必须遵守 cutoff。

新 ID 全落到同一个 UNK 会丢失差异,可结合元数据、哈希桶或冷启动模型,但要验证碰撞和偏差。

记忆钩子:记住 embedding 是“用 ID 取一行、靠任务梯度塑造空间”。

七、常见误区与追问

  • 误区:ID 数字相近会得到相似向量。 ID 只是行索引,相似性由训练信号决定。

  • 追问:维度怎么选? 按验证收益、表内存和稀有度做消融。

  • 误区:Embedding 总比 one-hot 好。 小词表线性任务中 one-hot 更透明且足够。

  • 追问:OOV 怎么办? 固定 UNK/哈希/元数据回退并保持映射版本。

  • 追问:表为何可能成为瓶颈? 参数和访问以 V×D 增长,常受内存带宽限制。

八、加强记忆

记住 embedding 是“用 ID 取一行、靠任务梯度塑造空间”。

回答时同时算 V×D 内存,并补齐稀有 ID 与线上 OOV。