math - word2vec算法中2个超点之间的最大欧几里得距离是多少?
问题描述
我一直在考虑使用 Word2vec 来解决问题。我知道您可以使用余弦距离,这意味着如果超点相同,则最小距离可以为 0 或 1,因为在最大值的情况下余弦从 [-1,1] 跨越。这同样适用于欧几里得距离的最小值。我的问题是在实践中,当使用 word2vec 将它们投影到同一个超空间中时,两个所说的词可以达到的最大欧几里德距离是多少?可以用数学方法估计吗?理论上是无限的吗?
解决方案
训练过程不一定会限制词向量的结束,所以我相信两个词之间的欧几里德距离可能会变得任意大。
但是,它们只会在任意多的训练通行证下变得任意大,并且可能仅在某些极端训练语料库上。正常的语言种类和有限的训练次数意味着在实践中向量不会离原点太远。
在进行单词到单词比较之前,通常对单词向量进行单位标准化,以便它们的大小都为 1.0(因此位于“单位超球面”上)。如果您已完成此规范化:
虽然欧几里得距离和余弦距离将是不同的值,但最近邻居的排名顺序将是相同的,无论您使用哪个
任何两个向量之间的最大距离将为 2,对于超球面上彼此完全相反的点
推荐阅读
- swift - 在 NSTextView 或类似的可编辑文本字段 Mac 上以编程方式运行替换?
- java - 如何使文本中的所有单词都可点击?
- r - 一栏日期变成两栏日期
- bash - 在同一行中获取 curl 响应和参数
- python - 如何使用 str 函数和字符串索引/切片将字符串转换为浮点值?
- identityserver4 - IdentityServer4 基于角色的授权与 ASP.NET Core 身份和 EF 模型
- excel - 除非我使用修剪,否则 VBA 字典添加无法读取 Excel 工作表标题
- coffeescript - Atom 包 - setInterval 未调用该函数
- python - Pyspark - dataframe..write - AttributeError:'NoneType'对象没有属性'mode'
- python - Python - 是 conda-pack 跨平台,达到什么水平