Word2Vec - 在训练数据或整个数据上进行训练

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

我希望创建一个 word2vec 模型并希望在本地数据上训练它。所以,问题是,我应该在整个数据上训练 word2vec 模型,还是应该将数据分成训练和测试,然后在训练数据上训练我的 word2vec 模型以避免数据泄漏,因为我打算使用机器学习算法执行分类任务。我不想使用预训练的嵌入。

我已经在整个数据集上训练了 word2vec,但感觉这会导致机器学习模型构建期间的数据泄漏

nlp stanford-nlp gensim word2vec embedding
1个回答
0
投票

word2vec 算法是一种“无监督”方法:它根据可用的原始完整数据工作,无需您根据查看您想要的类直接告诉它所需的结果。

因此,在某些意义上,对于许多用途,将其用作通用功能增强步骤是合适的,可以使用所有可用数据,甚至包括通常为单独监督分类“保留”的测试示例步。只要确保文本中没有任何部分将已知类别标签直接与文本单词相关联即可。

(类似地:如果您有很多来自同一使用域的未标记示例,它们通常可以帮助改进这个无监督步骤,即使这样的未标记示例当然不能提供给监督分类步骤。)

请注意,“避免数据泄漏”的全部原因是当您在相互试验和测试多种方法时,避免在评估上欺骗自己。也就是说:您希望您的完整训练/学习流程是一个公平的“模拟”,从而对您选择的方法在真实情况下使用真正未标记的数据(包括在实验时不可用的新数据)的最终成功进行可靠的估计. 但是,*在您选择了一种方法之后,当将冻结方法部署到生产中时,您通常会使用

所有

标记的示例进行重新训练,因为不再需要重新估计相同数据的预期性能准确一点。 在后面的步骤中,您的首要任务是使用您知道的

一切

在真正未知的项目上做到最好。这些新产品的成功程度稍后将通过其他方式得到证明。 (也许:对某些子集进行进一步的手动审查/标记,或相对成功的隐式指标,或稍后重新开放更严格的实验阶段。) 现在,在某些情况下,最终使用可能会定期尝试对新示例进行分类,这些示例的未标记文本在模型创建时不可用,并且在这种情况下您需要更准确的估计技术。您

可能

想要通过使用无监督的 word2vec 功能来模拟此类情况,该功能无法查看大量未标记的文本。 但相反,可能存在(大批量)部署情况,本质上,所有未标记/未知文本的模式始终可用于增强无监督建模功能丰富。然后,因为这些数据将在基本的分类器训练之前定期提供,所以它

绝对

更能代表您的真实使用场景。 所以总的来说,在“测试”示例的大量无标签文本上训练你的无监督功能是……

通常可以,并且实际上完成没有问题,因为它不会污染监督

步骤
  • 但有时,你真正想要测量的东西的特殊性可能会建议你不要这样做——或者相反,强烈建议你应该这样做
  • 您不妨尝试两种方法,以更好地了解其效果,无论是一般情况还是根据您的具体数据。
  • (并且:如果存在巨大差异而不是增量差异,请深入挖掘以了解原因 - 您的数据/需求可能是一种独特的情况。)

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