度量学习与相似性学习

Metric Learning vs Similarity Learning

我很难找到任何关于相似性学习的全面解释。据我所知,它与度量学习相同,只是它尝试学习相似度函数而不是度量。

谁能解释一下它们之间的区别? 任何链接或来源将不胜感激。

提前致谢。

对于大多数(全部?)目的,度量学习是相似性学习的一个子集。请注意,在常用的情况下,"similar" 大致是 "distance" 的倒数:它们之间的距离越小,相似度越高。实际上,这通常是语义选择的问题——连续变换通常可以使两者同构。

指标需要遵循一定的规则;相似性函数有更宽松的标准。例如,将完整长度(比如 2 小时)的电影 M 与 20 分钟的动画缩减 A 进行比较。度量函数 f 需要 f(M, A) = f(A, M)。但是,如果您认为电影的丰富性意味着它不应该将动画片视为如此近亲,您可能会输入这对训练三元组

(A, M, 0.90)
(M, A, 0.15)

另一个例子是集合相似性,通过大小和成员来衡量,但采用非欧几里得方式。

a = {1, 2, 3, 4}
b = {3, 4, 5, 6}
c = {5, 6, 7, 8}

相似性训练将允许

(a, b, 2)
(b, c, 2)
(a, c, 10)

在这个 "world" 中,ac 遭受了很大的惩罚,因为它们除了设置大小外没有任何共同点。 b 与它们中的每一个都很接近,因为有一半的元素是共同的。这会让度量函数很头疼,因为它严重违反了 subaddition 三角不等式。

这有助于消除分歧吗?