度量学习与相似性学习
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" 中,a
和 c
遭受了很大的惩罚,因为它们除了设置大小外没有任何共同点。 b
与它们中的每一个都很接近,因为有一半的元素是共同的。这会让度量函数很头疼,因为它严重违反了 subaddition
三角不等式。
这有助于消除分歧吗?
我很难找到任何关于相似性学习的全面解释。据我所知,它与度量学习相同,只是它尝试学习相似度函数而不是度量。
谁能解释一下它们之间的区别? 任何链接或来源将不胜感激。
提前致谢。
对于大多数(全部?)目的,度量学习是相似性学习的一个子集。请注意,在常用的情况下,"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" 中,a
和 c
遭受了很大的惩罚,因为它们除了设置大小外没有任何共同点。 b
与它们中的每一个都很接近,因为有一半的元素是共同的。这会让度量函数很头疼,因为它严重违反了 subaddition
三角不等式。
这有助于消除分歧吗?