【问题标题】:H2O Word2Vec inconsistent vectorsH2O Word2Vec 不一致向量
【发布时间】:2019-02-12 02:21:05
【问题描述】:

我有一个关于特定主题的一般性问题。

我正在使用 Word2Vec 生成的向量作为特征馈送到我的分布式随机森林模型中,以对一些记录进行分类。我有数百万条记录,并且每天都会收到新记录。由于有新记录进来,我希望新记录使用与以前记录相同的向量模型进行编码。这意味着“AT”这个词现在和将来都是同一个向量。 我知道 Word2Vec 使用随机种子为语料库中的单词生成向量,但我想将其关闭。我需要设置种子,这样如果我今天在数据的一部分上训练模型,然后在未来再次在相同的数据上训练,我希望它为每个单词生成具有完全相同向量的相同模型。 生成新模型然后进行编码的问题在于,对这些记录进行编码需要花费大量时间,除此之外,我的 DRF 分类模型不再适用,因为单词的向量已经改变。所以我必须重新训练一个新的 DRF。 通常这不会是一个问题,因为我可以只训练一个模型然后永远使用它;但是我知道一个好的做法是定期更新你的包。这对 h2o 来说是个问题,因为一旦您更新,与在先前版本上生成的模型没有向后可比性。

我是否可以阅读有关如何在 Word2Vec 模型上为 python 中的 h2o 设置种子的任何资料?我正在使用 Python 3 版和 h2o 3.18 版

【问题讨论】:

    标签: python word2vec h2o


    【解决方案1】:

    h2o-3 中的 word2vec 使用 hogwild 实现 - 模型参数从多个线程同时更新,无法保证此实现中的可重复性。

    您的文本语料库有多大?以模型训练速度减慢为代价,您可以通过将算法限制为仅使用单个线程(h2o 启动参数-nthread)来获得可重现的结果。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-10-27
      • 2017-07-05
      • 2016-03-14
      • 1970-01-01
      • 2016-09-05
      • 1970-01-01
      • 2012-05-22
      • 1970-01-01
      相关资源
      最近更新 更多