我遇到一个优化问题,我有一组提供程序P
,它们出售具有不同性能向量Op
的不同类型的对象Pv=[p1, p2, p3, ..., pn]
和一组客户端请求R
要求对象Or
具有预期的性能向量Er=[e1, e2, ..., en]
。
在给定性能矢量的情况下,我想计算出与客户要求的对象足够接近的提供者对象是什么,我已经研究了一些措施:欧几里德平方距离,但是由于性能矢量的单位是不同的,即p1以秒为单位,p2以美元为单位,依此类推...
任何人都可以阐明一些想法并提出一种方法吗?
答案 0 :(得分:1)
您应该尝试的第一个想法是在比较每个功能之前分别对其进行缩放。
例如,获取所有p1
个样本,计算均值和标准差,然后将样本转换为(s - mean)/std
。对每个功能都执行此操作,但已经是二进制(0/1)的功能除外。
然后,您可以使用欧几里德距离作为首次试用,以分析这些点是否很远。
相似性度量是不同的,但是相似,您可以使用e^(-distance(x, y))
之类的值来获得0到1之间的相似性,还有其他度量也可以尝试。您应该在缩放后的数据上使用这些数据,而不是原始数据。