首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何计算两个向量上的归一化欧几里德距离?

如何计算两个向量上的归一化欧几里德距离?
EN

Stack Overflow用户
提问于 2016-07-02 22:10:48
回答 3查看 15.9K关注 0票数 2

假设我有以下两个向量:

代码语言:javascript
运行
复制
x = [(10-1).*rand(7,1) + 1; randi(10,1,1)];
y = [(10-1).*rand(7,1) + 1; randi(10,1,1)];

前七个元素是1,10范围内的连续值。最后一个元素是1,10范围内的整数。

现在我想计算x和y之间的欧几里得距离,我认为整数元素是一个问题,因为所有其他元素都可以非常接近,但是整数元素的间距总是为1。因此存在对整数元素的偏向。

我如何计算它上的归一化欧几里得距离?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2016-07-03 00:07:24

根据Wolfram Alphathe following answer from cross validated,归一化欧几里得距离定义为:

您可以使用MATLAB进行计算,方法是:

代码语言:javascript
运行
复制
0.5*(std(x-y)^2) / (std(x)^2+std(y)^2)

或者,您可以使用:

代码语言:javascript
运行
复制
0.5*((norm((x-mean(x))-(y-mean(y)))^2)/(norm(x-mean(x))^2+norm(y-mean(y))^2))
票数 8
EN

Stack Overflow用户

发布于 2016-07-03 09:05:55

我宁愿在计算距离之前对x和y进行归一化,然后香草欧几里得就足够了。

在您的示例中

代码语言:javascript
运行
复制
x_norm = (x -1) / 9;          % normalised x
y_norm = (y -1) / 9;          % normalised y
dist = norm(x_norm - y_norm); % Euclidean distance between normalised x, y

然而,我不确定是否有一个整数元素有助于某种偏见,但我们已经得到了堆栈溢出的一种离题:)

票数 2
EN

Stack Overflow用户

发布于 2019-01-13 23:35:53

来自Euclidean Distance - raw, normalized and double‐scaled coefficients

SYSTATPrimer 5SPSS为数据提供了归一化选项,以便允许研究人员计算本质上是“无尺度”的距离系数。Systat 10.2的归一化欧几里德距离通过将属性或人员之间的每个平方差异除以平方差异的总数(或样本大小)来产生其“归一化”。

坦率地说,我看不出这种标准化有什么意义-因为最终的系数仍然是尺度敏感的。也就是说,不可能仅知道该值指示与系数值

的高或低相异度

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38161071

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档