2011-08-11 128 views
2

我需要找到一个最佳距离方程来找出两组之间的距离。集合之间的距离即使集合不平衡?

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

为前:

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值缺失。即使是这样的场景,我也必须找到距离。

但我知道euclidean或任何距离方程,不会解决这个问题。我是否缺少适合我的问题的任何距离方程,还是必须以某种方式规范这些集?是否有任何最佳的方法来找到这些集合之间的距离。如果可能的话,请让我知道存在的最佳距离方程式。


编辑

感谢您的宝贵feedback..based上我想提请结论是两个实体是否相似not..For例如,如果两个人都标注了距离自己上下文信息(传感器信息),得出一些结论,我应该说他们都是上下文不同或彼此接近。上下文信息可以是矢量或设置或任何数组。所以,我必须使用最佳距离方程来找出两个人之间的上下文距离,这对评估他们的相似性也是有用的。我需要编写一些标准,以便它只选择最好的上下文信息来查找距离方程。例如, 上下文信息可以给出为=(压力,温度,强度,湿度,...)..人c1上下文信息(1.2,3.5,2.7,9.2)和人c2上下文信息(2.1,3.5,4.6 )[有时错过一些传感器值的可能性] ..我的挑战是找到两个人之间的最佳距离[它们有多类似] ... 谢谢@all

+1

'我必须找到两个实体之间**最优的**最小距离。我们只是缺乏你认为最优的东西。这些套件是什么,你想做什么?如果这些组合代表了运行不同球队成员的时间,并且您想优化领奖台上的多样性(没有球队应该压制对手),那么您需要一个非常具体的距离,这些距离都是关于每个球员的最小值组。如果你正在管理一场网球比赛,并且你不希望德约科维奇在第一轮与纳达尔战斗,那么你需要一个能够最大化ATP排名差异总和等的距离...... – Fezvez

+0

这个问题是无法回答的。 “最佳”是根据一个或多个目标函数定义的。不幸的是,你们还没有做出任何可以接近甚至是设计出目标功能的东西。如果人们回答这个问题,这将会是一个很大的目标函数,然后你必须筛选它们,以便为你的问题提供最好的解决方案。 – Iterator

回答

2

您需要提供更多关于您想要的信息做这个距离...

看一看在wikipedia article on distancenorms

要定义你只需要定义验证下列属性的函数的距离:

Symetry:enter image description here

Spearation:enter image description here

三角不等式:enter image description here

因此,例如:

如果x和y是2台:

D1(X,Y)= ABS(MAX(X)-max(y)的)不是距离(无分离)

D2(X,Y)=基数(symetricaldifference(X,Y))(对称的差为x工会Y减X间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 

取决于你想你可以找到更多的intereseting者的距离做什么..

再举一个例子:

你可以选择:

X = {A1。 ..an} Y = {B1 ... BM}

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

//第一元件写得不好但意味着s最小化所有元素对的差值的绝对值的总和(当集合的大小不同时,它们将是一些单个元素) 和d2在这里以防万一你有2个集合{a1 ... an }和{a1 ... an,0}所以距离不是0(分隔)

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