主成分分析的数学原理

作者: 陈码工 | 来源:发表于2017-01-23 17:09 被阅读0次

一. 矩阵运算的基本性质

如下几条矩阵运算基本性质在统计中会反复使用, 因此放在这里方便查阅.

矩阵的加减法: 交换律(只有加减法和λ有交换律), 结合律;
矩阵和数字λ: 乘法结合律((λμ)A=λ(μA)), 乘法分配律( λ(A+B) = λA+λB, (λ+u)A = λA+uA); 随意移位律(λABCD = ABCλD, i.e. 数字λ可以在所在的矩阵乘法块中随意选位置)
矩阵和矩阵: 记得Cij 对应Ai行和B的j列的相乘, 所以A的列数和B的行数相同, 因此矩阵乘法没有交换律;
乘法结合律( (AB)C = A(BC) )和乘法分配律( A(B+C) = AB+AC );
矩阵的转置: (AB)' = B'A' (逆序);
矩阵的逆: (AB)^-1 = B-1A-1(逆序), (A')-1=(A-1)' [转置和逆调位等价];

二. PCA的求解步骤

拿到一个矩阵X(维数比较多, 比如3行5列就是代表是3维的5个Vector), 我们的目标是"降维"变成只有2维的矩阵Y, 中间借助的是基向量矩阵P, 其中基向量都是以行的形式存在于P中, 因此P有2行的话就是有2个基向量维度. 所以, 我们的任务是要获得这个神奇的基向量矩阵P, 它可以实现降维!

这里为了计算方便, 我们只演示一个5个二维向量数据降维成5个一维向量数据的过程.

我们输入一个2*5的输入数据X矩阵.

输入.png

(1) 先对X进行零均值化.

让每个属性维度的均值都变成0, 做法是让所有元素都减去本属性行的均值. (记得在X矩阵中, 行代表的是一个属性维度, 列代表的是一个Vector)


输入.png

本例中, 已经每行的属性维度都是零均值化过了, 所以这里不用再计算.

(2) 求取X对应的协方差方阵C

协方差方阵的行列数 = 属性维度数, 因此 C 是2*2的方阵.
这里, 我们看到X有5个Vector, 我们记作V1, V2~V5, 我们把第一行属性维度写作a1~a5, 第二行属性维度写作b1~b5;
C[1][1]= 维度a和维度a的相关程度 C[1][2] = 维度a和维度b的相关程度
C[2][1]= 维度b和维度a的相关程度 C[2][2] = 维度b和维度b的相关程度

Therefore,
C[1][1] = 1/m *[ (a1-0)2+(a2-0)2+(a3-0)2+...+(a5-0)2 ] = 1/5 * Σ ai^2
C[1][2] = 1/5 * Σaibi
C[2][1] = 1/5 * Σaibi
C[2][2] = 1/5 * Σbi^2

这里, 可以利用 C = 1/mXX' 来计算, 得到:

实数对称的协方差方阵C的求解.png

(3) 求取协方差方阵C的特征值λ和特征向量<x>

C<x> = λ<x> --> (C-λI)<x> = diag(0) --> |C-λI| = 0
解|C-λI| = 0, 用行列式计算的主对角线和减副对角线和方法, 得到特征值的两个解(对C方阵这样的实数对称方阵, 有几个维度就有几个特征值的解), 所以λ1 = 2 or λ2 = 2/5
写出对应的特征向量<x1> = (1, 1)', <x2> = (-1, 1)' ; //apostrophe代表这应该是vector, 竖着写的.

由于我们需要把特征向量最后作为基向量, 因为要让它们的长度变成1:
<e1> = (1/√2, 1/√2)'
<e2> = (-1/√2, 1/√2)'

由此, 我们可以基垒起来, 变成一个我们想要的P.
如果我们把得到的基垒起来, 那么这个完整的P应该能够PCP'生成^, 也就是diag(λ).

基向量矩阵P与协方差方阵C的关系.png

(4) 选取需要的维度数, 获得最后降维结果Y

Y = PX,
因为我们要降维, 因此我们P只需要一个基向量, 表示只有一维度.

最后一步的Y=PX计算

最后Y = (-3/√2, -1/√2, 0, 3√2, 1/√2) #5个一维度向量, 而原先的输入可是5个二维度向量哦!!!
这些点在图里就是这样的:

我们算了四步其实就是为了得到基向量矩阵P, 实现Y = PX -- 在这里就是这条蓝色线

补充说明:
因为基向量只要满足第一个方向信息量最大, 第二个和第一个正交即可. 因此, <e1> = (-1/√2, -1/√2)', <e2> = (1/√2, -1/√2)' 也同样满足需求;
我们可以使得P = (-1/√2, -1/√2), Y = (3/√2, 1/√2, 0, -3√2, -1/√2)

参考资料:
PCA的数学原理

相关文章

网友评论

    本文标题:主成分分析的数学原理

    本文链接:https://www.haomeiwen.com/subject/wcvabttx.html