APP下载

浅谈度量学习

2018-10-21王楠鑫蒋玉婷

科技信息·中旬刊 2018年9期
关键词:分类器度量矩阵

王楠鑫 蒋玉婷

摘要:本文主要介绍了一种常用的机器学习方法——度量学习。度量学习旨在学得一个合适的距离来优化分类器的性能,提高分类器的效率。本文對度量学习的基本概念做简介,并分析5E38见的度量学习形式和方法,最后讨论了一些度量学习研究中的前沿问题。

关键词:度量学习

一、度量学习简介

在机器学习任务中,样本之间的距离是一个十分重要的因素,绝大多数机器学习模型和算法都直接或间接地使用了样本之间的距离。比如,在常见的“K近邻”分类器中,样本间的距离很大程度上影响了最终分类效果的好坏[1]。实际上,几乎所有分类算法都可以在某个特定的距离下等价于“近邻分类器”。在机器学习任务中,我们也常常通过特征选择、特征提取等手段来对寻找数据更好的表示,或是达到降维的目的,而寻求数据更好的表示或降维最终是为了在得到的子空间中学习,这本质上就是基于子空间中的距离进行学习。既然如此,我们完全可以直接寻找一个合适的距离,并利用这个学到的距离来完成各种任务。可以说,各种特征选择、特征提取和表示学习方法都相当于是在做度量学习。总而言之,度量学习的目的就是寻找一个合适的距离定义,使得在这种距离定义下,相似样本离得较近,而不相似样本离得较远,进而来优化某个机器学习任务。

距离往往用来衡量对象之间的相关性。常见的距离有欧几里得距离、马氏距离[2]、余弦距离、曼哈顿距离等。一般来讲,距离度量是一个二元函数,它需要满足四个条件:非负性、自反性、对称性和三角不等式。若某个二元函数d满足非负性、对称性和三角不等式,且,则称d为一个“伪距离度量”,它具有距离度量的大部分性质,也常用于机器学习任务。

二、基于马氏距离的度量学习

为了能够学得一个合适的距离,首先必须将距离“参数化”,即使用某些参数来定义一个距离函数。最常用的选择是“马氏距离”,它相当于考虑样本各个特征权重和特征间相关性的欧式距离,定义为:

其中我们要求矩阵是一个半正定矩阵,即学到的马氏距离实际上是一个“伪度量”。要学一个马氏距离,实际上就是要学一个矩阵。如此一来,我们就可以依据这样一种距离的定义形式来构造各种优化问题,从而完成各种机器学习任务。一般来说,基于马氏距离的度量学习任务可以以优化问题的形式描述为:

其中L是某个关于的目标函数。比如说,训练样本给我们提供了一些弱监督信息,即某些样本是相似的,某些样本是不相似的。设P表示相似样本对构成的集合,即若y)∈P本X和Y是相似的;设N表示不相似样本对构成的集合,即若y)∈N本X和Y是不相似的。现在我们希望在学到的距离下,相似样本间的距离较小而不相似样本间的距离较大,那么可以将优化问题构造为:

上式表示我们希望寻找一个矩阵,使得在这种马氏距离下,相似样本的距离之和尽量小,而不相似样本的就离之和尽量大。有时,我们只需要不相似样本之间的距离达到某个既定的阈值即可,而不需要其尽量大,那么优化问题可以写为:

这相当于对原优化问题的第二项取“hinge”损失。由于通过这样一种方式学得的距离考虑了数据提供的弱监督信息,使得相似样本距离小而不相似样本距离大,所以往往可以提高分类器的性能。

前文说到,使用降维方法本质上是在学习某种特定的距离度量,而马氏距离也可以认为是对原空间的样本做映射之后的欧式距离。设原数据样本∈R^D,矩阵,那么它可以将数据样本映射为R维。在映射后的空间中,两个样本X和Y之间的欧式距离为:

若将替换为一个矩阵,那么就得到了与马氏距离相同的形式。我们可以将直接使用马氏距离表示的度量学习问题称为“Mahalanobis Distance Metric Learning”,简称为“MDML”[3],而将基于映射矩阵的度量学习问题称为“Projection Distance Metric Learning”,简称为“PDML”。我们可以看出,一旦学得了映射矩阵就可以获得相应的马氏距离矩阵,也就是说这两种表示之间是相通的,但在使用时仍有一些区别。从优化的角度来讲,若使用“MDML”,则目标函数往往是关于矩阵的线性函数,虽然相似样本间的距离和不相似样本间的距离符号相反,但线性函数必定是凸函数,这使得我们往往可以构造关于矩阵的凸优化问题。若使用“PDML”,目标函数往往是关于矩阵P的二次函数,而且相似样本间的距离和不相似样本间的距离符号相反,虽然凸函数的非负线性加权仍是凸函数,但前后两部分的凹凸性相反,从而整个优化问题的凸性得不到保证。凸优化问题在求解时有很好的性质,比如必定可以找到全局最优解等。也就是说,使用“MDML”更方便于优化。但是,从映射矩阵的角度考虑问题也有其意义,比如可以考虑映射的正交性,可以降低计算开销等。

三、度量学习中的前沿问题

度量学习是一个十分值得研究的话题,度量学习领域中也存在一些待解决的问题。本部分将介绍一些关于度量学习可能的研究主题。

考虑多个度量的学习。度量学习的最终目的是提高分类器的性能,一个具体的距离度量就好比是一种空间变换,或是一种特征提取的方法。我们知道,某个单一的简单的学习器可能不会具有特别号的效果,受此启发,我们可以在度量学习中引入多个不同的距离,对不同类的样本设计不同的距离度量,甚至对每一个样本都设计一个特定的距离度量。实际上这一思路在机器学习中十分常见,比如“Gaussian Mixture”,比如“Ensemble”。可以这样的角度来理解多度量学习:不同的类的样本会来自不同的分布,而不同的分布会具有不同的规律,也就具有不同的适用于分类的特征,所以使用多度量是合理的。另外,从映射矩阵的角度来考虑,学习一个马氏距离相当于学习一个线性映射,而简单的线性关系未必能很好地刻画数据之间的联系,通过引入多个线性变换,可以使得模型具有更强的表示能力。

参考文献:

[1]彭凯,汪伟,杨煜普.基于余弦距离度量学习的伪K近邻文本分类算法[J],上海交通大学自动化系系统控制与信息处理教育部重点实验室,2014

[2]梅江元.基于马氏距离的度量学习算法研究及应用[J],哈尔滨工业大学,2016

[3]杨绪兵,王一雄,陈斌.马氏度量学习中的几个关键问题研究及几何解释[J],南京林业大学信息科学技术学院,扬州大学信息工程学院,2013

猜你喜欢

分类器度量矩阵
学贯中西(6):阐述ML分类器的工作流程
不欣赏自己的人,难以快乐
突出知识本质 关注知识结构提升思维能力
基于GARCH—VaR模型的股票市场风险度量研究
基于GARCH—VaR模型的股票市场风险度量研究
三参数射影平坦芬斯勒度量的构造
多项式理论在矩阵求逆中的应用
基于AdaBoost算法的在线连续极限学习机集成算法
一种统计分类方法的学习
矩阵