如何测试人物相似度度量?

数据挖掘 数据集 相似 评估 距离
2022-03-01 17:53:38

我正在做一个寻找彼此相似的名人的项目。

为此,我提取了一堆特征并对它们应用距离函数来评估谁更接近谁。

有没有办法定量地测试这个?以演员为例,方便参考。

比如说,一个模型预测小罗伯特唐尼与克里斯蒂安贝尔最相似。在对“身高”特征应用更多权重后,发现乔治克鲁尼与克里斯蒂安贝尔最相似。

现在我如何定量地断言一个比另一个更好?

有人可能会说罗伯特·唐尼是一个更好的结果,因为克里斯蒂安·贝尔和罗伯特·唐尼都出演过超级英雄电影(尽管不同),而其他人可能会说,因为乔治·克鲁尼和克里斯蒂安·贝尔在某一时刻都是蝙蝠侠,所以乔治·克鲁尼是更好的结果。

除了直觉,还有其他方法可以测试吗?

1个回答

除非你知道是什么让两个人彼此相似。通过选择距离函数,您可以定义两个人彼此相似意味着什么。如果没有明确的目标,一个指标在数量上是否优于另一个指标的问题可能无法回答。

例如,将曼哈顿距离(L1 范数)与欧几里德距离(L2 范数)进行比较前者可能对试图步行穿过城市的行人更有效,而后者可能对跑过运动场的运动员更有效。

现在我如何定量地断言一个比另一个更好?

您将需要一些示例来体现两个人彼此相似(或不相似)的含义。这必须由一个人或一群人生成。

与其直接在两个人之间生成“相似度值”,不如生成与给定感兴趣的人最相似的人的排序列表:对于人 A,最相似的另一个人是 B,第二个最相似的人是 C 等等。 更好的是,呈现一个感兴趣的人和其他人的列表,某人只需要根据他们与感兴趣的人的相似性对列表中的每个人进行排名。

如果不止一个人为给定的感兴趣的人生成给定人员列表的排名,您可以通过对每个人的排名求和并按总排名重新排序列表来聚合结果。

如果您有这种形式的一些数据,那么您可以通过重新创建排名列表的程度来评估您的相似性模型。一些可能的评估指标是:

  1. 回忆(在第 n 级):在模型的前 n 个结果中返回前 n 个人的比例是多少?
  2. 精度(在第 n 级):模型的前 n 个结果中有多少部分是真实的前 n 个结果?

在此处查看其他评估排名方法的方法。

我希望这有帮助。如果我不理解您的问题,请告诉我。