Word2Vec的相关知识
1.预备知识
1.1 统计语言模型
统计语言模型是用来计算一个句子的概率的概率模型,通常是基于一个语料库来构建的。而一个句子的概率可以用一下的公式来表示:
p(W)=p(wT1)=p(w1,w2,⋅⋅⋅,wT) (1.1)
其中,
W=wT1:=(w1,w2,...,wT)
,表示由
T
个词
p(wT1)=p(w1)⋅p(w2|w1)⋅p(w3|w21)⋅⋅⋅p(wT|wT−11) (1.2)
1.2 n-gram 模型
首先假设,与它前面的所有词都相关,那么我们有:
p(wk|wk−11)=p(wk1)p(wk−11) (1.3)
那么,根据大数定律,也就是在语料库足够大的情况下,我们有:
p(wk|wk−11)=count(wk1)count(wk−11) (1.4)
其中, count(wk1) 表示句子 wk1 在语料中出现的次数, count(wk−11) 表示句子 wk−11 在语料中出现的次数。
如果计算所有的词,那么计算量将会非常的大,因此使用
n
元模型。它就是一个词出现的概率与它的前面的
p(wk|wk−11)≈p(wk|wk−1k−n+1)
因此得到如下公式:
p(wk|wk−11)≈count(wkk−n+1)count(wk−1k−n+1)
n
一般取
1.3 sigmoid函数
sigmoid函数是神经网络中的激活函数之一,在不同的阈值下会有不同的输出结果。其定义为:
σ(x)=11+e−x
该函数的定义域为: (−∞,+∞) ,值域为 (0,1) .
https://upload.wikimedia.org/wikipedia/commons/thumb/2/2f/Error_Function.svg/600px-Error_Function.svg.png‘/ width=’400’>
图1 sigmoid函数的图像
sigmoid的导函数有一下形式:
σ′(x)=σ(x)[1−σ(x)]
由此可得到,函数 logσ(x) 和 log(1−σ(x)) 的导函数分别为:
[logσ(x)]′=1−σ(x) , [log(1−σ(x))]′=−σ(x)
1.4 逻辑回归
用于解决二分类问题,对样本数据 {(Xi,yi)}mi=1 为一个而分类问题的样本数据,其中 Xi∈Rn , yi∈{0,1} ,当 yi=1 时,称对应的样本 Xi 为正例,反之为负例。