我需要找到一个最佳距离方程来找到两组之间的距离。
距离方程式就像欧几里得,曼哈坦或任何......我必须找到两个实体之间的最佳最小距离。实体是具有元素的集合(浮点值)。集合可以是等数个元素,也可以是不同的。
代表
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)[有时候丢失一些传感器值的可能性] ..我的挑战是找到两个人之间的最佳距离[他们有多相似] ...... 谢谢@all
答案 0 :(得分:2)
您需要提供有关此距离的更多详细信息......
查看wikipedia article on distance和norms
要定义距离,您只需定义一个验证以下属性的函数:
Symetry:
Spearation:
三角不等式:
例如:
如果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 ...一个} Y = {B1 ... BM}
then d3(x,y)=min(Sum(abs(ai-bj))) + d2(x,y)
//第一个元素编写得不好,但意味着最小化所有元素元素差异的绝对值之和(当集合的大小不同时,它们将是一些单个元素) 和d2在这里,如果你有2集:{a1 ... an}和{a1 ... an,0}所以距离不是0(分离)
这是一段距离,我认为这与比较集相关。