核方法总结(三)———核主成分(kernel PCA)学习笔记

ops/2024/9/24 3:23:10/

一、核主成分

    1.1 和PCA的区别

         PCA (主成分分析)对应一个线性高斯模型(参考书的第二章),其基本假设是数据由一个符合正态分布的隐变量通过一个线性映射得到,因此可很好描述符合高斯分布的数据。然而在很多实际应用中数据的正态性不能保证,这时用PCA建模通常会产生较大偏差。这时可以设计一个合理的非线性映射,将原始数据映射到特征空间,使数据在该空间的映射具有高斯性,在这个基础可进行有效的PCA建模。即通过核函数间接映射到特征空间再间接进行建模,所以称为核主成分分析;

       1.2 推导过程

         定义原始数据空间样本为\left \{ x_{n} \right \},非线性映射为\phi \left ( x \right ),且在原始空间和特征空间满足如下归一化条件。

           \sum _{n}{x_{n}} = 0 \sum _{n}{\phi (x_{n})} = 0   1------(1)

      在映射空间的协方差矩阵可写作:

  1----(2)

上式中,假设\phi \left ( x_{n} \right )有m维,则\phi \left ( x_{n} \right )\phi \left ( x_{n} \right )^{T}有m*m维。其中,在特征空间中求主成分v等价于求S^{\phi }的特征向量:

S^{\phi }v = \lambda v   1----(3)

整理以上两式可得:

1-----(4)

其中:\alpha = \frac{1}{N\mu }\Phi ^{T}\nu , 是一个N维向量,其中每一维对应一个数据点与特征向量v的内积,同时,上式说明在特征空间的特征向量v由所有数据样本的向量加权平均得到,权重为\alpha,转化为对偶问题。将 v = \Phi \alpha 代回式 1 ----(4)  :

                                1----(5)、1-----(6)、1----(7)

其中 K为gram阵, 上式1—(7)右项左移,可以看出K选择合适的核函数,会使K不等于空矩阵,因而可以推出:

K\alpha = \lambda N\alpha   1——(8) 为1——(7)式的必要条件

考虑特征向量v应满足v^{T}v =1 ,而 v=\Phi \alpha,有:

1-----(9)

将1---(8)式左乘\alpha ^{T}并代入上式,有:

\lambda N\alpha ^{T}\alpha =1   1----(10)

    \alpha可以通过下式求解:

   1------(11)

    上式求解特征向量的方法是,求解左式的特征向量,再取\alpha =  \alpha \sqrt{\frac{1}{\lambda N}} 就可以求得满足约束的特征向量。解出\alpha后,即可基于1—(4)式得到在特征空间的主成分向量。和标准PCA类似,我们可以求得多个主成分,组成主成分向量集{v_{i}}。

    基于{v_{i}}可对任意测试样本x降维,且等价于在特征空间中计算\phi \left ( x_{} \right )在各个主成分v_{i}上的投影,计算如下:

   1———(12)

上式 \alpha _{i,n} 表示特征向量v_{i}对应的权重的第n维(n=1.....N)。

        虽然我们的目的是在特征空间进行主成分提取并给予得到的主成分对数据进行降维,但不需要在特征空间进行操作,所有计算都在原始空间中以核函数方式进行,计算得到的结果等价于在特征空间中进行。这使得可以在非常复杂的特征空间中对数据进行PCA建模,从而解决了原始数据的非高斯化问题,使PCA具有灵活性和可扩展性。

二、总结

      本文是学习《机器学习导论》(清华大学出版社,中文版,王东,2021年)的摘录总结或笔记。


http://www.ppmy.cn/ops/53602.html

相关文章

Python学习笔记22:进阶篇(十一)常见标准库使用之访问互联网功能urllib模块的学习使用,requests库和aiohttp库了解

前言 本文是根据python官方教程中标准库模块的介绍,自己查询资料并整理,编写代码示例做出的学习笔记。 根据模块知识,一次讲解单个或者多个模块的内容。 教程链接:https://docs.python.org/zh-cn/3/tutorial/index.html 互联网访…

【小工具】 Unity相机宽度适配

相机默认是根据高度适配的,但是在部分游戏中需要根据宽度进行适配 实现步骤 定义标准屏幕宽、高判断标准屏幕宽高比与当前的是否相等通过**(标准宽度/当前宽度) (标准高度 / 当前高度)**计算缩放调整相机fieldOfView即…

基于CNN卷积神经网络的MQAM调制识别matlab仿真

目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 4.1 CNN模型结构 4.2 损失函数与优化 4.3 训练与测试 5.算法完整程序工程 1.算法运行效果图预览 (完整程序运行后无水印) 2.算法运行软件版本 matlab2022a 3.部分核心程序 &#xff0…

[职场] 教师资格面试流程 #经验分享#其他

教师资格面试流程 教师资格证面试流程如下: ①候考。在考试当日,考生按照准考证上的时间进入候考室,进行抽签分组。 ②抽题。考生按照抽签顺序分组安排从面试题库系统试题组中任选其中一道试题,确认抽题后,计算机打印出…

springboot笔记示例七:mybiteplus框架mysql8新类型json集成

springboot笔记示例七:mysql8新类型json集成 ###本文md文件下载地址 https://download.csdn.net/download/a254939392/89492142md文件下载 建表SQL CREATE TABLE my_test (id int unsigned NOT NULL AUTO_INCREMENT,txt json DEFAULT NULL,txt_array json DEFAU…

Sharding 分片配置实例

Sharding 分片配置实例 shardingRule:tables:t_order:actualDataNodes: ds${0..1}.t_order${0..1}databaseStrategy:inline:shardingColumn: user_idalgorithmExpression: ds${user_id % 2}tableStrategy: inline:shardingColumn: order_idalgorithmExpression: t_order${orde…

Java 并发编程常见问题

1、线程状态它们之间是如何扭转的? 1、谈谈对于多线程的理解? 1、对于多核CPU,多线程可以提升CPU的利用率; 2、对于多IO操作的程序,多线程可以提升系统的整体性能及吞吐量; 3、使用多线程在一些场景下可…

Spring Cloud Netflix:构建强大微服务生态系统的利器

Spring Cloud Netflix是一组集成框架,它将Netflix的多个开源组件整合到Spring Boot应用程序中,使得构建云原生应用程序变得更加简单。这些组件包括用于服务发现和注册的Eureka,断路器模式的实现Hystrix,用于API网关的Zuul&#xf…