1、主元分析(PCA)理论分析及应用(主要基于外文教程翻译)什么是 PCA?PCA 是 Principal component analysis 的缩写,中文翻译为主元分析。它是一种对数据进行分析的技术,最重要的应用是对原有数据进行简化。正如它的名字:主元分析,这种方法可以有效的找出数据中最“主要”的元素和结构,去除噪音和冗余,将原有的复杂数据降维,揭示隐藏在复杂数据背后的简单结构。它的优点是简单,而且无参数限制,可以方便的应用与各个场合。因此应用极其广泛,从神经科学到计算机图形学都有它的用武之地。被誉为应用线形代数最价值的结果之一。在以下的章节中,不仅有对 PCA 的比较直观的解释,同时也配有较
2、为深入的分析。首先将从一个简单的例子开始说明 PCA 应用的场合以及想法的由来,进行一个比较直观的解释;然后加入数学的严格推导,引入线形代数,进行问题的求解。随后将揭示 PCA 与 SVD(Singular Value Decomposition)之间的联系以及如何将之应用于真实世界。最后将分析 PCA 理论模型的假设条件以及针对这些条件可能进行的改进。一个简单的模型在实验科学中我常遇到的情况是,使用大量的变量代表可能变化的因素,例如光谱、电压、速度等等。但是由于实验环境和观测手段的限制,实验数据往往变得极其的复杂、混乱和冗余的。如何对数据进行分析,取得隐藏在数据背后的变量关系,是一个很困难的
3、问题。在神经科学、气象学、海洋学等等学科实验中,假设的变量个数可能非常之多,但是真正的影响因素以及它们之间的关系可能又是非常之简单的。下面的模型取自一个物理学中的实验。它看上去比较简单,但足以说明问题。如 Error! Reference source not found.图表1所示。这是一个理想弹簧运动规律的测定实验。假设球是连接在一个无质量无摩擦的弹簧之上,从平衡位置沿 轴拉开一定的距离然后释放。对于一个具有先验知识的实验者来说,这个实验是非常容易的。球的运动只是在 x 轴向上发生,只需要记录下 x 轴向上的运动序列并加以分析即可。但是,在真实世界中,对于第一次实验的探索者来说(这也是实验
4、科学中最常遇到的一种情况) ,是不可能进行这样的假设的。那么,一般来说,必须记录下球的三维位置 。这一点可以通过在不同角度放置三个摄像机实现(如图所示) ,假设以 的频率拍摄画面,就可以得到球在空间中的运动序列。但是,由于实验的限制,这三台摄像机的角度可能比较任意,并不是正交的。事实上,在真实世界中也并没有所谓的 轴,每个摄像机记录下的都是一幅二维的图像,有其自己的空间坐标系,球的空间位置是由一组二维坐标记录的: 。经过实验,系统产生了几分钟内球的位置序列。怎样从这些数据中得到球是沿着某个 x 轴运动的规律呢?怎样将实验数据中的冗余变量剔除,化归到这个潜在的 x 轴上呢?这是一个真实的实验场景
5、,数据的噪音是必须面对的因素。在这个实验中噪音可能来自空气、摩擦、摄像机的误差以及非理想化的弹簧等等。噪音使数据变得混乱,掩盖了变量间的真实关系。如何去除噪音是实验者每天所要面对的巨大考验。上面提出的两个问题就是 PCA 方法的目标。PCA 主元分析方法是解决此类问题的一个有力的武器。下文将结合以上的例子提出解决方案,逐步叙述 PCA 方法的思想和求解过程。线形代数:基变换从线形代数的角度来看,PCA 的目标就是使用另一组基去重新描述得到的数据空间。而新的基要能尽量揭示原有的数据间的关系。在这个例子中,沿着某轴上的运动是最重要的。这个维度即最重要的“主元” 。PCA 的目标就是找到这样的“主元” ,最大程度的去除冗余和噪音的干扰。A. 标准正交基为了引入推导,需要将上文的数据进行明确的定义。在上面描述的实验过程中,在每一个采样时间点上,每个摄像机记录了一组二维坐标 ,综合三台摄像机数据,在每一个时间点上得到的位置数据对应于一个六维列向量。