博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
学习笔记 | 核主成分分析(KPCA)及其若干应用
阅读量:2054 次
发布时间:2019-04-28

本文共 1020 字,大约阅读时间需要 3 分钟。

学习笔记 | 核主成分分析[KPCA]

概要:
本文将在前一篇博客的基础上介绍核主成分分析(Kernel Principle Component Analysis, KPCA)。前文提到,PCA只能处理线性数据的降维,对于线性不可分的数据效果很差,因此在PCA中引入了核函数(kernel)的概念,即核主成分分析PCA。KPCA的基本思路是通过核函数将在低维空间中线性不可分的数据通过某种映射函数映射到更高维的空间中去,使其在该高维空间中线性可分,之后再使用使用适用于线性可分数据的相关算法进行后续处理。和函数的思路在很多算法中具有应用,典型的如支持向量机(SVM)等。

关键字: 矩阵分解; 主成分分析; PCA

1 算法原理

   KPCA的算法原理和PCA的基本一致,唯一的不同就是先将原数据X映射到高维空间中,再进行求协方差矩阵、求特征向量并排列等后续操作。详细的介绍可以参考博客,这里不再介绍。

2 效果展示

   首先生成线性不可分的三组数据,如图2.1所示,分别用红绿蓝三种颜色标记。

图2.1 三组线性不可分的数据

 

   以上数据经PCA处理后的结果如图2.2所示。

图2.2 线性不可分数据及其经PCA处理后的结果

 

   在图2.2中,右上侧三组数据(三个近似同心圆)是原始数据,左下角的是经过PCA处理后的数据。可见,PCA处理结果仅仅是将原数据整体旋转,并不改变数据之间的相对位置,处理过后仍然线性不可分。

 

   原始数据经KPCA处理后的结果如图2.3所示。

图2.3 线性不可分数据经KPCA处理后的结果

 

   对比图2.3和图2.1可知,KPCA对原数据进行了非线性处理,改变了原数据的相对关系,打破了数据的原有结构。图2.3中,蓝色数据已经可以和绿色红色数据线性分开,而绿色红色数据也可以同理进行后续处理。从图2.1得到图2.3使的参数如下。

kernel: Gaussian

sigma: 8

   迄今为止,关于何种场景下采用何种核函数的问题仍然没有很好的解决方法,当前常用的办法还是不断尝试、择优使用。在大量使用中积累的经验表明,首先尝试径向基核函数(Radial Basis Function, RBF),例如高斯核等,总是一个不错的选择。

3 小结

   结合了核函数的PCA有很多花式玩法和应用,这里只介绍了其最基本的概念和应用,代码已上传至。

   本文为原创文章,转载或引用务必注明来源及作者。

你可能感兴趣的文章
OpenSSL源代码学习[转]
查看>>
Spring下载地址
查看>>
wxzh001,进来看关于APACHE+PHP+MYSQL+SSL的LINUX下安装配置(转自奥索)
查看>>
google app api相关(商用)
查看>>
linux放音乐cd
查看>>
GridView+存储过程实现'真分页'
查看>>
flask_migrate
查看>>
解决activemq多消费者并发处理
查看>>
UDP连接和TCP连接的异同
查看>>
hibernate 时间段查询
查看>>
java操作cookie 实现两周内自动登录
查看>>
Tomcat 7优化前及优化后的性能对比
查看>>
VisualVM 提示 tomcat 不受此jvm支持解决办法
查看>>
Java Guava中的函数式编程讲解
查看>>
Eclipse Memory Analyzer 使用技巧
查看>>
tomcat连接超时
查看>>
谈谈编程思想
查看>>
iOS MapKit导航及地理转码辅助类
查看>>
检测iOS的网络可用性并打开网络设置
查看>>
简单封装FMDB操作sqlite的模板
查看>>