Kernelized Principal Component Analysis详解

本文详细解析了主成分分析(PCA)的局限性,并介绍了如何通过引入核化来解决这一问题,即核主成分分析(KPCA)。KPCA通过非线性映射在高维空间中进行PCA,以更好地保留数据的结构。文章深入探讨了KPCA的推导过程,包括核函数的使用和计算复杂度的分析。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Kernelized Principal Component Analysis详解

第三十八次写博客,本人数学基础不是太好,如果有幸能得到读者指正,感激不尽,希望能借此机会向大家学习。《主成分分析(PCA)详解(附带详细公式推导)》一文中曾对一种重要的降维手段——主成分分析(PCA)进行了讲解,这篇文章则主要对PCA的一种变体——核主成分分析(KPCA)进行讲解。

主成分分析的问题分析

  主成分分析(PCA)中采用的降维方法是线性降维,然而在很多现实任务中,可能需要非线性映射才能找到恰当的低维嵌入(Low-dimension Embedding),如下图所示,图1(a)中的3000个样本点是从图1(b)所示的二维矩形区域采样后并以S形曲面嵌入到三维空间中的,为了对这个二维矩形区域和经过降维后得到的低维嵌入进行对比,在这里将此区域称为“本真”(Intrinsic)二维空间,可以看出经过PCA降维后得到的低维嵌入丢失了原始数据的低维结构。主成分分析(PCA)中采用的降维方法是线性降维,然而在很多现实任务中,可能需要非线性映射才能找到恰当的低维嵌入(Low-dimension Embedding),如下图所示,图1(a)中的3000个样本点是从图1(b)所示的二维矩形区域采样后并以S形曲面嵌入到三维空间中的,为了对这个二维矩形区域和经过降维后得到的低维嵌入进行对比,在这里将此区域称为“本真”(Intrinsic)二维空间,可以看出经过PCA降维后得到的低维嵌入丢失了原始数据的低维结构。

图1 线性降维的不足

  基于上述问题,我们考虑向线性降维中引入“核化”(kernelized),下面对核化版本的主成分分析,即核主成分分析(Kernelized Principal Component Analysis,简称KPCA)进行分析。

核主成分分析的推导

  假设,原始样本空间 X ∈ R d × m \mathbf{X}\in\mathbb{R}^{d\times{m}} XRd×m,核化后的样本空间 Z ∈ R d ′ × m \mathbf{Z}\in\mathbb{R}^{d'\times{m}} ZRd×m,降维后得到的样本空间 Y ∈ R d ′ ′ × m \mathbf{Y}\in\mathbb{R}^{d''\times{m}} YRd×m,那么由PCA我们可知存在如下等式,

(1) ( ∑ i = 1 m z i z i T ) w j = λ j w j \left(\sum_{i=1}^{m}{\mathbf{z}_{i}\mathbf{z}_{i}^{T}}\right)\mathbf{w}_{j}=\lambda_{j}\mathbf{w}_{j} \tag{1} (i=1mziziT)wj=λjwj(1)

其中, z i \mathbf{z}_i zi是原样本空间中第 i i i个样本点 x i \mathbf{x}_i xi在核化后的高维空间中的对应点, w j \mathbf{w}_j wj是要求得的投影矩阵 W ∈ R d ′ × d ′ ′ \mathbf{W}\in{\mathbb{R}^{d'\times{d''}}} WRd×d的第 j j j个向量, λ j \lambda_j λj是协方差矩阵 Z Z T \mathbf{Z}\mathbf{Z}^{T} ZZT的第 j j j个特征值,那么 w j \mathbf{w}_j wj可以作如下表示,

(2) w j = 1 λ j ( ∑ i = 1 m z i z i T ) w j = ∑ i = 1 m z i z i T w j λ j = ∑ i = 1 m z i α i j \mathbf{w}_{j}=\frac{1}{\lambda_{j}}\left(\sum_{i=1}^{m}{\mathbf{z}_{i}\mathbf{z}_{i}^{T}}\right)\mathbf{w}_{j}=\sum_{i=1}^{m}{\mathbf{z}_i}\frac{\mathbf{z}_{i}^{T}\mathbf{w}_{j}}{\lambda_{j}}=\sum_{i=1}^{m}{\mathbf{z}_{i}\alpha_{i}^{j}} \tag{2} wj=λj1(i=1mziziT)wj=i=1mziλjziTwj=i=1mziαij(2)

其中, α i j = z i T w j λ j \alpha_{i}^{j}=\frac{\mathbf{z}_{i}^{T}\mathbf{w}_{j}}{\lambda_j} αij=λjziTwj α i \mathbf{\alpha}_i αi的第 j j j个分量,存在映射 ϕ : x i → z i \phi:\mathbf{x}_i\rightarrow{\mathbf{z}_i} ϕ:xizi,如果 ϕ \phi ϕ已知,那么可以先将原始样本空间中的点映射到高维空间中去,然后在高维空间中运行PCA得到低维嵌入,这时式(1)和(2)可以表示为,

(3) ( ∑ i = 1 m ϕ ( x i ) ϕ ( x i ) T ) w j = λ j w j \left(\sum_{i=1}^{m}{\phi\left(\mathbf{x}_{i}\right)\phi\left(\mathbf{x}_{i}\right)^{T}}\right)\mathbf{w}_{j}=\lambda_{j}\mathbf{w}_{j} \tag{3} (i=1mϕ(xi)ϕ(xi)T)wj=λjwj(3)
(4) w j = ∑ i = 1 m ϕ ( x i ) α i j \mathbf{w}_j=\sum_{i=1}^{m}{\phi\left(\mathbf{x}_{i}\right)\alpha_{i}^{j}} \tag{4} wj=i=1mϕ(xi)αij(4)

  由于现实情况中,我们并不清楚映射 ϕ : x i → z i \phi:\mathbf{x}_i\rightarrow{\mathbf{z}_i} ϕ:xizi的具体形式,因此在这里引入核函数

(5) k ( x i , x j ) = ϕ ( x i ) T ϕ ( x j ) k\left(\mathbf{x}_i,\mathbf{x}_j\right)=\phi\left(\mathbf{x}_{i}\right)^{T}\phi\left(\mathbf{x}_{j}\right) \tag{5} k(xi,xj)=ϕ(xi)Tϕ(xj)(5)

将式(4)和(5)带入式(3)中,可以得到

K α j = λ j α j \mathbf{K}\alpha^{j}=\lambda_{j}\alpha^{j} Kαj=λjαj

其中, K \mathbf{K} K k k k对应的核矩阵, ( K ) i j = k ( x i , x j ) \left(\mathbf{K}\right)_{ij}=k\left(\mathbf{x}_i,\mathbf{x}_j\right) (K)ij=k(xi,xj) α j = ( α 1 j ; α 2 j ; . . . ; α m j ) \alpha^{j}=\left(\alpha_{1}^{j};\alpha_{2}^{j};...;\alpha_{m}^{j}\right) αj=(α1j;α2j;...;αmj),下面的步骤与PCA类似,对矩阵 K \mathbf{K} K进行特征值分解,取最大的 d ′ ′ d'' d个特征值对应的特征向量作为投影矩阵 W = ( w 1 , w 2 , . . . , w d ′ ′ ) \mathbf{W}=\left(\mathbf{w}_1,\mathbf{w}_2,...,\mathbf{w}_{d''}\right) W=(w1,w2,...,wd)的解,那么对于样本点 x \mathbf{x} x,低维嵌入中对应点的第 j j j维坐标为

y j = w j T ϕ ( x ) = ∑ i = 1 m α i j ϕ ( x i ) T ϕ ( x ) = ∑ i = 1 m α i j k ( x i , x ) y^{j}=\mathbf{w}_j^{T}\phi\left(\mathbf{x}\right)=\sum_{i=1}^{m}{\alpha_{i}^{j}\phi\left(\mathbf{x}_{i}\right)^{T}\phi\left(\mathbf{x}\right)}=\sum_{i=1}^{m}{\alpha_{i}^{j}k\left(\mathbf{x}_i,\mathbf{x}\right)} yj=wjTϕ(x)=i=1mαijϕ(xi)Tϕ(x)=i=1mαijk(xi,x)

其中, α i j \alpha_{i}^{j} αij已经过规范化。
  由上述讨论可看出,虽然KPCA更适合现实任务,但是计算复杂度很高,为求得某个样本点在低维嵌入中的对应点,需要对数据集进行遍历并求和,在不使用特殊的数据结构时,其时间复杂度是 O ( d ′ ′ × m ) O\left(d''\times{m}\right) O(d×m)


参考资料

【1】 《机器学习》周志华

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值