KPCA推导及理解

最近上课学到了KPCA,之前也有遇到过,但并没有进行详细了解,这次上课老师讲的比较快,感觉糊里糊涂的,课后在网上找了一些资料进行学习,发现https://zhuanlan.zhihu.com/p/59775730这篇文章中讲的很详细,看完后自己也做了一下记录。思路KPCA和PCA一样也是进行降维,但区别在于KPCA处理的问题是非线性的。KPCA先将数据通过映射ϕ\phiϕ映射到高维空间,然后再...
摘要由CSDN通过智能技术生成

最近上课学到了KPCA,之前也有遇到过,但并没有进行详细了解,上课时老师讲的比较快,感觉糊里糊涂的,课后在网上找了一些资料进行学习,然后结合自己的理解进行了整理。

思路

KPCA和PCA一样也是进行降维,但区别在于KPCA处理的问题是非线性的。KPCA先将数据通过映射 ϕ \phi ϕ映射到高维空间,然后再将映射后的数据进行线性变换实现降维。
这个思路写得比较简略,大家可以先看后面的总结,有一个整体的印象,然后再进行阅读。

向高维空间映射

回顾PCA,我们知道PCA求解的最终问题是 X X T W = λ W XX^{T}W=\lambda W XXTW=λW(可以结合西瓜书相关章节进行复习)。
其中X为数据矩阵,每一列代表一个样本;W为降维时的线性变换矩阵,每个列向量w就是降维后的空间中的一个基向量(可以理解为直角坐标系下的坐标轴),基的个数决定了降维后数据的维数; λ \lambda λ为对角矩阵,对角线上的元素是 X X T XX^{T} XXT的特征值。
我们在此基础上引入非线性映射 ϕ \phi ϕ,那么上面问题就可以转换为 ϕ ( X ) [ ϕ ( X ) ] T W = λ W \phi (X)[\phi (X)]^{T}W=\lambda W ϕ(X)[ϕ(X)]TW=λW
其中W=( w 1 , w 2 , . . . , w m w_{1},w_{2},...,w_{m} w1,w2,...,wm),我们任取其中一个基向量w,可得 ϕ ( X ) [ ϕ ( X ) ] T w = λ w \phi (X)[\phi (X)]^{T}w=\lambda w ϕ(X)[ϕ(X)]Tw=λw(1)。
注意我们通常并不直接定义 ϕ \phi ϕ(这在核技巧中会有提及),也就是说我们并不知道 ϕ ( X ) [ ϕ ( X ) ] T \phi (X)[\phi (X)]^{T} ϕ(X)[ϕ(X)]T的具体内容,因此不能向PCA那样直接对其进行特征值分解。

因为 ϕ ( X ) [ ϕ ( X ) ] T = ∑ i = 1 N ϕ ( x i ) [ ϕ ( x i ) ] T \phi (X)[\phi (X)]^{T}=\sum_{i=1}^{N}\phi (x_{i})[\phi (x_{i})]^{T} ϕ(X)[ϕ(X)]T=i=1Nϕ(xi)[ϕ(xi)]T,那么(1)可以进一步表示为
∑ i = 1 N ϕ ( x i ) [ ϕ ( x i ) ] T w = λ w \sum_{i=1}^{N}\phi (x_{i})[\phi (x_{i})]^{T}w=\lambda w i=1Nϕ(xi)[ϕ(xi)]Tw=λw
⇒ w = 1 λ ∑ i = 1 N ϕ ( x i ) [ ϕ ( x i ) ] T w =

  • 12
    点赞
  • 76
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
kPCA是Kernel Principal Component Analysis的缩写,是一种基于核函数的主成分分析方法。与传统的PCA不同,kPCA能够有效地处理非线性数据,并将其映射到高维特征空间中进行线性分析。在MATLAB中,虽然没有官方函数提供kPCA算法,但是已经有前辈编写了相应的代码。你可以在提供的链接中下载和使用这些代码来进行kPCA分析。此外,还可以参考其他来源提供的MATLAB实例,如博客文章和论坛讨论。这些资源将帮助你更好地理解和实现kPCA算法。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [核主元分析 KPCA及matlab代码](https://blog.csdn.net/FDA_sq/article/details/123608360)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *3* [【数据降维-第2篇】核主成分分析(KPCA)快速理解,及MATLAB实现](https://blog.csdn.net/fengzhuqiaoqiu/article/details/129483461)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值