machine-learning - 了解嵌入向量维度

标签 machine-learning neural-network deep-learning nlp recurrent-neural-network

在深度学习中,特别是 NLP 中,单词被转换为向量表示,然后输入到 RNN 等神经网络中。引用链接:

http://colah.github.io/posts/2014-07-NLP-RNNs-Representations/#Word%20Embeddings

在词嵌入部分,据说:

A word embedding W:words→Rn is a paramaterized function mapping words in some language to high-dimensional vectors (perhaps 200 to 500 dimensions)

我不明白向量维度的目的。与20 维向量相比,200 维向量意味着什么?

它是否提高了模型的整体准确性?谁能给我一个关于向量维数选择的简单例子。

最佳答案

这些词嵌入也称为分布式词嵌入,基于

you know a word by the company it keeps

引用John Rupert Firth

因此,我们可以通过上下文了解单词的含义。您可以认为(单词)向量中的每个标量都代表其概念的强度。这张幻灯片来自Prof. Pawan Goyal解释了这一切。

enter image description here

因此,您需要良好的向量大小来捕获相当数量的概念,但您不想要太大的向量,因为它将成为使用这些嵌入的模型训练的瓶颈。

此外,向量大小大多是固定的,因为大多数人不训练自己的嵌入,而是使用公开可用的嵌入,因为它们在大量数据上训练了多个小时。因此,使用它们将迫使我们使用嵌入层,其尺寸由您正在使用的公开可用的嵌入(word2vec、手套等)给出。

分布式词嵌入是 NLP 深度学习领域的一个重要里程碑。与基于 tfidf 的嵌入相比,它们提供了更好的准确性。

关于machine-learning - 了解嵌入向量维度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56075919/

相关文章:

python - 交叉熵损失突然增加到无穷大

string - PySpark 上分类输入的随机森林回归

r - 如何在 R 中计算 KNN 变量重要性

machine-learning - 为什么在 mnist fasion keras 代码中,softmax 工作正常,但 sigmoid 工作不正常?

neural-network - 是否可以在 Vowpal Wabbit 中训练具有多个隐藏层的神经网络?

machine-learning - 如何识别导致客户不满意的输入范围?

python - 输入深度必须能被过滤深度 : 1 vs 3 [[{{node model/conv1_conv/Conv2D}}]] 整除

python - 获取 scikit-learn tf-idf 矩阵中的文档名称

python - 生成器 "TypeError: ' 生成器的对象不是迭代器”

python - 从 .ckpt 和 .meta 文件中获取输入和输出节点名称