Word2Vec

Word2Vec

Word2Vec有两种形式,一种是Skip-gram,另一种是CBOW。

  • Skip-gram:已知中心词 wc,预测上下文词 wo
  • CBOW:已知上下文词 C={wcm,,wc1,wc+1,,wc+m},预测中心词 wc

1. Softmax 损失函数

公式:

Lword2vec=1|B|(wi,Ci)Blogexp(wiCi)jVexp(wiCj)

含义

  • 目标:最大化中心词 wi 和上下文词 Ci 的相似性,同时最小化中心词 wi 与其他非上下文词的相似性。
  • 问题:每次计算梯度时,都需要遍历整个词汇表 V,计算所有词的概率。这在大规模语料中计算量非常大,效率较低。

2. 负采样(Negative Sampling,NEG)

为了解决 Softmax 的计算问题,Word2Vec 引入了负采样(NEG)方法,通过对部分负样本进行优化,避免计算整个词汇表 V

公式:

Lword2vec=1|B|(wi,Ci)B[log(1+exp(wiCi))+jSilog(1+exp(wiCj))]

含义

  • 正样本:使用 wiCi(即真实的上下文词)。
  • 负样本:从词汇表中随机采样一部分非上下文词(集合 Si)作为负样本。
  • 目的:让中心词 wi 和真实上下文 Ci 的相似性最大化,同时最小化 wi 与负样本的相似性。
  • 效率提升:负采样只需要计算一小部分负样本,大幅减少了计算复杂度。
  • B:代表一个Batch,其中一条样本(wi, ci)由一个中心词 wi 和其上下文 Ci 组成

优点

  • 显著降低了计算复杂度,特别是当词汇表很大时。
  • 性能通常足够好,尤其是在实际应用中。

条件概率计算

item2vec

posted @   ForHHeart  阅读(4)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
点击右上角即可分享
微信分享提示