PCA

1、PCA的基本想法

主成分分析(PCA)是常用的无监督学习方法,这一方法利用正交变换把由线性相关的变量表示的观测数据转换为少数几个由线性无关变量表示的数据,线性无关的变量称为主成分。

主成分分析中,首先对给定数据规范化,使得数据每一变量的平均值为0,方差为1。之后对数据进行正交变换。新变量是可能的正交变换中变量的方差的和(信息保存)最大的。在下图的例子中,显然在左图中和是线性相关的,当知道其中一个变量的取值时,对另一个变量的预测不是完全随机的,反之亦然。在旋转后的新坐标系里,数据由变量和表示。主成分分析选择方差最大的方向(第一主成分)作为新坐标系的第一坐标轴,即轴,之后选择与第一坐标轴正交且方差次之的方向(第二主成分)作为新坐标系第二坐标轴。在新坐标轴中,与线性无关,当知道其中一个变量的取值时,对另一个变量的预测是完全随机的,反之亦然。

关于PCA的解释除了投影到一个超平面使得投影点方差最大以外,还有一种等价的解释,即所有样本点到超平面的距离的平方和最小。这一点从下图中可以直观的看出来。

方差最大指的是(注意标准化后均值为0):

距离平方和最小指的是:

因为到原点距离固定,因此以上两个优化目标完全等价。

2、主成分的定义和性质

假设是维随机变量,其均值向量为:

协方差矩阵是:

考虑有维随机变量到维随机变量的线性变换:

其中

由随机变量性质有:

总体主成分定义如下:

给定所示的线性变换,如果它满足:

(1)(即线性变换是正交变换)

(2)(即变换后的各变量互相正交)

(3)变量是的所有线性变换中方差最大的,是与不相关的的所有线性变换中方差最大的;一般地,是与都不相关的的所有所有线性变换中方差最大的。

此时分别称为的第一主成分、第二主成分……第m主成分。

总体主成分有何性质呢?

定理1 设是维随机变量,是的协方差阵,的特征值分别是,特征值对应的单位特征向量分别为,则的第主成分为:

的第主成分的方差为:

证明:

求第一主成分就是求解约束最优化问题:

定义拉格朗日系数:

将拉格朗日系数对求导令其为0:

因此是的特征值,是对应的单位特征向量,于是目标函数为:

假设是的最大特征值对应的单位特征向量。显然与是最优化问题的解。因此构成第一主成分。

接着求第二主成分,第二主成分的是在且与不相关的条件下使得方差达到最大的。

求第二主成分需要求解约束最优化问题:

定义拉格朗日函数:

对求导并令其为0:

左乘得到:

因为,且,故:

从而:

这和第一主成分的求解完全类似,设为的第二大特征值对应的特征向量,则显然与是上式的解。于是构成的第二主成分。

一般地,的第k主成分为,且,这里是的第大特征值且是对应的单位特征向量。

由此可以得出总体主成分的几个性质

(1)总体主成分的协方差阵是对角阵:

(2)总体主成分的方差之和等于随机变量的方差之和:

这里是随机变量的方差,即协方差阵的对角元素。

(3)与的相关系数称为因子负荷量,它表示两者的相关关系:

推导如下:

其中为基本单位向量,第个分量为1,其它分量为0,由协方差性质:

代入上式即得结论。

(4)与个变量的因子负荷量满足:

(5)个主成分与的因子负荷量满足:

3、相关矩阵的特征值分解算法

之前我们考虑的主成分分析都是在总体上进行的,应用中我们需要在观测数据上进行主成分分析。

假设对维随机变量进行次独立观测得到观测样本,观测数据用表示:

相关矩阵的特征值分解算法流程如下:

(1)对观测数据进行规范化处理。

(2)依据规范化矩阵,计算样本相关矩阵:

(3)求的个特征值和对应的个单位特征向量。

(5)计算个样本的个主成分值:

4、数据矩阵的奇异值分解算法

给定样本矩阵,并假设有个主成分。

定义一个新的矩阵:

的每一列均值为0,不难得知:

即等于的协方差阵:

所以问题转化为求矩阵{X{'}}TX^{'}的特征值和特征向量。

假设的截断奇异值分解为,那么的列向量就是的单位特征向量。因此的列向量就是的主成分。

具体算法如下:

(1)构造新的矩阵:

(2)对矩阵进行截断奇异值分解:

(3)求样本主成分矩阵:

你可能感兴趣的:(PCA)