主成分分析是由皮尔逊于1901年提出并引入生物学领域,再由霍特林于1933年加以发展并引入心理学的一种多元统计方法。20世纪30年代末40年代初,这方面大量的工作风起云涌,计算机技术的突破也促进了主成分分析的研究。在概率论建立的同时,主成分分析又单独出现。近年来,主成分分析的理论日趋成熟,在许多实际的工业过程中,尤其是化工过程中得到了广泛应用。
所谓主成分,就是在某个统计问题中对整组数据贡献率最高的少数几个成分,这里成分就是指“特征”或者说“属性”,主成分分析旨在把它们从众多旧特征中抽调出来,当然很多情况下提取出来的新特征对人类而言并没有明显的含义。这项技术现在被用于机器学习的数据预处理,用于数据降维,处理完了就用新得到的主成分去建立多元线性回归。
那皮尔逊怎么会和抽象的、看不见摸不着的高维度打交道呢?我们生活的空间不是只有3维吗?加上时间也才四维。现代弦理论说空间是9维,霍金所认同的M理论则认为空间是10维。它们解释说人类所能感知的四维外的维度都被卷曲在很小的尺度内。但大家不要以为只有数学、物理学里面有高维空间,统计学里也可以有,而且更接地气,比如考察一个人的“身高、体重、胸围、坐高、血压、肺活量”这六维数据。当时人们在一个统计模型中需要同时考察分析的特征变量越来越多,这使得皮尔逊引入了高维数学。这种模式的引入也为数理统计学在19世纪末20世纪初成为专门的学科起了强大的推力作用。皮尔逊的高维数学是师从于西尔维斯特和凯莱,两者在19世纪中期研究了不变量理论,并从中发展出矩阵代数。
图 5-8 从弦理论推导出的 6 维卡拉比—丘流形
这里貌似要精通高维数学才能理解主成分分析,其实说得通俗点,主成分分析(PCA)就是在高维空间中选择能够保持数据中大多数方差的超平面,然后将数据投射到这些高维平面上,从而得到一个低维的数据空间。
主成分分析应用在机器学习中最著名的当数人脸识别,最早是在1991年由图克和蓬特兰将主成分分析引入此领域。
在人脸识别中人们总是遇到很大的数据量,打个比方,输入一幅300×300像素的黑白人脸图像,在把矩阵中数值按列首尾相连变成向量后,这个可表示原始图像的向量将达到90000维,这给分类器的数据处理带来极高的难度。
这时候计算机科学家发现人脸图像各像素点之间存在很强的相关性,很自然地想到可以用PCA算法来降维,可见其基本思想就是从人脸图像中提取出最能代表人脸特征的特征空间,去除一些不能代表人脸特征的属性以减少计算量,然后在识别过程中使用距离度量来判断两张人脸图像是否是同一个人。当然这一领域现在已经逐步被深度学习占领。