理解PCA

引言
之前写过一篇关于PCA的文章,写完之后就以为自己已经完全理解这个东西了。直到最近data mining课上又讲到这个内容,和同学交流时才发现有些细节根本没有理解到位。上一篇文章主要介绍如何一步一步计算出一个PCA算法,而今天则侧重于从数学的角度讲讲为什么。

基本概念
再深入介绍之前,先理解几个基本的数学概念:
方差(Variance):
一个变量的方差可以看做是每个元素与变量均值的差的平方和的均值,即:$${\displaystyle \Sigma =\mathrm {cov} (X_{i},X_{i}) = \mathrm {E} {\begin{bmatrix}(X_{i}-\mu _{i})^{2}\end{bmatrix}} = \mathrm {E} {\begin{bmatrix}(X_{i}-\mu _{i})(X_{i}-\mu _{i})\end{bmatrix}}}
$$
其中,\(E\)表示的是均值函数,\(\mu_{j}\)表示的是样本的均值。方差用来度量单个变量样本数据的离散(偏离均值)的程度。

协方差(Covariance):[......]

继续阅读

Machine Learning-聚类(Clustering)(二)-主成分分析(PCA)

一、降维(Dimensionality Reduction)
我们知道在实际场景中,很多特征向量之间都是有强相关性的,比如有两个特征分别用英尺和平方米来丈量房屋的面积大小,那么这两组数据就 是冗余的(为什么会出现这么明显的冗余?因为在实际场景中会有几百甚至是上千的特征,很难判断两个特征之间是否是冗余的。),我们完全可以使用一个一维的特征变量来表示房屋的面积大小,这就是降维。举个例子:
2DTo1D
如上图所示,我们把原来的两个向量x1和x2降维到只是用一个向量z1来使用。更直观的,可以看一个三维降低到二维的例子:
3DTo2D
我们可以发现三维空间里离散的点被映射到了一个二维空间平面之中。

那么为什么要降维呢?

  • 压缩数据,节省存储空间
  • 提高算法执行速度
  • 用于数据可视化,使视图更简洁,更容易发现数据之间的规律
  • 二、主成分分析(Principal Component Analysis)

    1.PCA的数学表达
    在介绍PCA的计算方法和原理之前,我们先了解下PCA主要做的事情是什么,并且用数学语言把它表达出来。看个例子:
    PCA_2DTo1D
    这个例子是把二维的数据降低到一维,它所做的事[......]

    继续阅读