脑网络分析基础3A——PCA
PCA的目的进行降维原理PCA要从原始的空间中顺序地找一组相互正交的坐标轴。其中第一个新坐标轴选择是原始数据中方差最大的方向 第二个新坐标轴选取是与第一个坐标轴正交互不干扰的平面中使得方差最大的 第三个轴是与第1,2个轴正交的轴中方差最大的依次类推到第k个轴。总之就是要满足不同轴两两正交然后在此前提下每次选的轴都是能最大化数据在这个轴上投影的方差。通过这种方式可以发现大部分方差都包含在前面k个坐标轴中后面的坐标轴所含的方差几乎为0。于是我们可以忽略余下的坐标轴只保留前面k个含有绝大部分方差的坐标轴。PCA中最后降维得到的每个新特征的分数就是数据在所有先前选出来的能够最大化方差的坐标轴上的投影具体怎么做1.将数据组成m行n列矩阵其中m是特征数n是样本量1.将每个特征中心化2.计算特征的协方差矩阵3.对协方差矩阵进行特征值分解特征向量表示降维时的投影方向对应的特征值的大小反映这个方向能够解释的方差4.取前k个最大特征值对应的向量形成投影矩阵W[v1,v2,...,vk] m*k, m是特征数5. 将原始数据投影到新空间ZW’X其中X是原始矩阵 (m*n, n是样本数m是特征数Z 是降维后的数据矩阵 ( k×n , k是降维后特征数n是样本数。为什么可以这样做其实投影矩阵W就是一组基样本在原始坐标系中的坐标与每一个基的内积等于在这个基对应方向上的投影。 基就是一组线性无关的向量而且空间中所有向量都可以由这组基线性表示。假设基都是单位向量设为B而样本点在原始空间中表达设为A向量则有A和B的内积AB |A||B|cos(a)其中a是A和B的夹角又单位向量的模位1也就是A在B方向上的投影|A|cos(a)就是A和B的内积。那如何选择投影方向应该选择的方向令数据在这个方向上的投影最分散分散程度用方差来衡量。并且希望不同的投影方向正交就是数据在不同投影方向上的投影不相关协方差为0。设Y PXP是投影矩阵X是原始数据矩阵。由于X的每个特征都中心化所以Y矩阵的每行也是均值为0所以Y矩阵的协方差矩阵就是1/m * YY 1/m * (PX)(PX) P(1/m * XX)P PCP其中C 1/m * XX这是X矩阵的协方差矩阵。我们的目标是找到一个投影矩阵P使得Y的协方差矩阵PCP是一个对角矩阵其中对角线上是每个变换后特征的方差其它位置是不同特征 变换后不是原始的的协方差不同特征的协方差应为零。回到上面ZWXZ矩阵的协方差矩阵就是1/m * ZZ W(1/m * XX)W因为W矩阵是实对称矩阵(1/m * XX)的特征向量矩阵所以是一个正交矩阵其逆矩阵等于转置。则有W(1/m * XX)W为一个对角矩阵则W‘可以使得Z的协方差矩阵为对角矩阵。也就是在w取(1/m * XX)第一大特征值对应的特征向量时有1/m * ZZ取第一大值即(1/m * XX)的第一大特征值在w取(1/m * XX)第二大特征值对应的特征向量时有1/m * ZZ取第二大值即(1/m * XX)的第二大特征值。那为什么这样找到的新轴会使得数据投影在上面的方差最大也许我们会问换一个转置矩阵是否可能同样能满足让Z的协方差矩阵为对角矩阵而且还可能让数据投影的方差更大但事实上并不行只能是特征向量矩阵才做得到为了证明这个问题我们可以借助瑞利商。把1/m * XX设为A构建瑞利商因为w是投影方向是单位向量ww1所以瑞利商就等于wAw。每一个w对应的瑞利商也就是对应Z矩阵的协方差矩阵的对角线上的每一个元素。最大化/最小化瑞利商也就是最大化/最小化Z矩阵协方差矩阵上的元素。又瑞利商定理为λn λ1其中λn为A最小的特征值λ1为A最大的特征值。当瑞利商取λ1时w恰为属于λ1的A的特征向量当瑞利商取λn时w恰为属于λn的A的特征向量。对于其它轴和A的其它特征向量一一对应的证明首先每个轴w都可以被线性无关的A矩阵的特征向量所表示看第二个轴第二个轴必须要和第一个轴正交所以w‘v1 0又wv1 a1所以a10也就是第二个轴必然是v2到vn的线性组合此时自然此时瑞利商wAw小于等于λ2也就是第二个轴等于v2时a2取1a3到an取0有wAw取第二大值为λ2以此类推得到每一个轴与A的每一个特征向量一一对应。所以W为1/m * XX 或者就是XX的特征向量矩阵时候可以满足我们的需求。参考什么是PCA分析手把手教你理解PCA - 知乎PCA算法详解——本质上就是投影后使得数据尽可能分散方差最大PCA可以被定义为数据在低维线性空间上的正交投影这个线性空间被称为主⼦空间principal subspace使得投影数据的⽅差被最⼤化Hotelling, 1933即最大方差理论。 - bonelee - 博客园这篇讲得相当好线性代数 | 瑞利商的性质与证明 | 主成分分析PCA的第三种推导方法_哔哩哔哩_bilibili