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



我有一个优化问题,其中我有一组提供者P销售具有不同性能向量Pv=[p1, p2, p3, ..., pn]的不同类型的对象Op,以及一组客户端请求R要求具有预期性能向量Er=[e1, e2, ..., en]的对象Or

在给定性能向量的情况下,我想计算哪些提供者的对象与客户端请求的对象足够接近,我已经研究了一些度量,如:欧几里得平方距离,但我不确定如何使用它,因为性能向量的单位不同,即p1以秒计,p2以美元计,依此类推…

有人能提供一些线索并提出一种方法吗?

您应该尝试的第一个想法是在比较每个特性之前独立缩放它们。

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

然后,您可以使用欧几里得距离作为第一次尝试来分析这些点是否很远。

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

最新更新