传送门
Word2Vec
Optimization
梯度下降,随机梯度下降。
实质上是无监督学习,每个batch的最小单位可以是一组word2word的映射,输入值是一个中心词,输出值是一个其对应的outside词,要学习是从中心词要其对于outside词的映射,训练结束后只需要过程中的隐藏层信息,即词向量。
More Detials of Word2Vec
一个词要两个向量的原因?
为了更容易优化,但是一个也行事后可以对两个向量取平均值 两种变种模型
Skip Grams 即由中心词预测上下文(第一节课所述模型即SG)Continunous Bag of Words 即由上下文推测中心词 Negative Sampling 负采样
每个训练sample只有一个输出为1,剩下的都为0,所以只需要选取
K
K
K 个 0 输出点(即其对应的outside词向量)进行更新即可,如
J
n
e
g
−
s
a
m
p
l
e
(
o
,
v
c
,
U
)
=
−
log
(
σ
(
u
o
T
v
c
)
)
−
∑
k
=
1
K
log
(
σ
(
−
u
k
T
v
c
)
)
J_{neg-sample}(o,v_c,U)=-\log(\sigma(u_o^Tv_c))-\sum_{k=1}^K\log(\sigma(-u_k^Tv_c))
Jneg−sample(o,vc,U)=−log(σ(uoTvc))−k=1∑Klog(σ(−ukTvc)) 其中
σ
\sigma
σ 表示sigmoid函数。这样就可以将一个多分类问题变成一个二分类问题来处理。
其他方法
Co-occurrence vectors共现矩阵
即将上一章中的无向完全图用矩阵表示写出,问题明显,即过于稀疏,体积过大,鲁棒性差
Solution: 只储存那些更重要的信息,压缩维度,类似WORD2VEC
Dimensionality Reduction on X (HW1)
对共现矩阵做奇异值分解,再重新组合,形成一个更小的矩阵
Update: 将出现次数特别多的词,如the,he,has 单独处理
词向量的评估
内部方法:规定一个中间方法,在词向量应用算法得到另一个词之后,我们对比词向量得到的词是否与我们人为规定的词相符。我们统计其预测的正确率,以此来代表词向量的好坏。外部方法:用一个真正的NLP任务来评价