word2vec 核心简记

本文探讨了Huffman编码在词权重中的应用,以及n-gram模型如何通过前后词预测目标词的概率。深入介绍了CBOW和Skip-gram两种词向量训练模型的工作原理,并讨论了如何使用Negative Sampling来提升模型训练效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  • Huffman编码:

    用词频作为词权重,构造 Huffman 树生成的 Huffman 编码,满足语料库总编码长度的期望最短。(频率高的编码短,频率低的编码长)

  • n-gram:

    (n-1)阶Markov假设:词概率只与它前面 n-1 个词有关。复杂度 O(Nn)O(Nn)。需要平滑(类似 Bayes)
    n=1n=1即是 unigram

2 Hierarchical Softmax
  • n-gram下词 wiwi 的上下文Context(wiwi):

    C(wi)=(win,,wi1wi+1,,wi+n)C(wi)=(wi−n,⋯,wi−1,wi+1,⋯,wi+n)
  • 每个词的词向量:v(w)v(w)

2.1 CBOW(continuous bag of word):
  • 概率模型及其对数似然函数:

    p(w|C(w))L=wDlogp(w|C(w))p(w|C(w))L=∑w∈Dlog⁡p(w|C(w))
  • 输入层:C(w)C(w)

  • 投影层的构造:x(w)=wC(w)v(w)x(w)=∑w′∈C(w)v(w′)
  • 输出层:
    Huffman 树,叶子节点NN(词个数)个,非叶子节点 N1个。
    从根节点向下找到词 ww 的叶节点有唯一路径 j,到每一层 jj 的结点(有一个权重θj)向下做二分裂,相当于做一次二分类σ(x(w)θj)σ(x(w)⋅θj)。向左为负类(tj+1=0tj+1=0),右为正类(tj+1=1tj+1=1)。
    最终找到词 ww 的概率 P 及对数似然函数LL
    p(w|C(w))=j=1wp(tj+1|x(w),θj)=j=1wσ(x(w)θj)tj+1[1σ(x(w)θj)]1tj+1L=wlogj=1wp(tj+1|x(w),θj)=wj=1w(tj+1logσ[x(w)θj]+(1tj+1)log(1σ[x(w)θj]))p(w|C(w))=∏j=1→wp(tj+1|x(w),θj)=∏j=1→wσ(x(w)⋅θj)tj+1⋅[1−σ(x(w)⋅θj)]1−tj+1L=∑wlog⁡∏j=1→wp(tj+1|x(w),θj)=∑w∑j=1→w(tj+1log⁡σ[x(w)⋅θj]+(1−tj+1)log⁡(1−σ[x(w)⋅θj]))

tt是与 w 有关的(每次找不同的 w),θ只与结点有关,与词无关?

2.2 skip-gram:
  • 输入层:v(w)v(w)
  • 输出层:
    Huffman树。从顶层根结点向下找到每个 uC(w)u∈C(w)。每个结点的二分裂与CBOW 类似。
    概率模型及其对数似然函数:
    p(C(w)|w)=uC(w)p(u|w)=uC(w)j=1uσ(v(w)θj)tj+1[1σ(v(w)θj)]1tj+1L=wloguC(w)p(u|w)wuC(w)j=1u(tj+1logσ[v(w)θj]+(1tj+1)log(1σ[v(w)θj]))p(C(w)|w)=∏u∈C(w)p(u|w)=∏u∈C(w)∏j=1→uσ(v(w)⋅θj)tj+1⋅[1−σ(v(w)⋅θj)]1−tj+1L=∑wlog⁡∏u∈C(w)p(u|w)∑w∑u∈C(w)∑j=1→u(tj+1log⁡σ[v(w)⋅θj]+(1−tj+1)log⁡(1−σ[v(w)⋅θj]))
3. Negative sampling(NEG)

用随机负采样替代 Huffman 树,提高效率。

  • 词向量:v(w)v(w),简写 vwvw
  • 每个词的上下文Context(w):C(w)C(w)xw=x(w)=uC(w)v(u)xw=x(w)=∑u∈C(w)v(u)
  • 每个词的负采样集合:NEG(w)NEG(w)
  • 每个词的辅助权重:θwθw
3.1 CBOW

对每一组样本 (w,C(W))(w,C(W)),最大化 p(c(w)w)p(c(w)→w),最小化 uNEG(w)p(c(w)u)∏u∈NEG(w)p(c(w)→u), 即最大化的单样本似然函数g(w)g(w)。及语料库DD的总似然函数 L

g(w)=p(w|C(w))uNEG(w)p(u|C(w))=σ(xwθw)uNEG(w)[1σ(xwθu)]L=wDlogg(w)=wlogσ(xwθw)+uNEG(w)log[1σ(xwθu)]g(w)=p(w|C(w))∏u∈NEG(w)p(u|C(w))=σ(xw⋅θw)∏u∈NEG(w)[1−σ(xw⋅θu)]L=∑w∈Dlog⁡g(w)=∑w[log⁡σ(xw⋅θw)+∑u∈NEG(w)log⁡[1−σ(xw⋅θu)]]
3.2 skip gram

对每一组样本 (w,C(W))(w,C(W)),?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值