度量学习与相似度学习

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

谁能澄清它们之间的区别吗?任何链接或来源都将不胜感激。

提前感谢。


回答:

在大多数(全部?)情况下,度量学习是相似度学习的一个子集。请注意,在常见用法中,“相似”大致是“距离”的倒数:它们之间的距离低,相似度就高。在实践中,这通常是语义选择的问题——连续变换通常可以使两者同构。

度量需要遵循某些规则;相似度函数的标准则较为宽松。例如,将一部完整长度(假设为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)

在这个“世界”中,ac因为没有任何共同点而受到很大惩罚,只是集合大小相同。b因为有一半元素相同而与它们各自分别接近。这会让度量函数头疼,因为它严重违反了subaddition,即三角不等式。

这有助于澄清它们的区别吗?

Related Posts

使用LSTM在Python中预测未来值

这段代码可以预测指定股票的当前日期之前的值,但不能预测…

如何在gensim的word2vec模型中查找双词组的相似性

我有一个word2vec模型,假设我使用的是googl…

dask_xgboost.predict 可以工作但无法显示 – 数据必须是一维的

我试图使用 XGBoost 创建模型。 看起来我成功地…

ML Tuning – Cross Validation in Spark

我在https://spark.apache.org/…

如何在React JS中使用fetch从REST API获取预测

我正在开发一个应用程序,其中Flask REST AP…

如何分析ML.NET中多类分类预测得分数组?

我在ML.NET中创建了一个多类分类项目。该项目可以对…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注