核主成分分析

核主成分分析(,简称)是多变量统计领域中的一种分析方法,是使用核方法对主成分分析的非线性扩展,即将原数据通过核映射到后再使用原本线性的主成分分析。

背景:线性主成分分析
线性PCA对于中心化后的数据进行分析,即
:\frac{1}{N}\sum_{i=1}^N \mathbf{x}_i = \mathbf{0},

其中\mathbf{x}_i是N个多变量样本之一。之后将协方差矩阵
:C=\frac{1}{N}\sum_{i=1}^N \mathbf{x}_i\mathbf{x}_i^\top

对角化。换言之,即是对协方差矩阵进行特征分解
:\lambda \mathbf{v}=C\mathbf{v}

或写作
:\lambda \mathbf{x}_i^\top \mathbf{v}=\mathbf{x}_i^\top C\mathbf{v} \quad\forall i\in [1,N].

引入核方法
一般而言,N个数据点在d 维空间中是线性不可分的,但它们在d \geq N维空间中则是几乎必然线性可分的。这也意味着,如果我们能将N个数据点\mathbf{x}_i映射到一个N维空间
:\Phi(\mathbf{x}_i) 其中 \Phi : \mathbb{R}^d \to \mathbb{R}^N
中,就能很容易地构建一个超平面将数据点作任意聚类。不过由于经\Phi映射后的向量是线性无关的,我们无法再像在线性PCA中那样显式地对协方差进行特征分解。

而在核PCA中,我们能够使用任意非平凡的函数\Phi,但无需显式地计算在高维空间中的值,使我们得以使用非常高维的\Phi。为了避免直接在\Phi-空间(即特征空间)中操作,我们可以定义一个N\times N的核
:K = k(\mathbf{x},\mathbf{y}) = (\Phi(\mathbf{x}),\Phi(\mathbf{y})) = \Phi(\mathbf{x})^T\Phi(\mathbf{y})

来代表特征空间的内积空间(见格拉姆矩阵)。这一对偶形式使我们能够进行主成分分析,同时又不用直接在\Phi-空间中解协方差矩阵的特征值与特征向量。K中每一列的N个元素代表了转换后的一个数据点与所有N个数据点的点积。

由于我们并不在特征空间中进行计算,核PCA方法不直接计算主成分,而是计算数据点在这些主成分上的投影。特征空间中的一点在第k个主成分V^k上的投影为
:{\mathbf{V}^k}^T\Phi(\mathbf{x}) =\left(\sum_{i=1}^N \mathbf{a_i}^k\Phi(\mathbf{x_i})\right)^T\Phi(\mathbf{x})

其中\Phi(\mathbf{x_i})^T\Phi(\mathbf{x})代表点积,即核K中的元素。上式中剩下的部分\mathbf{a_i}^k可以通过解特征方程
:N \lambda\mathbf{a} =K\mathbf{a}

得到,其中N为数据点的数量,\lambda与\mathbf{a}则分别为K的特征值与特征向量。为了归一化\mathbf{a}^k,我们要求
:1 = (\mathbf{V}^k)^T \mathbf{V}^k

值得注意的是,无论是否在原空间中对x中心化,我们无法保证数据在特征空间中是中心化的。由于PCA要求对数据中心化,我们可以对K“中心化”:
:K' = K - \mathbf{1_N} K - K \mathbf{1_N} + \mathbf{1_N} K \mathbf{1_N}

其中\mathbf{1_N}代表一个每个元素值皆为1/N的N\times N矩阵。于是我们可以使用K'进行前述的核PCA计算。与数据降噪等。

参考文献

评论 (0)

  • 还没有评论,来抢沙发吧。