PCA的目的
- 将原有的d维数据集,转换成k维的数据(k<d)
- 新生成的k维数据尽可能的包含原来d维数据的信息
PCA的数学推导
假设对n个样本 x i x_i xi进行PCA处理,先对数据进行中心化,即将数据的均值变为0(为了后面计算的方便,不用减去mean)
1 N ∑ i = 1 N x i = 0 \frac{1}{N}\sum_{i=1}^{N}x_i=0 N1i=1∑Nxi=0
则数据集的协方差矩阵为
C o v ( x i , x j ) = 1 n ∑ i = 1 n ( x i − μ i ) ( x j − μ j ) Cov(x_i,x_j)=\frac{1}{n}\sum_{i=1}^{n}(x_i-\mu_i)(x_j-\mu_j) \\ Cov(xi,xj)=n1i=1∑n(xi−μi)(xj−μj)
由于上面已经将数据中心化 μ i , μ j \mu_i,\mu_j μi,μj均为0,所以这里的协方差可以简化为下面的式子
C o v ( x i , x j ) = 1 n ∑ i , j = 1 n x i T x j Cov(x_i,x_j) = \frac{1}{n}\sum_{i,j=1}^{n}x_i^Tx_j Cov(xi,xj)=n1i,j=1