Word2Vec 应该训练多少个 epoch?什么是推荐的训练数据集?
How many epochs should Word2Vec be trained? What is a recommended training dataset?
我正在使用 TensorFlow 教程学习 Word2Vec。我 运行ning for Word2Vec 的代码也来自 TensorFlow 教程:https://github.com/tensorflow/models/blob/master/tutorials/embedding/word2vec_optimized.py。当我 运行 15 个 epoch 的代码时,测试准确率在 30% 左右。当我 运行 进行 100 个 epoch 时,测试准确率达到了 39% 左右。我正在使用 Text8 数据集进行训练和问题-words.txt 进行评估。
我需要 运行 更多的 epoch 吗?我应该使用不同的数据集吗?如何提高测试准确性?
数据集越大越好; text8
非常非常小——足以显示词向量的一些类比解决能力,但不足以用于其他目的。
更多的迭代可能有助于从较小的数据集中挤出稍强的向量,但会逐渐减少 returns。 (对弱数据集进行的额外迭代次数无法提取更大、更多样化的语料库所能提供的同样丰富的相互关系。)
有一个来自同一来源的相关 text9
,如果我没记错的话,它大 10 倍。使用它可能会比在 text8
.
上进行 10 倍以上的迭代得到更好的评估结果
我相信发布后的 300 万个预训练向量 Google – GoogleNews
集 – 是在一个包含 1000 亿个单词的新闻文章的语料库上训练的,但只有 3 遍。
请注意,词向量质量没有单一标准:questions-words.txt
类比求解只是一种方便的评估,但最擅长的词向量可能在你自己的领域并不最好- 具体分析。类似地,在一个文本域上训练的词向量,比如新闻文章中的 GoogleNews
集,与更匹配你的域的文本(比如论坛帖子、科学文章等——它们都使用不同的文本)相比,可能表现不佳用不同的方式表达)。
因此,通常最好使用您自己的语料库和您自己的特定目标量化评估,以帮助调整 corpus/parameter 选择。
我正在使用 TensorFlow 教程学习 Word2Vec。我 运行ning for Word2Vec 的代码也来自 TensorFlow 教程:https://github.com/tensorflow/models/blob/master/tutorials/embedding/word2vec_optimized.py。当我 运行 15 个 epoch 的代码时,测试准确率在 30% 左右。当我 运行 进行 100 个 epoch 时,测试准确率达到了 39% 左右。我正在使用 Text8 数据集进行训练和问题-words.txt 进行评估。
我需要 运行 更多的 epoch 吗?我应该使用不同的数据集吗?如何提高测试准确性?
数据集越大越好; text8
非常非常小——足以显示词向量的一些类比解决能力,但不足以用于其他目的。
更多的迭代可能有助于从较小的数据集中挤出稍强的向量,但会逐渐减少 returns。 (对弱数据集进行的额外迭代次数无法提取更大、更多样化的语料库所能提供的同样丰富的相互关系。)
有一个来自同一来源的相关 text9
,如果我没记错的话,它大 10 倍。使用它可能会比在 text8
.
我相信发布后的 300 万个预训练向量 Google – GoogleNews
集 – 是在一个包含 1000 亿个单词的新闻文章的语料库上训练的,但只有 3 遍。
请注意,词向量质量没有单一标准:questions-words.txt
类比求解只是一种方便的评估,但最擅长的词向量可能在你自己的领域并不最好- 具体分析。类似地,在一个文本域上训练的词向量,比如新闻文章中的 GoogleNews
集,与更匹配你的域的文本(比如论坛帖子、科学文章等——它们都使用不同的文本)相比,可能表现不佳用不同的方式表达)。
因此,通常最好使用您自己的语料库和您自己的特定目标量化评估,以帮助调整 corpus/parameter 选择。