Metric Learning 简介

Metric Learning 是机器学习中最近比较火的领域,但维基百科上直到本文写作时也没有一个中文翻译。本人才疏学浅,不敢擅自取名,所以文中将会一直使用英文名。关于 Metric Learning 的研究主要有两个方面: 对 Metric Learning 的理论研究。 把 Metric Learning 应用到其他领域(如推荐系统,计算机视觉等)。 近年来,每年的或大或小的会议都有不少关于 Metric Learning 的文章,它们都从各自的特定方面改进或应用了 Metric Learning。本文尝试着抛砖引玉,概括 Metric Learning 的基本原理和它在推荐系统里的应用。本文的定位是科普文,不是综述。写作目的是与机器学习的同侪学习交流。 ## Metric Learning 的基本原理 Metric Learning 的原理为,基于一些分类数据,学习出一个量度,减小同类数据的距离,拉大不同类数据的距离。 因此,它是基于距离的,对两个点,A(x_a, y_a) 和 B(x_b, y_b),根据高中所学,它们的距离如下: distance = \sqrt{(x_a - x_b)^2 + (y_a - y_b)^2} 这个距离又称为欧氏距离(Eculidean distance),即两个点之间的直线距离。通常来说,这个距离越大,两个点越近;越小,两个点越远。其实,这只是一个衡量两点距离的方法。另一个常用的方法是余弦相似性(cosine similarity)。余弦相似性把A 和B视为两个向量,然后计算向量A 和B的夹角,其公式如下: cosine \: distance = \frac{A \cdot B}{||A|| \: ||B||} 余弦相似性的公式看似复杂,其原理是计算两个向量的夹角的余弦值。这个值介于0到1之间,即cosine \: distance \in [0, 1]越大,说明夹角越大,两个向量的离得越远;反之越近。余弦相似性也只是多种量度中的一种,还有很多其他的量度,本文就不赘述了,感兴趣的朋友可以自行搜索。 既然存在这么多量度,那么对于一个任务,我们应该如何选择使用哪一个呢——这个问题就是 Metric Learning 想要解决的。...

July 31, 2020 · zhb