我在Python中使用Doc2Vec
函数gensim将文档转换为向量。如何解释gensim的Doc2Vec函数中的“size”参数?
使用
model = Doc2Vec(documents, size=100, window=8, min_count=5, workers=4)
的一个例子,我应该如何解读size
参数。我知道如果我设置size = 100
,输出向量的长度将为100,但这意味着什么?例如,如果我将size
增加到200,有什么区别?
我在Python中使用Doc2Vec
函数gensim将文档转换为向量。如何解释gensim的Doc2Vec函数中的“size”参数?
使用
model = Doc2Vec(documents, size=100, window=8, min_count=5, workers=4)
的一个例子,我应该如何解读size
参数。我知道如果我设置size = 100
,输出向量的长度将为100,但这意味着什么?例如,如果我将size
增加到200,有什么区别?
不同之处在于模型可以捕捉的细节。一般来说,您给Word2Vec的尺寸越多,模型越好 - 直到某个点。
通常大小在100-300之间。你总是不得不考虑更多的维度也意味着,需要更多的内存。
你好,非常感谢你的评论。但是我的问题是,模型“捕获”了什么?例如,在TF模型中,如果我设置size = 100,它将返回100个最常用的单词 - 这很容易理解。但在Doc2Vec中,我并不是很了解。 – mamatv
问题是,你根本无法说出更多维度会产生什么效果。你必须以不同的方式来看待它。当你有100个维度时,你只有100个变量来建模一个单词的关系。但有300个维度,你有300个。所以理论上它可以捕捉更多细节,因为它在训练过程中有更多可变因素。或简称:Tweet与Book,您会在哪里找到关于某个主题的更详细的概述? :D – Saytiras
你好@Saytiras,我完全理解它:),但我的问题是,“100”是什么意思。例如,正如我所说的,在TF模型中,100表示文本中最常用的100个单词,所以如果将参数更改为200,则会返回200个最常出现的单词。但是在Doc2Vec中,它在技术语言中意味着什么? – mamatv
Word2Vec捕获字基本上意味着分布表示,多个神经元捕捉单个概念(概念可以是语音等的字义/情绪/部分),并且还单个神经元有助于多个概念 。
这些概念是自动学习的,并没有预先定义,因此您可以将它们视为潜在/隐藏。同样出于同样的原因,单词向量可以用于多个应用程序。
尺寸参数越多,您的神经网络表示这些概念的能力越多,但需要更多数据来训练这些向量(随机初始化)。在没有足够数量的句子/计算能力的情况下,最好保持size
小。
Doc2Vec与Word2Vec相比略有不同的神经网络体系结构,但size
的含义是类似的。
你好,你的意思是“尺寸”是神经网络Doc2Vec中用于训练和输出矢量的神经元数量? –
每层神经网络中神经元的数量将取决于体系结构,无论是DBOW还是DM。结帐(在答案中提到) – kampta
啊,大小黑魔法! – alvas