1.负采样的目的:减少参数的计算量:每次让一个训练样本仅仅更新一小部分的权重
目标词:正样本 其他词:全都是负样本
比如中间维度是300,输出的词典维度是10000。也就是有9999个负样本。如果按正常采样更新参数,那么在此需要更新一个300*10000的参数矩阵。
而目标词之和前后若干词相关,离的太远的词对其影响不大,所以如果对每个目标词训练的时候,只更新她相邻的若干词的参数矩阵,那么计算量就将极大地减小
对于大数据集,负采样只取2-5个词。对于小数据集,负采样去5-20个词
2.取词依据:
比如对一个目标词汇是10000的小数据集,假设负采样的size是6,那么如何确定是哪6个佼佼者被取出来呢?
按如下概率
其中Wi是候选词,f 是该词的词频 3/4次方是为了在相同的概率下取出词频更小的词,词频越低,被取概率越大。也就是多考虑不常用的词。