论文部分内容阅读
信息社会产生的大量数据包含丰富的知识财富,学者们提出大量的机器学习算法来挖掘这些知识财富,促进形成更加便捷智能的社会。然而由于大量算法,特别是距离相关的算法,忽略了数据不同维度之间的关联性,导致算法性能受到约束。因此调整和改变数据分布的空间结构可以提升相关算法的性能,有助于构建新的模型,更好地解决实际问题。度量学习算法旨在学习依赖于数据的空间度量,使得原始数据在这个度量下,同类点之间的距离变小,异类点之间的距离变大。由于其在提升kNN算法性能上的显著效果,已经被广泛应用到很多实际领域,在人脸识别,图像分类等领域都获得了很好的效果。然而度量学习领域还存在如下问题:算法求解慢,学习全矩阵易导致计算复杂度偏高;线性矩阵映射能力弱,改变距离关系的能力有限;一些特殊问题未得到深入研究,度量矩阵客观存在却没有合适的算法来学习。本文首先总结分析了已有的经典度量学习算法,然后针对上面的问题,一方面提出更高效率的度量学习算法,根据度量学习思想改进已有的经典模型,另一方面将线性映射扩展成非线性映射,增强空间映射能力,最后将度量学习引入到多示例问题,多视角问题等特殊问题中,期望改善这些特殊问题的学习效果,本文的主要工作具体如下: (1)度量学习算法分析对比度量学习最早的工作之一为Eric.Xing在2003年提出的算法,本文归纳总结了2003年至2015年顶级期刊会议上的度量学习算法,根据算法的显著特性进行分组理论分析,讨论优点与不足,然后在各组选择代表性算法,利用标准数据集考察算法学习的度量矩阵对kNN性能的提升效果,最后利用图像数据集考察算法性能与忌值的关系,以及与距离变化的关系。 (2)线性度量学习首先构建基于特征分解的全局和局部度量学习模型,模型分别从全局和局部角度构建最优化问题,两个子模型都可以用特征分解方法快速求解,算法不仅可以用于学习度量矩阵,还能进行空间降维,数值实验表明算法在提升kNN性能和有监督降维上都有着良好效果。其次基于度量学习思想改进最小二乘支持向量机,并利用交替方向乘子法求解,提高了算法的分类性能;最后提出多度量支持向量机,为分类问题中的每个类别学习一个局部度量,不仅更好地提取了局部距离信息,还可以学习到关于类别的特性信息,实验表明算法的学习效果相比传统方法有一定的竞争力。 (3)非线性度量学习为了提高度量能力,我们将线性度量扩展成非线性度量,构建多层神经网络,同时将多视角学习与其结合,每个视角对应一个非线性网络,不同视角数据映射到同一空间中,在度量学习的类间距离最优化原则和多视角学习的一致性原则下,多个视角信息有机融合起来对数据进行判别。实验证明了模型的映射能力。 (4)特殊问题度量学习将度量学习引入到多示例问题和多视角问题中,通过学习合适的度量矩阵来提高这两类问题的学习效果。多示例问题中关键要解决包的距离问题,通过构建合适的目标函数来最优化包之间的距离,多视角多示例问题要统筹考虑包的距离问题和不同视角的度量信息融合问题,本文利用距离信息构建联合概率分布,通过极大化似然概率来使得相邻样本尽可能相似。数值实验证明特殊问题中的度量学习可以获得不错的学习效果。