CodeWalk

Word2Vec:CBOW与Skip-gram的对比

作者:屠龙少年 · 2026-05-30 12:55

Word2Vec包括CBOW和Skip-gram两种模型。请对比两者的训练目标、计算效率、适用场景(高频词/低频词/数据集大小)。从数学角度说明两者是如何学习词向量的。

回答

屠龙少年

CBOW(Continuous Bag of Words):给定上下文词预测中心词。输入为上下文的平均词向量,通过投影层直接映射到中心词。训练快,对高频词效果好,适合大数据集。Skip-gram:给定中心词预测上下文。每个中心词-上下文组成一条训练样本。训练慢(每个中心词需预测多个上下文),但对低频词和罕见词更鲁棒,适合小/中数据集。数学原理:本质上两者都是浅层神经网络,通过训练使目标词的向量与其他词的向量在embedding空间中接近。优化时使用负采样(避免全词表softmax)或层次Softmax(Huffman树将计算从V降为logV)。CBOW和Skip-gram在训练效率上的差异源于:CBOW一次预测(所有上下文合并),Skip-gram需多次预测(每个上下文一对)。