PCA主成分分析(最大投影方差)

江枫思渺然 提交于 2019-12-05 01:09:46

PCA简介:

从n维数据中提取最能代表这组数据的m个向量,也就是对数据进行降维(n->m),提取特征。

目标:

找到一个向量\(\mu\),使n个点在其上的投影的方差最大(投影后的数据越不集中,就说明每个向量彼此之间包含的相似信息越少,从而实现数据降维)

前提假设:

总的数据:

\[A = (x_1, x_2, \cdots , x_n)\]

\(X\)的协方差:

\[C = Cov(X) = \frac{1}{n}\sum_{i=1}^n(x_i-\overline{x})(x_i-\overline{x})^T\]

向量\(\mu\)

\[|\mu| = 1 \Rightarrow \mu^T\mu = 1\]

证明:

易知\(x_i\)\(\mu\)上的投影为\[(x_i-\overline{x})^T\cdot\mu\]

因为\((x_i-\overline{x})\)均值为0, 所以记其方差\(J\)

\[\frac{1}{n}\sum_{i=1}^n(x_i-\overline{x})^T\cdot\mu)^2\]

又因为上式平方项中为标量,故可以将\(J\)改写为

\[\frac{1}{n}\sum_{i=1}^n(x_i-\overline{x})^T\cdot\mu)^T\cdot(x_i-\overline{x})^T\cdot\mu)\]

化简,得

\[\frac{1}{n}\sum_{i=1}^n\mu^T(x_i-\overline{x})(x_i-\overline{x})^T\mu\]

发现中间两项是协方差,带入,得

\[\mu^TC\mu\]

接下来就是一个在给定约束条件\(\mu^T\mu\) = 1,下的最优化问题,这里使用Lagrange乘数法求解

构造Lagrange函数\[L(\mu, C, \lambda) = \mu^TC\mu + \lambda(1-\mu^T\mu)\]

关于\(\mu\)求偏导,得

\[\frac{\partial J}{\partial \mu} = 2C\mu - 2\lambda\mu\]

令其等于0,得

\[C\mu = \lambda\mu\]

是不是有点眼熟?
没错,\(\lambda\)就是\(C\)的特征值(eigen-value),\(\mu\)就是\(C\)的特征向量(eigen-vector)
因此,这个我们要求的向量\(\mu\)就是\(C\)的特征向量(要m个,就取前m个最大的特征值对应的特征向量)

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!