使用已知项目的相似性和丰度设置相似性度量

时间:2016-05-23 09:43:04

标签: machine-learning recommendation-engine discrete-mathematics

我正在寻找一个相似性度量(如Jaccard Index),但我想在集合中的对象之间使用已知的相似性,并按项目丰度来衡量连接。这些已知的相似性是0到1,1之间的分数,表示完全匹配。

例如,考虑两组:
SET1 {A,B,C}和SET2 {A',B',C'}

我知道 {A,A'},{B,B'},{C,C'}各自的项目相似度为0.9。因此,我认为SET1和SET2的相似性相对较高。

另一个例子是:考虑两组SET1 { A ,B,C}和SET2 { A ,B',C',D,E,F, ......,Z}。虽然前三个项目之间的匹配高于第一个示例,但由于大小差异(如Jaccard),此分数可能会更低。

这里还有一个问题是如何将丰度用作权重,但我不知道如何解决这个问题。

一般来说,我需要一个标准化的集合相似性度量,它考虑了这个项目的相似性和丰度。

1 个答案:

答案 0 :(得分:1)

如果我错了,请纠正我,但我猜你需要聚类错误作为相似性度量。在群集的最佳匹配之后,在A'和A中聚集的点的比例是不同的。换句话说,就是这样 缩小矩阵的非对角元素的缩放总和,最小化 在所有可能的行和列的排列。它使用匈牙利算法来避免高计算成本,并且它会惩罚集合中不同数量的元素。