论文部分内容阅读
随着大数据时代的到来,我们处理的数据量和数据维数都在不断地增加,而这也对我们的计算机提出了巨大的考验。虽然现在很多高性能的电脑可以处理这样的大数据,但是却要花费大量的时间和空间,而且由于维数诅咒的原因,往往处理的效果也不尽人意,因此,如何对这些数据进行数据降维,也就成为了一个亟需解决的问题。基于投影的降维方法在进行降维时速度很快,但是它们作为线性方法,对于非线性的数据处理效果不佳。而流形学习是从尽可能保持原始数据的内在结构的角度进行降维的方法,是解决非线性降维问题的重要手段之一,近年来也引起了广泛的关注。但是在流形学习降维的过程中,其生成流形的参数十分敏感,降维速度也很慢。此外,这种针对向量数据降维的方法,在类似图像这种平面数据上使用会破坏平面数据中相邻数据之间的相关性,使得降维结果不尽人意。本文分别从这两个方面出发,研究了降维算法的背景和发展历程,提出了两种方法来解决这些问题,在人工数据集和真实数据集上进行了实验,并结合实验结果进行参数分布和时间复杂度的分析。本文的主要贡献概括如下:●梳理了数据降维方法的发展经历,并重点介绍了以主成分分析为代表的线性降维方法,以局部线性嵌入为代表的非线性降维方法,针对图像这种平面数据进行降维的2DPCA算法,处理图像数据常用的卷积神经网络。●针对经典的流形学习算法参数敏感,降维速度慢的问题,我们提出了一种基于流形学习的快速数据降维算法SOINN Manifold(Self-Organizing Incremental Neural Network Manifold)。从大量的原始高维数据中,自动地提取出少量的可信代表点来表示原始数据所在的流形,再进行数据降维,极大地提高了降维的速度。在生成流形的基础上,我们又提出了一种流形内在维数的估计方法来自动地确定降维的目标维数,从而提高降维的效果。●针对经典的向量数据降维算法会破坏平面数据中相邻数据之间的相关性,使得降维结果不尽人意的问题,我们提出了一种专门针对平面数据的降维算法IOCANet(Incremental Orthogonal Component Analysis Network)。我们将卷积神经网络和数据降维算法相结合,用无监督的降维算法来替代有监督的训练自动地生成卷积核,节省了大量的训练时间,同时也不需要对数据进行人工标注。实验中还证明了我们的算法无论是在大数据集上还是小数据集上都能取得并不弱于常用的有监督学习算法的效果。