Word2Vec:如何将值映射到低维

时间:2017-10-23 15:21:01

标签: math deep-learning mathematical-optimization word2vec

我有一个大小为500000的词汇表,我已经读过,选择100-300之间的尺寸大小是好的,如何将这么大的稀疏矩阵转换为100×100密集矩阵。我经历了很多文章,但无法理解数值如何进入100 X 100矩阵。

我已经阅读了CBOW并跳过了克并理论上理解它是如何工作的,但如果我为每个单词计算它,它仍然是500000 X 500000维矩阵,它如何转换为100 X 100维

1 个答案:

答案 0 :(得分:1)

您不必将任何事物视为从更高维度的表示中“转换”。每个单词都被赋予目标维度的初始的,完全随机的(但是低幅度的)向量。所以说100维度。

然后,使用这些100维向量(单独在skip-gram中,或在CBOW中的平均组中)通过浅层神经网络预测附近的单词 - 并且因为向量是随机开始的,所以它们很糟糕那。但是,其预测误差的反向传播(通过负采样或分层 - softmax评估)推动神经网络隐藏层权重,然后推动输入矢量权重,以便在预测中反复获得稍微好一些。

最终,他们在预测中尽可能地利用当前的训练数据,在您愿意投入的努力量(周期)内。

此时,他们仍然是100维向量 - 他们从来没有更多 - 但他们将被转移到具有word2vec预期的其他有益品质的相对安排。