论文部分内容阅读
矩阵分解算法因其高效、易于实现、可扩展性强等优点在机器学习中得到了广泛应用。同时,由于数据采集方式越来越多样化,使得大量的多源异构数据能够被轻易获取。例如,在图像数据的采集过程中,人们既可以用灰度值来表示图像,也可以用边缘分布等特征描述图像。每一种类型的描述特征都可以表达数据的某一特性。如何充分挖掘单源数据(由某一类型特征表示的数据)的信息,并将多个源信息有机结合以提高模型最终的学习性能,近年来已成为基础研究热点之一。正是在这样的时代背景下,面向多源异构数据的算法设计与应用的需求应运而生。本文在归纳当前主流矩阵分解算法的基础上,将研究面向多源异构数据的矩阵分解算法的设计与应用。具体来讲,本文将重点关注矩阵分解算法在无监督学习框架下处理多源异构数据时存在的如下问题:1.传统矩阵分解算法通常对噪声和离群点特别敏感,尤其是多源异构数据中常常存在较多的噪声和离群点,使得算法在实际应用中性能受到极大影响;在数据的采集及后续预处理过程中,由于人工操作的随机误差及数据采集设备本身存在的性能、精度等方面的问题,收集来的数据难免会存在由这些问题而造成的噪声。多源异构数据本身又是通过多个采集渠道和方式而生成,因此多源异构数据所蕴含的噪声通常会多于其他类型的数据,这使得在处理多源异构数据时,如何有效的处理噪声显得尤为重要。为了解决这类问题,本文基于capped范数提出了一个具有鲁棒性的聚类方法来处理多源异构数据。由于采用capped范数来度量目标函数的重构误差,因此本文方法对噪声和离群点更具鲁棒性,特别是极端离群点。此外,本文方法的时间复杂度较低,并且与经典k-means算法的时间复杂度处于同一水平。2.由于矩阵分解算法本身通常是一个非凸问题,因此目前面向多源异构数据的矩阵分解算法大多也都是一个非凸问题,从而导致现有的算法都容易陷入不良的局部解。矩阵分解算法通常是将原始数据矩阵分解两个或多个低维的矩阵。在优化过程中,单对某一个低维矩阵来讲,算法是一个凸问题;但针对多个低维矩阵,算法是非凸的,即矩阵分解算法是一个联合非凸问题。本文基于自步学习框架,提出了面向多源异构数据的自步学习聚类算法,以便应对模型中的非凸问题。现有的文献表明,自步学习能够有效地缓解算法的非凸问题。自步学习通过样本数据点自身的特点来加以训练模型。具体来讲,针对较为干净的样本点(离类中心较近、含噪声较少的样本点),将率先加入模型的训练,然后在后续的迭代训练过程中逐步加入更多的样本点。由于模型最先训练干净的样本点,因此模型的鲁棒性有较好的保证,在一定程度上缓解了算法的非凸问题。3.矩阵分解算法通常都是作用在基于欧氏距离的数据空间上,这就使得其不能很好地处理基于几何结构的数据。此外,流形结构在多源异构数据中反而更常见。本文通过增强矩阵分解算法对于数据空间几何结构的分析能力,使得算法的性能能够进一步得到提升。图正则化矩阵分解算法通过构建谱图的方式将几何距离度量引入矩阵分解算法中。但基于图论的矩阵分解算法通常是在某一谱图上展开,因此构建的谱图对于算法性能有极大的影响。由于构建谱图可以在不同的参数条件下进行,这就使得算法性能直接受到参数设置的影响。本文基于多核学习框架,提出了面向多源异构数据并能够融合不同谱图的聚类算法。该算法对于不同参数的情境并不那么敏感,从而提升了算法的稳定性和鲁棒性。4.多源异构数据本身所具有的特性使得其天然具有多层语义和多样性,而传统矩阵分解算法都是基于单层结构思想,因此不能很好地分析含有多层语义的数据。受到深度学习的启发,扩展传统的矩阵分解算法使其具有层次语义分析能力,能够进一步提升算法处理多源异构数据的性能。本文基于多层结构的矩阵分解算法,将深度学习的思想有效地引入到这一传统的算法框架中,提出了面向多源异构数据的深度矩阵分解算法。由于传统的矩阵分解算法采用的是单层分解结构,多源异构数据天然具有的多层语义得不到充分的挖掘。本文则采用深度多层分解的思想,将前一次分解得到的表征矩阵进行再一次的分解,进而使得数据的潜在语义得到进一步的挖掘。