Distance Metric Learning for Large Margin Nearest Neighbor Classification

1. Intro

模式分类最古老和最简单的方法之一是k近邻(k-nearest neighbors, kNN)算法。kNN算法通过训练集中k个最近邻的多数标签对每个未标记的例子进行分类。尽管它很简单,但kNN算法经常产生很好的结果,并且在某些领域,当巧妙地与先验知识相结合时,它可以产生非常好的结果。

根据其决策规则的本质可知,kNN分类的性能关键在于不同样本之间的距离的计算方式。当没有先验知识可用时,kNN的大多数实现是计算简单的欧几里得距离。不幸的是,欧几里得距离忽略了那些可以从大量带标签的样本中估计出来统计规律。理想情况下,人们希望根据手头的任务调整距离度量。例如,假设我们使用kNN来根据年龄和性别对人脸图像进行分类。使用相同的距离度量来进行年龄和性别分类很难得到最优解,即使在两个任务中,距离都是在提取的相同特征集上计算的。

基于这些问题,许多研究人员证明,通过从带标记的例子中学习适当的距离度量可以极大地提高kNN分类性能。这就是所谓的距离度量学习问题。最近,已有研究表明,即使对输入特征进行简单的线性变换,也能显著改善kNN分类性能。我们的工作是在这些以前方法的成功基础上朝一个新的方向进行。

在本文中,我们展示了如何学习一个马氏距离度量用于kNN分类。我们提出的算法在早期工作中得到了较好的描述,后来在扩展性和准确性方面得到了扩展。直观地说,该算法基于一个简单的观察,即如果一个样本的k个最近邻样本是同一类别,那么kNN决策规则将正确地分类一个例子。该算法试图通过在使用欧几里得距离进行kNN分类之前在输入空间中学习一个线性变换来增加具有这个特性的训练样本的数量。线性变换是通过最小化一个由两项组成的损失函数得到的。第一项惩罚相同类的样本之间最近邻k个样本的较大距离,而第二项惩罚不同类的样本之间的较小距离。最小化这些项会产生一个输入空间的线性变换,来增加训练样本的数量,这些训练样本的k个最近邻样本点都具有相同类。变换后空间中的欧氏距离可以等效地看作原空间中的马氏距离。利用这一等价性,我们将距离度量学习问题转化为凸优化问题。

我们的方法很大部分是受到近邻组成分析工作和在能源领域建模的度量学习的启发。尽管目标相似,但我们的方法在所提出的优化中有很大的不同。我们将距离度量学习问题作为半定规划的一个实例加以说明。因此,优化是凸的,并且可以有效地计算出其全局最小值。在基于特征值问题和半定规划的距离度量学习方面也有其他研究。然而,这些先前的方法本质上是试图学习一个距离度量将所有同类的输入聚集在一起,即使这些输入不是k近邻的。这一目标比我们提出的要难得多。此外,它没有充分利用kNN分类的能力,其准确性不要求所有同类的输入都紧密地聚集在一起

我们的方法与支持向量机(SVMs)分类有许多相似之处,尤其是基于铰链损失的凸目标函数,以及使用“核技巧”在非线性特征空间中工作的机制。基于这些相似性,我们将我们的方法描述为大边距最近邻(LMNN)分类。我们的框架可以看作是与SVM的逻辑对应,其中kNN分类取代了线性分类。

然而,我们的框架与支持向量机的分类相比,有一个有趣的方面:它不需要对多分类问题进行修改。将支持向量机扩展到多类问题通常涉及到组合多个二元分类器的结果,或者它们需要额外的优雅但不平凡的机制。在这两种情况下,训练时间至少在类数量上呈线性增长,相比之下,我们的框架没有显式依赖于类的数量。

我们还展示了如何扩展我们的框架来学习多个Mahalanobis度量,每个度量都与一个不同的类标签或输入空间的区域相关联。通过最小化单个损失函数同时训练多个度量。当损失函数耦合输入空间不同部分的度量时,优化仍然是半定规划的一个实例。局部距离度量的全局集成训练使我们的方法不同于早期的判别式自适应kNN分类。

我们的论文组织如下。第2节介绍了kNN分类中距离度量学习的一般问题,并回顾了以前的方法,这些方法激发了我们的工作。第三节描述了我们的LMNN分类模型,并以半定规划为例说明了所需的优化。第4节介绍了几个数据集的实验结果。第五节讨论了LMNN分类的几种扩展,包括目标邻域的迭代重估计、输入空间不同部分的局部自适应马氏度量以及基本算法的“核化”。第6节描述了在LMNN分类中使用球树进行训练和测试的更快实现。第七部分总结了我们正在进行的研究的几个主要方向。最后,附录A描述了我们为LMNN分类中的大规模问题实现的专用解算器。

2. Background

在本节中,我们介绍了距离度量学习的一般问题(第2.1节),并回顾了许多以前研究的方法。广义地说,这些方法可分为三类:基于二阶统计量的特征向量方法(第2.2节),半正定矩阵空间上的凸优化(第2.3节),以及直接试图优化kNN分类误差的全监督算法(第2.4节)。

2.1 Distance Metric Learning

我们首先回顾一些基本术语

度量的定义
(1)三角不等式 (2)非负性 (3)对称性 (4)若D(X, Y) = 0 则 X=Y

马氏距离
马氏距离介绍

2.2 Eigenvector Methods(特征向量法)

特征向量法被广泛用于发现输入空间线性变换的信息。如第2.1节所讨论的,这些线性变换可以被视为产生马氏距离度量的前提。常用的线性预处理特征向量法有主成分分析法、线性判别分析法和相关成分分析法。这些方法的不同之处在于它们使用带标签或未标记的数据来导出输入空间的线性变换。这些方法也可以被“核化”以在非线性特征空间中工作,尽管我们在这里不讨论这些公式。

2.2.1 PRINCIPAL COMPONENT ANALYSIS(主成分分析)

2.2.2 LINEAR DISCRIMINANT ANALYSIS(线性判别分析)

2.2.3 RELEVANT COMPONENT ANALYSIS(相关成分分析)

2.3 Convex Optimization(凸优化)

距离度量学习的目标可以用两种方式来表述:学习线性变换 L L L,或者等效地学习马氏度量矩阵 M M M。可以将某些类型的距离度量学习看成在正半定矩阵M的上的凸优化。在本节中,我们将基于此想法回顾两种先前的方法。

2.3.1 MAHALANOBIS METRIC FOR CLUSTERING(用于聚类的马氏度量)

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值