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

一、核主成分

    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.mfbz.cn/a/753274.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

深入分析 Android BroadcastReceiver (七)

文章目录 深入分析 Android BroadcastReceiver (七)1. 高级应用场景1.1 示例:动态权限请求1.2 示例:应用内通知更新 2. 安全性与性能优化2.1 示例:设置权限防止广播攻击2.2 示例:使用 LocalBroadcastManager2.3 示例:在…

零成本打造精品宣传册

​随着互联网的发展,企业和个人对宣传册的需求日益增长,然而,高质量的宣传册制作往往需要不菲的成本。那么,如何零成本打造精品宣传册呢? 一、明确定位和目标群体 在制作宣传册之前,首先要明确其定位和目标…

关于怎么将wireshark抓包视频流转为视频播放出来

0.安装wireshark 安装PotPlayer 1.将以下两个插件放入 C:\Program Files\Wireshark\plugins 目录中 2.筛选视频流数据包,右键Decode As… 改为RTP 或者 右键->follow(追踪流)->UDP stream 然后叉掉弹窗 3.选择菜单Edit->Prefe…

职责链让树状分支更严谨更易读更易维护

业务场景 传统方式就不列举了 职责链解决 Chain 类 class Chain {fn: Function;successor: any;constructor(fn: Function) {this.fn fn;this.successor null;}setNextSuccessor(successor: any) {return (this.successor successor);}passRequest() {var ret this.fn.a…

微信公众号扫码授权登录

【微信扫登录】原理说明 1、准备工作:注册开放微信公众号。获得此账号的AppID和AppSecret。 2、发起授权登录:通过授权链接或者扫码授权二维码的方式,获取登录code,通过code获取access_token。 3、成功获取access_token即代表登…

[CTF]-PWN:mips反汇编工具,ida插件retdec的安装

IDA是没有办法直接按F5来反汇编mips的汇编的,而较为复杂的函数直接看汇编不太现实,所以只能借用插件来反汇编 先配置环境,下载python3.4以上的版本,并将其加入到环境变量中 下载retdec 地址:Release v1.0-ida80 ava…

常见Web认证方式对比

认证是一个在用户或者设备在访问一个受限的系统时,鉴定用户凭据的过程,即确认“你是谁”的问题。最常见的认证用户的方式是通过用户名和密码的形式进行校验,目前存在多种校验方式,本文将对其进行一个简单的对比,使得大…

今天起,全球所有Mac用户可免费安装桌面版ChatGPT

在 macOS 上,用户在安装新的 ChatGPT 应用程序后,使用 Option Space 的键盘组合即可快速调用 ChatGPT。 刚刚,OpenAI 宣布推出适用于 macOS 的应用程序。 虽然 Mac 应用程序尚未在 Mac App Store 中提供,但用户可以直接从 Open…

Lean4Game 开发教程 | 数学形式化

引言 Lean 是一门用于形式化证明的编程语言,它允许严格证明数学定理和验证软件代码的正确性。 本篇介绍 Lean 游戏的编写和发布方式。这类游戏不仅利于对 Lean 本身的学习,对学科知识的理解,还能推动数学圈内人对 Lean 的接触学习。 Lean4…

elementUI搭建使用过程

前言 Element,一套为开发者、设计师和产品经理准备的基于 Vue 2.0 的桌面端组 件库 安装 ElementUI 在终端命令行输入 npm i element-ui -S 在 main.js 中写入以下内容: import ElementUI from element-ui ; import element-ui/lib/theme-chalk/i…

0-30 VDC 稳压电源,电流控制 0.002-3 A

怎么运行的 首先,有一个次级绕组额定值为 24 V/3 A 的降压电源变压器,连接在电路输入点的引脚 1 和 2 上。(电源输出的质量将直接影响与变压器的质量成正比)。变压器次级绕组的交流电压经四个二极管D1-D4组成的电桥整流。桥输出端…

北邮《计算机网络》蒋老师思考题及答案-传输层

蒋yj老师yyds! 答案自制,仅供参考,欢迎质疑讨论 问题一览 传输层思考题P2P和E2E的区别使用socket的c/s模式通信,流控如何反映到编程模型三次握手解决什么问题举一个两次握手失败的例子为什么链路层是两次握手而非三次?…

深入理解 XML 和 HTML 之间的区别

在现代网络技术的世界中,XML(可扩展标记语言)和 HTML(超文本标记语言) 是两个非常重要的技术。尽管它们都使用标签和属性的格式来描述数据,但它们在形式和用途上有显著的区别。 概述 什么是 XML&#xff…

安装CLion配置opencv和torch环境

配置操作如图,源码见底部附录部分 安装CLion 官网下载 创建项目 设置环境 调整类型为release 配置opencv和项目 编译环境 编译后 重启CLion 测试opencv环境 测试代码 运行main.cpp显示图片 测试torch环境 没标红表示配置成功 附件 CMakeList.txt cmake_mi…

Redis集群部署合集

目录 一. 原理简述 二. 集群配置​​​​​​​ 2.1 环境准备 2.2 编译安装一个redis 2.3 创建集群 2.4 写入数据测试 实验一: 实验二: 实验三: 实验四: 添加节点 自动分配槽位 提升节点为master: 实验…

陪诊小程序开发:寻找陪诊师更加快速,全程陪护!

陪诊行业是一个新兴行业,在当下市场中具有较大的发展前景。对于无法陪家人看病或者对医院不熟悉的人来说,陪诊师成为了刚需!目前随着社会的发展,人们的生活节奏不断加快,陪诊市场的需求量也在不断增加,发展…

web使用cordova打包Andriod

一.安装Gradel 1.下载地址 Gradle Distributions 2.配置环境 3.测试是否安装成功 在cmd gradle -v 二.创建vite项目 npm init vitelatest npm install vite build 三.创建cordova项目 1.全局安装cordova npm install -g cordova 2. 创建项目 cordova create cordova-app c…

30个接口自动化测试面试题,看完的现在已经在办理入职了...

1. 什么是接口自动化测试? 答:接口自动化测试是指使用自动化工具对接口进行测试,验证接口的正确性、稳定性和性能等方面的指标。 2. 为什么要进行接口自动化测试? 答:接口自动化测试可以提高测试效率,减…

ffmpeg将多个yuv文件编码为MP4视频文件

一、编码方案 在视频录制时,每一帧保存为一个yuv文件,便于纠错和修改。在编码为MP4文件时,我的方案是将所有yuv文件先转码为单个MP4文件,然后使用ffmpeg的concat功能拼接为完整的视频。 二、shell脚本 #!/bin/bash# 检查参数数量…

每日一道算法题 有效括号序列

题目 有效括号序列_牛客题霸_牛客网 (nowcoder.com) Python 1长度必须为偶数 2就像开心消消乐一样,一左一右就消掉。 class Solution:def isValid(self , s: str) -> bool:# write code here# flag[(),{},[]]# for _ in range(len(s)//2):# for i in fl…