主成分分析(PCA)全面解析:原理、实践与拓展
1. 高维数据下的PCA挑战与解决方案
在进行主成分分析(PCA)时,我们需要计算数据的协方差矩阵。在D维空间中,数据协方差矩阵是一个D×D的矩阵。计算该矩阵的特征值和特征向量的计算量非常大,因为其计算复杂度与D的三次方成正比。因此,在高维数据中,传统的PCA方法可能变得不可行。例如,当数据是100×100像素的图像时,我们需要计算一个10,000×10,000的协方差矩阵的特征分解。
1.1 迭代算法求特征向量
存在一种迭代算法,通过向量与协方差矩阵S不断相乘并归一化,最终收敛到与S最大特征值对应的特征向量。迭代公式如下:
[x_{k + 1} = \frac{Sx_k}{|Sx_k|}, k = 0, 1, \cdots]
只要(S)可逆且初始向量(x_0 \neq 0),该序列向量就会收敛到所需的特征向量。原始的Google PageRank算法就使用了类似的算法来根据网页的超链接对网页进行排名。
1.2 数据点少于维度时的PCA解决方案
假设我们有一个中心化的数据集(x_1, \cdots, x_N),其中(x_n \in R^D),数据协方差矩阵为:
[S = \frac{1}{N}XX^T \in R^{D×D}]
这里(X = [x_1, \cdots, x_N])是一个D×N的矩阵,其列是数据点。当(N \ll D)(数据点数量远小于数据维度)且没有重复数据点时,协方差矩阵(S)的秩为(N),有(D - N + 1)个特征值为0,这意味着存在一些冗余信息。
我们可以将D×D的协方差矩阵转换为N×N的协方差矩阵,
超级会员免费看
订阅专栏 解锁全文
36

被折叠的 条评论
为什么被折叠?



