论文解读:词向量作为隐式矩阵分解(SGNS)
1. 前言
解读SGNS(skip-gram with negative-sample)的训练方法。
1.1 skip-gram 模型:
利用当前时刻的词,预测它上下文的内容
公式:
对于序列 w1, w2, …, wT, Skip-gram最大化平均的log 概率。
p(w|w_t) 使用softmax函数:
这里, W是词汇表中单词的数量。
1.2 Skip-gram + negative sampling:
从上面可以看到,如果直接使用 softmax是不靠谱的, 因为计算量和词汇表的数量W有关,而一般词汇表大小为 到次方。
训练目标希望使用logistic regression来区别出目标词 和噪声分布 . 并且每个数据样本使用了 k 个负样本(对于小训练集,取5-20, 对于大的数据集可以取 2-5)。
此外,负样本采样的概率为各词频的 3/4 次幂,增加低频的采样概率。
2. SGNS
参考: