大概主成分分析(Principal components analysis,以下简称PCA)是最重要的降维方法之一。在数据压缩消除冗余和数据噪音消除等领域都有广泛的应用。一般我们提到降维最容易想到的算法就是PCA,下面我们就对PCA的原理做一个总结。
首先考虑一个问题:对于正交属性空间中的样本点,如何用一个超平面(直线的高维推广)对所有样本进行恰当的表达?
可以想到,若存在这样的超平面,那么它大概具有这样的性质:
最近重构性:样本点到这个超平面的距离足够近
最大可分性:样本点在这个超平面上的投影能尽可能的分开
基于最近重构性和最大可分性能分别得到主成分分析的两种等价推到,我们这里主要考虑最大可分性,并且一步一步推到出最终PCA。
1.PCA最大可分性的思想
我们既可以降维到第一主成分轴,也可以降维到第二主成分轴。那么如何找到这这些主成分轴并且选择最优成分轴呢?
直观上,第一主成分轴 优于 第二主成分轴,即具有最大可分性。
下面解决一些基本概念。
2.基变换
欲获得原始数据新的表示空间,最简单的方法是对原始数据进行线性变换(基变换):
以直角坐标系下的点(3,2)为例,欲将点(3,2)变换为新基上的坐标,就是用(3,2)与第一个基做内积运算,作为第一个新的坐标分量,然后用(3,2)与第二个基做内积运算,作为第二个新坐标的分量。
实际上,我们可以用矩阵相乘的形式简洁的表示这个变换:
可以稍微推广一下,如果我们有m个二维向量,只要将二维向量按列排成一个两行m列矩阵,然后用“基矩阵”乘以这个矩阵,就得到了所有这些向量在新基下的值。例如(1,1),(2,2),(3,3),想变换到刚才那组基上,则可以这样表示:
3.方差
回顾一下,我们的目的是希望在降维过程中损失最少,换言之,我们希望投影后的数据尽可能分散开。这种分散程度可以用方差来表达,方差 越大,数据越分散。
4.协方差
协方差(Covariance)在概率论和统计学中用于衡量两个变量的总体误差。
5.协方差矩阵
这个就是协方差矩阵嘛!
设我们有m个n维数据记录,将其按列排成n乘m的矩阵X,设C = 1 m X X T ,则C是一个对称矩阵,其对角线分别个各个特征的方差,而第i行j列和j行i列元素相同,表示i和j两个特征之间的协方差。
6.协方差矩阵对角化
7.PCA算法流程
总结一下PCA的算法步骤:
8.PCA实例
这里以上文提到的:
降维投影结果如下图: