基础数学课27 PCA 主成分分析

我们说下一个简单的降维手段,主成分分析PCA

对于降维,我们之前说过,往往机器学习领域中,物品的特征太多。而特征太多会导致维度过多,从而加大了机器学习的难度。因此需要过滤掉一些不重要的特征。方便机器学习。

那么PCA就是一种

首先我们假设一个数据集,其中有m个样本,n个维度,整体如下

从而可以得到一个m*n的矩阵。

那么我们现在就需要降低这个矩阵的维度,保留最有用的信息。这里可以利用PCA完成,其包含了如下的步骤

  1. 标准化原始数据
  2. 获取协方差矩阵
  3. 计算其中的特征值和特征向量
  4. 挑选主要的特征向量
  5. 生成新的特征

对应步骤我们分开讲解下

  1. 标准化

这里我们利用特征标准化,进行处理

Y = (x-u)/(q)

其中x是原始值,u是均值,q是标准差(方差)

Y是变化后的值,这样我们就可以将同一维度的数据进行标准化。

这里我们假设有一个样本集合,包含了三个样本,每个样本具有3个维度特征

这里我们进行标准化

第一维度的数据就是 1 2 -3 平均值0,方差为

之后我们可以套入前面的公式

得到第一维度的数据,1/2.16=0.463,2/2.16=0.926,-32.16=-1.389

最终得到的标准化矩阵为

  1. 获取协方差矩阵

协方差用于衡量两个变量之间的总体误差。假设两个变量为x y

采样数量为m,计算公式如下

其中xk为X维度的第k个数据

减去了X维度的平均值。

将Xk转换为维度中的值,可以为Xki

其中k为行,i为列,转换公式为

再之后,协方差矩阵就会变为如下形式

并且由于 cov(X2,X1)和cov(X1,X2)具有对称性,所以cov是一个对称矩阵,在主对角线上的值就是各维特征的方差。

对于上面得到的矩阵,我们就可以计算其协方差矩阵

第一维度的方差为

第一维度和第二维度的协方差为

得到了协方差矩阵

之后我们就可以解协方差矩阵的特征值和特征想来那个

  1. 计算协方差矩阵的特征值和特征向量

这里的特征向量和我们说过的机器学习中的特征向量并不是一回事,但是在这里我们先给一个计算公式。

Xv=λv

其中v是X的特征向量,λ是对应X的特征值,所以

(X−λI)v=0

并计算行列式

(x1,1​−λ)(x2,2​−λ)…(xn,n​−λ)+x1,2​x2,3​…xn−1,n​xn,1​+…)−(xn,1​xn−1,2​…x2,n−1​x1,n​)=0

通过这个方程式,得到多个解,并计算特征值。

将上述的协方差矩阵带入上述公式得到

得到

于是其具有三个近似解,分别为0,0.0777和4.4223

将这三个特征值带入原方程,得到特征向量

这里补充下如何通过特征值得到特征向量

比如0.0777,这里可以带入上面的矩阵

[1.5 – 0.777, 1.499,-1.499]

[1.499, 1.5 – 0.777,-1.435]

[-1.499, -1.435,1.5 – 0.777]

左乘一个

[x1]

[x2]

[x3]

令其为

[0]

[0]

[0]

得到方程,其中包含x1 x2 x3的变量,最终得到特征向量。

这里我们根据4.4223得到对应的特征向量为

[-0.58077228 -0.57896098 0.57228292]

最后根据多个特征值以及其特征向量

通过排序,获取到重要的特征向量。

利用前k1个特征向量,组成一个n*k1维度的矩阵D

然后将原始的m*n维度矩阵乘以矩阵D,得到一个m*k1维度的矩阵,从而进行降维操作。

这里我们利用特征值和特征向量对原样本矩阵进行变化

这样就进行了特征维度的降维操作。

那么最后,我们说下协方差矩阵的核心思想

降低维度,就是要筛选出去那些表达信息少的维度,保留具有较高识别的维度。

那么如何判断维度的信息量包含大小,可以从两方面,一方面可以查看这个信息维度内的差异是否大,如果包含的信息量差异大,就可以认为更加具有辨识度。

另一方面则是查看维度之间的关联性,如果是如果两个维度具有很高的相关性,那么表达的信息就是重复的。

这里可以使用皮尔森系数来进行计算。


其基本上和协方差类似。

利用协方差来衡量不同维度的相关性。

最终在协方差矩阵中,对角线的是维度自身的信息量大小,其他的为不同维度之间的相关性。

之后就可以计算得到特征值和特征向量,对于这个协方差矩阵,我们需要考虑尽可能的保留大信息量的维度,去除其他的不相干维度。

也就是对协方差进行对角化,然后使得矩阵只有主对角线上有非0的元素。

那么特征值和特征向量,就是为了方便变化上面的矩阵,让矩阵在一个新方向进行变化,从而尽可能的保留原有的信息,而新的方向上,包含多个原始特征的组合和缩放。

发表评论

邮箱地址不会被公开。 必填项已用*标注