【问题标题】:Machine learning Curse of dimensionality机器学习维度诅咒
【发布时间】:2016-09-26 04:32:31
【问题描述】:

我有来自 word2vec 模型的 500 暗度和 1000 暗度的词向量。我正在计算 500 和 1000 暗淡的一些示例向量之间的欧几里得距离。我的问题是我读过关于维度诅咒的论文:欧几里得距离在高维空间中不起作用。但在这里,两个维度的结果非常相似。 我计算了 1000 个暗向量之间的欧几里得距离:

distance beween girl and boy 
18.1915241847 
cosine between girl and boy
 0.785652955784 
l1 distance beween girl and boy
 18.1915241847 
distance between girl and neither 
35.549272401 
cosine between girl and neither 
-0.0117403359958 
distance between boy and neither 
34.5523976193
 cosine between boy and neither
 -0.0129663966118 
distance between girl and charger 
28.65625576 
cosine between girl and charger
 0.119322070804 
distance between either and neither 
25.1379275604 
cosine between either and neither
 0.357230346462

在 500 暗处是:

distance between girl and boy 
13.9897543378 
cosine between girl and boy 0.864196148736 
l1 distance between girl and boy 
13.9897543378 
distance between girl and neither 
35.1385895164 
cosine between girl and neither 
-0.000815672156041 
distance between boy and neither
 34.1677078497 
cosine between boy and neither 
0.00703764567668 
distance between girl and charger 
27.689731876 
cosine between girl and charger
 0.113056294897 
distance between either and neither 
0.0 
cosine between either and neither 
1.0 

有人可以解释为什么会这样吗?是不是跟稀缺有关?

【问题讨论】:

  • “欧几里得距离在高维空间中不起作用”——这不是维度的诅咒。
  • 我已阅读 Aggarwal、Hinneburg 和 Keim 的《关于高维空间中距离度量的令人惊讶的行为》。
  • 实际上没有理由欧几里得距离不起作用,在数学意义上。但是一个不确定的系统,也许是你的情况,通常有无用的变量,摆脱它们通常会提高回归器/分类器的性能。你应该寻找模型选择,降维,主成分分析。
  • 还有一点是:随着变量数量的增加,获得线性可分问题的机会也会增加,但变量过多可能会插入不相关的信息。当你持有这些无用的变量时,你就有了一个非空间模型。
  • @DavidClifte 据我所知,在更高的暗度平均值中,最小和最大距离是相同的。但是,这可能是在稀疏数据的情况下。但这是我的问题

标签: python python-2.7 machine-learning word2vec


【解决方案1】:

这似乎与稀疏无关。它更像是一个属性或文本表示问题。只需检查 500 dim 在计算“既不”和“任一”向量之间的余弦时,您得到几乎 100% 的相似性,但在使用 1000 dim 时得到 35% 的相似性。虽然其他数据比较做的完全一样,但这个简单的例子是不同的,它说明你的计算或表示是错误的。您是实施欧几里得距离法还是从某个地方获得的?您是实现了 word2vec 模型还是从某个地方获取了它?

【讨论】:

  • Martinez 我也注意到了这一点。这些向量来自 word2vec 的 gensim 模型,我正在使用 linag 库计算欧几里德和余弦距离。我检查了任何错误,但没有发现任何错误。所以我假设结果是正确的
【解决方案2】:

当维数趋于无穷时,分布在高维空间中的点的最小和最大距离之间的差异会消失。然而,这种效应假设向量维度是独立同分布的。在你的情况下,你离无穷大还很远,而且词嵌入向量很可能不是相同且独立分布的,所以效果不是那么强。

您可能仍会注意到,在您的男孩与女孩/两者的示例中,1000 维向量(18 与 35)的距离对比小于 500 维向量(13 与 35)。 35)。撇开分布假设不谈,当进一步增加维度时,这应该会变得更糟。

【讨论】:

    【解决方案3】:

    根据您最初的问题,我相信您是在比较词向量之间的距离。维度诅咒简单地说,随着维度的增加,我们还需要更多的数据来补偿不断增加的空间。如果你碰巧用足够大的数据训练 word2vec,单词之间的语义属性应该仍然成立。

    但是你的结果看起来不太好。我预计 'neither' 和 'either' 之间的余弦相似度接近 0.0,因为这两个词完全相反。您可以尝试计算更明显单词的欧几里得距离以检查正确性吗?从最初的 word2vec 网站,他们的例子展示了单词“Paris”和“France”之间的相似性。

    祝你好运!

    【讨论】:

    • 我正在使用 google news20 文本语料库进行训练。由于两者都出现在相同的上下文中,我认为它们应该更接近
    猜你喜欢
    • 2010-11-21
    • 2020-02-17
    • 1970-01-01
    • 1970-01-01
    • 2015-02-23
    • 2020-09-09
    • 2017-12-25
    • 1970-01-01
    • 2012-04-08
    相关资源
    最近更新 更多