论文部分内容阅读
Fisher线性辨别分析(FisherLinearDiscriminantAnalysis,LDA)是一种经典的用于处理分类问题的有监督的降维方法。传统的LDA算法主要面临的问题是“奇异性问题”,即当训练数据的散布矩阵(ScatterMatrix)奇异时,传统算法不再成立。近年来,研究者们提出了许多LDA的改进算法,用于处理“奇异性问题”,其中包括一些两阶段的近似算法,包括PCA+LDA算法和LDAQR算法。这些算法首先通过一些其他降维方法将原始数据集降到一个中间维度,使得降维后的协防差矩阵不再奇异,再在降维后的数据上使用传统的LDA算法进一步降低原数据的维度。同时,传统的LDA算法由于有较高的时间复杂度,可扩展性不高,因而无法应用在大规模数据上。这些两阶段的算法,由于是传统LDA算法的一个近似,相比传统的LDA算法有较高的可扩展性。然而,目前对于这类两阶段LDA算法的有效性缺乏理论上的研究。 本文首先对一类两阶段的LDA算法的近似误差进行了理论分析,提出了两阶段算法近似误差的一个理论界。根据该理论结果,本文提出了一种新的两阶段的LDA算法。实验证明,该算法相较于PCA+LDA算法和LDAQR算法,有更高的精确度。另一方面,由于本算法的主要部分是一个奇异值分解,应用近年提出的一种基于随机投影的奇异值分解算法,本算法也拥有较高的可扩展性,可用于大规模的数据上。 MapReduce是一个流行的分布式计算软件构架,它可以支持大规模数据的分布式处理。本文描述了本算法在MapReduce上的一种高效实现。这进一步验证了本算法的可扩展性。