word2vec理论推导

4星(超过85%的资源)
所需积分/C币:44 2015-01-02 12:37:24 5.69MB PDF
229
收藏 收藏
举报

之前在网上看过很多关于word2vec 的学习笔记,但都是拿拿其中一小部分进行阐述,基本没有比较全面和深入的讲解。由于word2vec涉及的基础知识比较多,对于word2vec如果要全面,可能要从基础线性回归 [10]、最小二乘法 [11]、sigmoid函数 [9][12]、Huffman树 [13]、softmax回归 [9][14]、词向量 [15]、似然估计 [17]等等。如需要了解基础知识,请先看相关参数文献;如需较全面的预热,请参考网易发一篇文章 [18](相信对word2vec有兴趣的同学都看过)。 本文适合在对word2vec算法有一定基础上,但想进一步了解word2vec的实现细节的同学。如遇到问题,最好参照着google源码实现进行理解(文章最后有源码参考)。
Word 2vec AllanSpark sum(X1,X2, X3..) 增量对所有 更新增量e 的山見新 ui in context(w); =1, 2, 3, 4 图 bow模型 诵过W的参数,u1词向量 更新增量 梯度增量e,更新W词向 通过W的参数,u2词向星 新增量 梯度增量e,更新W词向量 通过w参数,U3词向量 悌度增量e,更新W词向量 更新壇量 图1-2 skip-gram模型 2 Huffman与二分类器结合 Huffman树结构及其表示 我们先看下如下Jftf1a树的结构,式色的为叶了结点,而白色的为非叶了结点。除了根结点而外,其 实的所有结点郫会标识o或1,左边较大)标为1,右边(较小冫标为o。w1>w2>w3W4>W5。在word2vec 的实现过中, Huffman的非叶子结点只做辅功,非是真实的结点。在图中用色结点表示 4)0 0 3/15 Word 2vec AllanSpark 图2-1 Huffman树结构 我们先做如下约定 1.P,表示第wi(i=1,2,3.)从根结点到其自己的路径,例如:w2的路径P,为p,p2,y3,2 表示路径P包含结点的个数,目词所在层次 3.Pyj234…,)表示词w的路径P第1个元素。也取第i层 4.d∈0,1},其中f=2,,4…)表示对于词w,在略径Pn的第j个元素P"的编码,其在第j层上的编码 例如词η2,宀在第2昃掮码为1,筅三昃编码为O,第四昃取值为1,第四昃编码为I,第四层取值为I。其跸 径P编码为O 5.θ"∈R,其中j=1,2,3,…(C-1)表示词w,在第j层的参数估计,也那径T的取第j个元素时的参数估计。 例如:对于词2,路径为p1,23,M2,在p1处的参数为{1,在p2处的参效为2,在y3处的参效为 从根结点开始,往下深度遍历,在每一个非叶子结点上,都有两个选择,要么编码为L,要么编码为O。 这个刚好能对应到二值分类器,婁么正类,婁么负类。在 word2vec的实现中,将升 luffman编码为O对应到 正类,将编码为1对应到负类。所使用的分类器为熟悉的逻辑回归分类器 由预备知识可知,分类器为正类的概为: 式 + 为负类的率为 式 该分类器的取值要么为负类(取为0),其 fulman编码为l;要么为正类(取值为1),其升n 编码为O 日]Labe(pw)=1 使用 Huffman树求词的概率 我们依旧以图-中的词w2为例。P y1,p2:103,w2 其经过3次二分,才到达2,处里过程如下: 在p处的下一步向左(负类)的概率为P(a22 B2)=1-a(Vm12) 在P2处的下一步向右(正类)的概率为P(lyVm,的2)=(V62 在P3处的下一步白左(负类)的概率为P(dVm2,B2)=1-o(V因2 2的桃盔可以怎成如卜式子 4/15 Word 2vec AllanSpark ∏P 式2-4 ∏{ 这个概率公式,我门可以推广到一般情况 1,1≤ P(x,) 式25 P(w)=P(d I 式 ∏I{-σ(we;)f"lo 3 CBOW continues bags of words词袋模型 31公式推导 上面说了cbow是一层处理模型,再在来看看是哪一层,以及这三层都做了一些什么? 输入层:V,其中∈ context(w), contex(w)cC 投影层:slm(V2) 输出层:输出层对应一棵 Huffuman树,其叶子结点为栏本中的词,非叶子结点为虚拟结点,并非真正分 纯了空间 那么具体是如何做的呢? 我们在前面就介绍过,CBOW和 skip-gram模型都是为了I值最大化 l=∑lgp( context(w),式31 context(n)≈p(w/ context()≈p(w) 由于c0w自投影层,做了求合处理,我们先令 y=sm),t∈ context(w) 5/15 Word 2vec AllanSpark 根据上面使用的1fan树的求法,可幻 pnlcontext())xP(w)=P(d IV, 0;) ∏{-(e)"o(V;) 由上面推导,可得 I=∑lg-σ(wO)a(vo)1 ,式3,1-3 ∑∑lg{l-σ(wb)f"l∝(VP)} 32基于 Hierarchical softmax梯度计算 为了方便求梯度,我们令 C(v0)=lg{1-(V0)[a(0)m} 式3.2-1 alg1-(V")+(1-a)lgo(√出") 3210的梯度计算 对O,求导,这里用到了 sigmoid函数的性质,可以参原相关章节 aL(n, 6,)C d log[1-o(V 6 )]+(1-dmiloglo( B1 06. do(ve o)v+(1-dms[l-o(v:0Iv 式32.1-1 =[1-aMx1-o(w6}) 令步长为α,则梯度公式可写成 aC(w, 0) 0.,=0.+0 式3.21-2 6/15 Worde AllanSpark 322ⅴ的梯度计算 由于V与日对称,则对于V的求导 OL(w,8)didi log[l-o(v 0 )+(1-dilloglov B)1 dm0(Ve)2.+(0-amn)-a(V)1 式322-1 (V Br)le 在word2vec的实现中,对于词向量∨的新,在从根到词w更新所有参数后,再更新 context(w)的每一 C(w,,) =1+c ,其中u∈ context(w)式3.22-2 323伪代码: e=0 ∑ foy=1→l-1 G=o g=cl e+gB tg for u e context(u): 注:上面的伪代妈变量对应word2vec的源码关系:syn0对应vsyn1对应neue对应e,neu1对应v 3. 3 Negative sampling 331概率公式推导 止样木:若词u=W,则为止样木 7/15 Word 2vec AllanSpark 负样本:若词U≠W,则为负样本 目的:希望止样丕概率最大化,负样本最小化 我们令 Y 式3.3 冋样,我们还是把本章节利开始提出的式子老出来,负样本的求与前面都很类似,乜是概最大化,同样是如 下表达式 T=∑log( context(n),式 只不过此时p( context( w)9值有变化了 p( context(w)=∏ p(u conter (wi 式331-2 p(u context(w)) F(V 1-(2)2F-0 式331-3 o(V B)11-o(V 02) 那么 T=2 log r(u context(w) ∈{t {logo(V)2+lg-σ(ve2) M∈C ∈{wNcg(w {(2)lgG(2)+(1-y2)og[1-a(Ve)} wy八egw)} 式3.3.1-4 ∑{ga(V02)+∑log[l-σ(vD)} 5)=∑{g(V)+∑loga(V)} 332梯度计算 为了方便计算,我们令 C(,z)=(H2)loga(V62+(1-2)log1-a(V6)]式3321 8/15 Word 2vec AllanSpark 3321日的梯度计算 刘θ求导得: aC(u, z a()loga(v6)1+(1-y)log[1-o(V 61 1-o(v81V-(1-Yo(V8)V 式332.1-1 -o(V0IV 对于92弹度史新公式可写为: 2+1=02+a ac(u =62+cY2-o()」V 3322v的梯度计算 CC(2)O(Y2)lg[(V6)+(1-F2)log1-σ(V6)} 1-a(Ve1e-(1-X)o(0) 式332.2-1 -(Ve) 对于V的梯度更新公式可写为 aL I=+a∑ , rC context()式33222 ∈{{w}小NegW)} ay 333伪代码 e=0 for u=ujNeglw): q ye g=ar, -gl e=e+gb =+g 15 Word 2vec AllanSpark Jor ue conlexl(w ): 注:上面的伪代码交量对应 word2vec的源码关系:syn0对应V,neu1对应V,neu1e对应e,syn1neg对应 4Skip-gram模型 41公式推导 对于skip-gram模型而言,是已知当前w求其上下文 context(w的概率。因此式-可以做如下转换 P(context(w)) P(contert(w)l wi) 式41-1 式41-2 其中 V,")=[G(Ve)]2米 4.1-3 那么,我们可以将对数似然佔计写成: ∑∑∑lg∝(Ve") g 式41-4 我们为了方便计算,令Cw;ui) C(mv4)=log{lo(Ve")}(1-(v2O")“} 式415 =(1-dMilogla(vb/)]+d log[1-o(v8) 有了以上的式了推导,我们就可以方便的利用随机梯度上升法对其进行优化 42基于 Hierarchical softmax梯度计算 4216的梯度计算 首先以O,为变量,对其求导 10/15

...展开详情
试读 15P word2vec理论推导
立即下载 低至0.43元/次 身份认证VIP会员低至7折
一个资源只可评论一次,评论内容不能少于5个字
leichangqing 非常好的资料
2019-02-27
回复
bzljn 推导过程可以看看。
2018-04-13
回复
hanwei2008123 不是很清楚, 有几处笔误, 建议直接看源代码
2016-07-20
回复
易拉罐206 其实需要强大的数学功底才能够弄透啊
2015-12-15
回复
ccc8848 很有帮助,需要细细推导慢慢看,感谢分享
2015-10-15
回复
sinat_29417095 非常有帮助, 看懂还是需要有数学基础的
2015-07-23
回复
laofeng_ 内容挺好,没有数学基础看不懂。
2015-06-26
回复
bugiou 不同与之前看的编排方式, 推荐下载看看, 谢谢楼主分享。
2015-06-17
回复
您会向同学/朋友/同事推荐我们的CSDN下载吗?
谢谢参与!您的真实评价是我们改进的动力~
关注 私信
上传资源赚钱or赚积分
最新推荐
word2vec理论推导 44积分/C币 立即下载
1/15
word2vec理论推导第1页
word2vec理论推导第2页
word2vec理论推导第3页

试读结束, 可继续读2页

44积分/C币 立即下载 >