【问题标题】:distance between sets even when the sets are unbalanced?即使集合不平衡,集合之间的距离?
【发布时间】:2023-11-30 09:31:01
【问题描述】:

我需要找到一个最佳距离方程来找到两组之间的距离。

距离方程就像欧几里得、曼汉坦或任何..我必须找到两个实体之间的最佳最小距离。实体是带有元素(浮动值)的集合。集合可以是相等数量的元素,也可以是不同的。

例如:

s1={2.1,3.5,2.7,4.9}, 
s2={4.2,3.1,2.3}

我怎样才能找到两个这样的集合之间的距离?

在我的例子中,每个元素都被索引到一个位置...例如:s1={w,x,y,z}, s2={w,y,z}..在上面的第二组中,x 值不见了。即使是这样的场景,我也必须找到距离。

但是欧几里得或我知道的任何距离方程都不能解决这个问题。我是否遗漏了适合我的问题的任何距离方程,还是我必须以某种方式对集合进行归一化?是否有任何最佳方法来找到这些集合之间的距离。如果可能,请告诉我存在的最佳距离方程。


编辑

感谢您的宝贵反馈..根据距离我想得出两个实体是否相似的结论..例如,如果两个人被标记有他们的上下文信息(传感器信息),我得出一些结论应该说它们在上下文上彼此不同或接近。上下文信息可以是向量或集合或任何数组。所以,我必须使用最佳距离方程来找到两个人之间的上下文距离,这也有助于评估他们的相似性。我需要编写一些标准,以便它只选择最好的上下文信息来找到距离方程。例如, 上下文信息可以给出为=(压力,温度,强度,湿度,...).. 人 c1 上下文信息(1.2,3.5,2.7,9.2)和人 c2 上下文信息(2.1,3.5,4.6)[有时丢失一些传感器值的可能性]..我的挑战是找到两个人之间的最佳距离[他们有多相似]... 谢谢@所有

【问题讨论】:

  • I have to find the **optimal** minimal distance between two entities。我们只是缺少您认为最佳的东西。这些套装是什么,你想做什么?如果这些集合代表不同团队的成员跑 100m 的时间,并且您想优化领奖台上的多样性(没有团队应该压倒对手),您将需要一个非常具体的距离,这都是关于每个团队的最小值放。如果您正在管理网球锦标赛,并且您不希望德约科维奇在第一轮与纳达尔交手,那么您需要一个能够最大化 ATP 排名差异之和的距离,等等......
  • 这个问题无法回答。 “最佳”是根据一个或多个目标函数定义的。不幸的是,你没有给出任何接近于设计目标函数的东西。如果人们回答这个问题,那将是 很多 的目标函数,然后你必须筛选它们以找出最适合你的问题的方法。

标签: algorithm distance set


【解决方案1】:

你需要详细说明你想用这个距离做什么......

看看wikipedia article on distancenorms

要定义距离,您只需定义一个验证以下属性的函数:

对称性:

刺:

三角不等式:

例如:

如果 x 和 y 是 2 个集合:

d1(x,y) = abs(max(x)-max(y)) 不是距离(不分离)

d2(x,y)= cardinal(symetricaldifference(x,y)) (对称差是x union y减去x inter y)是一个距离

证明:

d2(x,y) = d(y,x) ok
d2(x,y) = 0 => x=y ok
d2(x,z) > d2(x,y) + d2(y,z) ok just draw it  and you will see it works

根据你想对距离做什么,你可以找到更多有趣的..

再举一个例子:

你可以选择:

x={a1...an} y={b1...bm}

then d3(x,y)=min(Sum(abs(ai-bj))) + d2(x,y)

//第一个元素写得不好,意思是最小化所有元素对的差的绝对值之和(当集合的大小不同时,它们将是一些单个元素) 并且 d2 在这里,以防您有 2 组:{a1...an} 和 {a1...an,0} 所以距离不是 0(分离)

这是一个距离,我认为它与比较集合有关。

【讨论】: