如何将一对向量馈送到分类器以对类似/不相似进行分类

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

我试图将文档向量对(Doc2Vec,每个文档300个特征)分类为相似/不相似。我尝试了远距离色彩(余弦等)以及文档大小等附加功能,但没有达到完美的效果,特别是因为我怀疑,只有部分功能对我的问题有意义。

将两个向量馈送到分类器(LogisticRegression,SVM等)的简单但有效的方法是什么?

  • 我已经测试了从另一个向量减去一个向量并使用绝对结果作为特征向量:abs(vec1 -vec2)但这比距离混乱更糟糕
  • 我也尝试了两个向量的连接,也有更糟糕的结果。我怀疑尺寸加倍会增加训练样本的需要,至少对于某些分类器而言?

是否有最先进的方法来对特征向量之间的相似性或关系进行分类?或者,如果有一个concurent方法,哪一个更喜欢哪个问题/分类器?

machine-learning svm logistic-regression similarity doc2vec
1个回答
1
投票

通常,您的目标是对文档进行矢量化(例如通过Doc2Vec),以给出向量,其中向量之间的相似性是有用的连续相似性度量。 (通常这是余弦相似性,但在某些情况下,欧几里德距离也值得尝试。)

如果从Doc2Vec阶段出来的向量还没有表现出来,那么首先要做的是调试和优化该过程。这可能涉及:

  • 仔细检查所有内容,包括进程的记录输出,以查找错误
  • 调整文档预处理,以确保保留显着的文档功能并丢弃噪声
  • 调整Doc2Vec元参数和模式,以确保生成的向量对最终目标中重要的相似性敏感。

如果没有关于您的数据大小和特征,Doc2Vec选择/代码以及最终目标的更多详细信息,很难说更多关于改进这一步骤。

你是如何决定两个文件是否“足够相似”?您有多少这样的评估数据可以帮助以可重复的,定量的方式对不同的Doc2Vec模型进行评分。 (能够进行这样的自动评分将让你测试更多的Doc2Vec排列。)是否存在doc对的例子,其中简单的doc-vector余弦相似性运行良好,或者效果不好?

到目前为止,我看到你选择的单词中有两个红旗:

  • “没有达到完美的结果” - 获得“完美”的结果是一个不切实际的目标。考虑到项目的资源和容易度,您希望找到与最新技术水平相近的东西
  • “每个文档300个功能” - Doc2Vec并不真正找到独立的“300个功能”。它是一个单一的300维“密集”“嵌入”矢量。每个方向 - 不仅仅是300个轴 - 都可能是有意义的。因此,即使某些“方向”对您的需求更为重要,它们也不可能与精确的尺寸轴完全相关。

有可能(v1 - v2)差异的分类器,或(v1 || v2)连接,可以帮助改进“相似或不相似”的决定,但你需要大量的训练数据,也许是一个非常复杂的分类器。

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