PCA理论基础
总述:PCA通过线性变换将原始数据变换为一组各维度线性无关的表示,可用于提取数据的主要特征分量,常用于高维数据的降维。
需要注意的数学概念
有助于理解算法以及算法改进,了解PCA的工作机制
PCA方差的作用
用来衡量随机变量与其数学期望(均值)之间的偏离程度-----数据的离散程度。其数学定义(样本方差)是各个数据分别与其平均数之差的平方的和的平均数。
- 数学公式
- 意义:二维数据PCA实质上就是寻找一个一维基,使得所有数据变换为这个基上的坐标表示后,新的数据离散程度最大(投影后投影值尽可能分散),数学上则表现为方差值最大。------降维要求之一,让投影后的数据尽量离散
PCA协方差、协方差矩阵的作用
协方差
若两个字段是线性相关的,意味着两个字段不是完全独立,必然存在重复表示的信息。协方差用于表示两个字段间的相关性。
- 数学公式(前提是每个字段已经做零均值处理)
- 意义:多维数据的话,方差最大所实现的保证数据离散的要求只能满足一个“基”的产生,此时需要确定其他基时,则数据间的(线性)相关性作为其他基的确定指标(即选择其他投影方向);当协方差为0时,表示两个字段完全独立。
- 数学巧合1:当数据做零均值话后两个矩阵的协方差值等概念于两个矩阵的内积(实际上有所区别);导致最终PCA选取的基均为正交基------确定投影方式的的第二个条件:选择第二个基时只能在与第一个基正交的方向上选择/投影矩阵两两间协方差为0。
- 至此得到PCA的优化目标:将一组N维向量降为K维(K大于0,小于N),其目标是选择K个单位(模为1)正交基,使得原始数据变换到这组基上后,各字段两两间协方差为0,而字段的方差则尽可能大(在正交的约束下,取最大的K个方差)
协方差矩阵
协方差和方差两个数学概念所得到的优化目标,但没给出系统化的操作方案,只知道发展目的,不知道发展方向,协方差矩阵的出现为批量化求取优化目标提供解决方案。
- 基础公式+推广公式
- 数学巧合:这个矩阵对角线上的两个元素分别是两个字段的方差,而其它元素是a和b的协方差。两者被统一到了一个矩阵里
- 要达到优化目标,等价于将协方差矩阵对角化:即除对角线外的其它元素化为0(协方差为零),并且在对角线上将元素按大小从上到下排列(方差由大到小排列:方差越大,样本点越离散,越easy区分,信息量也就越多)
- 换一个角度:优化目标=(找到所需要求得的投影矩阵)。优化目标变成了寻找一个矩阵P(P是想求得的总体基按行组成的矩阵),满足 P*^*P’(这一整体的集合是最终投影矩阵的协方差矩阵)是一个对角矩阵,并且对角元素按从大到小依次排列,那么P的前K行就是要寻找的基,用P的前K行组成的矩阵乘以X就使得X从N维降到了K维,得到想要的降维后的数据,并满足优化条件。(见PCA数学原理,说的比较清楚,明确描述由已知数据协方差矩阵推导未知协方差矩阵,并引入求优化目标的过程)-----------最终目标:寻找一个矩阵P,使得原协方差矩阵对角化。
- 数学概念1:实对称矩阵的性质(针对原始数据协方差矩阵C)------------一个n行n列的实对称矩阵一定可以找到n个单位正交特征向量
- 数学概念2:实对称矩阵一定可以对角化 公式如下 其中C为已知
- 求得最终所需要求得P(P是原始数据协方差矩阵的特征向量单位化后按行排列出的矩阵,其中每一行都是C的一个特征向量。)
- 最终目的达到:如果设P按照^中特征值的从大到小,将特征向量从上到下排列,则用P的前K行组成的矩阵乘以原始数据矩阵X,就得到了我们需要的降维后的数据矩阵Y