《机器学习中的数学》——PCA与特征值分解

摘要

PCA(Principal Component Analysis)是一种常用的数据分析方法。PCA通过线性变换将原始数据变换为一组各维度线性无关的表示,可用于提取数据的主要特征分量,常用于高维数据的降维。本篇主要从线性代数角度分析PCA。

问题分析

给定矩阵XRmnX \mathbb \subseteq \mathbb R^{m*n}例如:
X=[a1a2anb1b2bn] X=\begin{bmatrix} a_1 &a_2& \cdots &a_n\\ b_1 &b_2& \cdots &b_n\\ \end{bmatrix}
选择k<mk<m个正交基进行将为的同时又尽量保持原始数据的信息。即,使的AA变换得到这组基后,使得行向量间的协方差为0,而每个行向量的方差尽可能大。
协方差矩阵(对称半正定)为:
CX=1nXXT=[1ni=1nai21ni=1naibi1ni=1naibi1ni=1nbi2] C_X=\frac{1}{n}XX^T= \begin{bmatrix} \frac{1}{n}\sum_{i=1}^n a_i^2 & \frac{1}{n}\sum_{i=1}^n a_ib_i\\ \frac{1}{n}\sum_{i=1}^n a_ib_i &\frac{1}{n}\sum_{i=1}^n b_i^2\\ \end{bmatrix}
这里对特征做了0均值化,所以主对角线上的元素为每行特征的方差,其他的元素为该维度特征与其他特征的协方差,我们对此对称阵CXC_X相似对角化
CX=UΛUTΛ=UTCXU C_X=U\Lambda U^T \Rightarrow \Lambda=U^TC_XU
在对角元素中得到最大的前k个特征值所对应的特征向量,求得ξiX\xi_i X(iki\subseteq k)。
举例
《机器学习中的数学》——PCA与特征值分解

总结与链接

博客为学习使用。