通过主成分分析方法进行降维

  在高维数据上工作会碰到很多问题:分析很困难,解读起来困难,不能可视化,对于数据的存储也很昂贵。高维数据还是值得研究,比如有些维度是冗余,某一个维度其实是可以被其他几个维度的组合进行解释。正因为某些维度是相关的,所以高维数据内在有更低维的结构。降维方法就是探索数据的内在相关性生成一个压缩后的数据,同时尽可能减少信息的损失。所以降维方法也可以看做是一个压缩方法,类似于jpeg,mp3对于图片和音乐的压缩。

  主成分分析是一种线性降维,由Pearson和Hotelling提出已经有上百年了,仍然最常用的数据压缩和数据可视化的方法,可以用于识别简单的模式,隐藏的因素和高维数据的结构。

 

我们知道一个n维向量x到一个单位向量$\omega$上的投影是$\omega^{T}x$, 假如有d个正交的基坐标形成新的子空间,向量x在这个d维的子空间(坐标系)下的投影变为$z = B^{T}x$,其中$B=[\omega_{1}, \omega_{2}, ..., \omega_{d}]$ 是一个n*d的矩阵,这样n维向量x映射成为了一个d维向量。我们的目标就是找到这么一个合适的B,使得新的向量接近于原向量。

从方差的角度看,主成分分析可以认为是在子空间里面最大化数据的方差,这样可以让信息保留得尽可能地多。计算$\omega^{T}x$的方差, $D(x)=w^{T}(\frac{1}{n}\sum{x*x^{T}})w = w^{T} \Sigma w$,其中$\Sigma$是协方差矩阵,约束条件是 $w^{T}*w=1$。通过拉格朗日变换得到拉格朗日对偶问题

$L=w^{T}(\frac{1}{n}\sum{x*x^{T}})w + \lambda(1-w^{T}w)$, 对w和$\lambda$求偏导

$\frac{\vartheta L}{\vartheta w}=2 w^{T}\sum - 2\lambda w^{T}$

$\frac{\vartheta L}{\vartheta \lambda}=1 - w^{T}*w$

让偏导为0,可以得到 $\Sigma w = \lambda w$, 并且 $D(x) = \lambda$,于是x在特征向量w方向上的投影都是方差的极值点,此时方差的大小就是特征值的大小。

 

posted @ 2019-01-17 15:14  何振华Jeanva  阅读(2287)  评论(0编辑  收藏  举报