【问题标题】:What are the negative & sample parameters?什么是负参数和样本参数?
【发布时间】:2021-10-29 01:30:52
【问题描述】:

我是 NLP 和 doc2Vec 的新手。我想了解doc2Vec的参数。谢谢

Doc2Vec(dm=0, vector_size=300, negative=5, hs=0, sample = 0, seed=0)

  1. vector_size:我相信这是为了控制过拟合。更大的特征向量将学习更多细节,因此它往往会过度拟合。有没有一种方法可以根据文档的数量或所有文档中的总字数来确定合适的向量大小?

  2. 否定:应该画多少“噪音词”。什么是干扰词?

  3. sample:配置哪些高频词随机下采样的阈值。那么sample=0是什么意思呢?

【问题讨论】:

    标签: doc2vec


    【解决方案1】:

    作为初学者,只有vector_size 会引起最初的兴趣。

    典型值为 100-1000,但更大的维度需要更多的训练数据和更多的内存。没有硬性规定 – 尝试不同的值,看看哪种值适合您的目的。

    非常模糊,你会希望你的唯一词汇单词的数量比vector_size 大得多,至少是vector_size 的平方:算法的要点是强制许多单词变成更小的 -维数。 (如果出于某种原因,您要对少量数据和少量词汇进行实验——word2vec 无论如何都不是很好——您将不得不将vector_size 缩小到非常低的水平。)

    negative 值控制了内部神经网络如何调整的细节:网络调整了多少随机“噪声”词远离预测它调整的每个目标积极词走向预测。默认值 5 很好,除非/直到您有一种可重复的方式来严格针对它对其他值进行评分。

    同样,sample 控制有多少(如果有的话)频率较高的单词有时会被随机跳过(下采样)。 (这么多冗余的使用示例是多余的,浪费了训练时间/精力,最好将其花在稀有词上。)同样,如果您有办法比较替代值的结果,您只想修补它。较小的值会使下采样更具侵略性(删除更多单词)。 sample=0 将完全关闭这种下采样,保留所有训练文本单词。

    虽然你没有问:

    dm=0 关闭默认 PV-DM 模式以支持 PV-DBOW 模式。这将更快地训练文档向量,并且通常在短文本上效果很好,但不会训练单词向量(除非你打开额外的 dbow_words=1 模式来添加 - back interleaved ski-gram word-vector training)。

    hs 是训练神经网络的另一种模式,它使用单词的多节点编码,而不是每个(正或负)单词一个节点。如果通过hs=1 启用,您应该使用negative=0 禁用负采样。但是负采样模式是默认模式是有原因的,并且随着大量训练数据的使用往往会变得相对更好 - 所以很少使用这种模式。

    【讨论】:

      猜你喜欢
      • 2013-06-19
      • 2013-06-08
      • 1970-01-01
      • 1970-01-01
      • 2010-09-14
      • 1970-01-01
      • 2017-10-31
      • 1970-01-01
      相关资源
      最近更新 更多