如何计算具有异构属性的两个向量之间的相似度

时间:2018-11-12 14:12:24

标签: statistics mathematical-optimization

我遇到一个优化问题,我有一组提供程序P,它们出售具有不同性能向量Op的不同类型的对象Pv=[p1, p2, p3, ..., pn]和一组客户端请求R要求对象Or具有预期的性能向量Er=[e1, e2, ..., en]

在给定性能矢量的情况下,我想计算出与客户要求的对象足够接近的提供者对象是什么,我已经研究了一些措施:欧几里德平方距离,但是由于性能矢量的单位是不同的,即p1以秒为单位,p2以美元为单位,依此类推...

任何人都可以阐明一些想法并提出一种方法吗?

1 个答案:

答案 0 :(得分:1)

您应该尝试的第一个想法是在比较每个功能之前分别对其进行缩放。

例如,获取所有p1个样本,计算均值和标准差,然后将样本转换为(s - mean)/std。对每个功能都执行此操作,但已经是二进制(0/1)的功能除外。

然后,您可以使用欧几里德距离作为首次试用,以分析这些点是否很远。

相似性度量是不同的,但是相似,您可以使用e^(-distance(x, y))之类的值来获得0到1之间的相似性,还有其他度量也可以尝试。您应该在缩放后的数据上使用这些数据,而不是原始数据。