Gensim Word2vec模型参数调整

问题描述 投票:0回答:1

我正在研究Word2Vec模型。有什么方法可以获取其参数之一即iter的理想值。就像我们在K均值(Elbo曲线图)中使用do来获取K值的方法一样。或者在此模型上还有其他方法可以进行参数调整。

gensim word2vec
1个回答
0
投票

word2vec会话没有一组理想的参数-这取决于您对字向量的预期用法。

例如,一些研究表明,使用较大的window倾向于以对主题/域相似度更敏感的方式来定位最终向量,而较小的window值则会使单词邻域变得更语法化/ function相互替换。因此,根据您的特定项目目标,在此处需要一个不同的值。

((类似地,因为原始的word2vec论文基于单词向量对解决一组英语类比问题的有用性来评估模型并调整了模型的元参数,所以许多人经常对其模型进行调整以在同样的类比任务。但是我见过这样的情况,即在为下游分类任务做出贡献时,在这些类比上得分最高的模型会变得更糟。)

所以,您真正想要的是一种特定于项目的方式来对一组与您的目标非常匹配的单词向量进行评分。然后,您运行许多备用的word2vec培训课程,并选择最适合您分数的参数。

iter / epochs的情况是特殊的,因为根据基本的随机梯度下降优化方法的逻辑,理想情况下,您希望为每个时期使用尽可能多的训练时期运行“损失”以停止改善。到那时,考虑到其固有的自由参数和结构数量,该模型看起来可能是“收敛的”。 (对于某些示例,任何进一步的内部调整都会对其进行改进,而对其他示例而言,则会使其恶化,反之亦然。)

因此,您可能会观看此“丢失”,并选择一些训练迭代,这些迭代足以显示“丢失”停滞(在狭窄的窗口中上下抖动)几步。但是,gensim中的损失报告还不是很理想–请参阅项目bug#2617 –以及许多word2vec实现,包括gensim和Google研究人员发布的原始word2vec.c代码,只是让您设置固定计数训练迭代,而不是实施任何对损耗敏感的停止规则。

© www.soinside.com 2019 - 2024. All rights reserved.