第五章《数据降维:深入理解 PCA 的来龙去脉》笔记

news2024/11/22 15:05:17

主成分分析(Principal Component Analysis,PCA) 就是机器学习中一种常用且有效的数据降维方法。

5.1 PCA是什么

PCA 将相关性高的变量转变为较少的独立新变量,实现用较少的综合指标分别代表存在于 各个变量中的各类信息,既减少高维数据的变量维度,又尽量降低原变量数据包含信息的损失程度,是一种典型的数据降维方法。PCA 保留了高维数据最重要的一部分特征,去除了数据集 中的噪声和不重要特征,这种方法在承受一定范围内的信息损失的情况下节省了大量时间和资源,是一种应用广泛的数据预处理方法。

5.2 用一个例子来理解PCA过程

经过零均值化的数据预处理后,我们就可以正式开启 PCA 过程了,步骤如下。

(1)计算协方差矩阵。

(2)计算特征值与特征向量。

(3)矩阵相乘实现降维。

从上述 PCA 降维的实际过程来看,对某个矩阵 A(m×n)降维实际上就是寻找对应的降维矩阵 P(k×m)。

5.3 如何寻找降维矩阵P

5.4 PCA降维的核心思想

5.4.1 核心思想一:基变换向量投影

要实现原始数据降维就是要将矩阵 A 中每个列向量的维度或 者行数合理地降低。要实现高维向量降维,一个常见的方法就是高维向量向低维空间投影。

向量 a 与向量 b 的内积结果就等于向量 a 在向量 b 方向上的投影长度 |a|cosθ。这就是向量内积的几何定义。

矩阵相乘的几何意义就是,两个矩阵相乘的结果是将右边矩阵中的每一个列向量变换 到以左边矩阵中每一个行向量为基底所表示的空间中。

5.4.2 核心思想二:协方差归零投影

既然数据降维的起因是高维数据的维度之间存在较高的相关性导致数据信息存在冗余,那 么数据降维的一个核心思想自然就是,数据降维后的维度之间尽可能相对独立,也就是降维之 后的数据维度之间的协方差为 0。

(1)什么是方差。

方差和标准差是最常用的度量一组数据分散程度的指标。对于一组含有 n 个样本的集合, 我们容易知道以下公式。

(2)协方差。

协方差度量的是维度和维度之间的关系。假设两组数据分别是 x 和 y,那么这两组数据的协方差为

(3)协方差矩阵。

多维数据就需要多次计算协方差,也就是将多维数据中的维度数据两两计算协方差。协方差矩阵就是度量维度和维度之间关系的矩阵。

所以,我们降维之后希望各个维度之间相互独立,也就是希望降维之后不同维度之间的协方差为 0,同样也就是希望上面的协方差矩阵除了主对角线之外的部分都为 0。

5.4.3 核心思想三:最大方差投影

这种投影数据点的分散实际上就是要求原始数据矩阵降维处理之后的新矩阵的维度的方差 尽可能大,也就是降维之后矩阵的协方差矩阵的对角线元素尽可能大。我们可以将这种降维投 影的要求称为“最大方差投影”。

5.4.4 PCA降维的关键:协方差矩阵对角化

降维之后新矩阵 Y 的协方差矩阵 Cy 的非主对角线元素尽可能为 0, 而主对角线元素尽可能大。满足上述要求的矩阵是一个对角矩阵,所以降维的实质就是要求降 维之后的新矩阵 Y 的协方差矩阵 Cy 是对角矩阵。

5.5 面向零基础读者详解PCA降维

5.5.1 计算矩阵Y的协方差矩阵Cy

1.为什么计算协方差矩阵

这是因为矩阵 Y 的协方差矩阵 Cy 的主对角线元素是降维后新维度的方差,非主对角线元素 是降维后各新维度的协方差。而 PCA 降维的核心思想就是“协方差归零投影”和“最大方差投 影”,也就是希望降维之后得到的新矩阵 Y 的各维度间的协方差尽量为 0,而维度的方差尽可能 大。上述要求翻译成数学语言,就是要求降维后矩阵 Y 的协方差矩阵为对角矩阵,这就是我们 考虑计算矩阵 Y 的协方差矩阵的原因。

2.详解协方差矩阵的表达式

协方差矩阵数学表达式 的推导过程。

5.5.2 矩阵Y的协方差矩阵Cy对角化

1.什么样的矩阵 Q 能够对角化 Cy
根据实对称矩阵正交对角化的定理可以得到。所以,要使矩阵 Y 的协方差矩阵是对角矩阵,只需要 即可。这个结果表明,矩阵 Q 如果是由原矩阵 A 的协方差矩阵 C 的特征向量构成的矩阵,矩阵 A 经过矩阵 Q 线性变换之后的矩阵 Y 的协方差矩阵 Cy 就为对角矩阵。

2.实对称矩阵对角化性质

实对称矩阵有一个非常好的性质,那就是其可以转化为对角矩阵。原矩阵的协方差矩 阵 C 满足实对称矩阵的条件,所以可以通过线性变换将 C 转化为对角矩阵 Λ,具体来说就是

5.5.3 求解降维矩阵P

我们总结出 PCA 降维的步骤如下。

(1)计算原矩阵 A 的协方差矩阵 C。

(2)计算协方差矩阵 C 的单位正交的特征向量与对应的特征值。

(3)根据降维要求,确定 k 值大小。将 C 的特征值从大到小排列,选取前 k 个特征值所对 应的特征向量。

(4)将这些特征向量作为行向量,求解出降维矩阵 P。 (5)将降维矩阵 P 乘以原矩阵 A 即可降维,得到 Y=PA。

5.6 编程实践:手把手教你写代码

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1191907.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

vue3 自动导入composition-apiI和组件

1.api的自动导入 常规写法&#xff1a; <script setup>import { ref, reactive, onMounted, computed ,watch } from vue;import { useRouter } from "vue-router";const router useRouter();const person reactive ({name&#xff1a;张三&#xff0c;age…

cadence virtuoso layout drc error

For 0.11um design, 2.5/3.3V transistor channel (overlap of Poly and AA) enclosure by DG.( Designer can waive this rule for 0.13um design).>0.30 对于 0.11 微米的设计&#xff0c;2.5/3.3V 晶体管通道&#xff08;Poly 和 AA 的重叠部分&#xff09;由 DG 封装&a…

“三大阶段稳定性测试”筑牢长安链信任基石

前言 随着长安链应用生态的不断丰富、面对的应用场景更加多元&#xff0c;稳定性测试在长安链测试流程中占到越来越重要的位置。本文将介绍长安链稳定性测试的发展历程及如何通过三大阶段稳定性测试应对不断出现的复杂的商业需求&#xff0c;筑牢长安链信任基石。 功能测试和…

Adobe Photoshop 2020给证件照换底

1.导入图片 2.用魔法棒点击图片 3.点选择&#xff0c;反选 4.选择&#xff0c;选择并遮住 5.用画笔修饰证件照边缘 6. 7.更换要换的底的颜色 8.新建图层 9.使用快捷键altdelete键填充颜色。 10.移动图层&#xff0c;完成换底。

汇编与反汇编

程序处理的4个步骤 我们的第一个LED程序涉及两个文件&#xff1a;start.S、main.c&#xff0c;它们的处理过程如下&#xff1a; 对于汇编程序&#xff0c;经过汇编之后&#xff0c;转换成目标文件&#xff08;里面包含机器码&#xff09;。对于C程序&#xff0c;经过预处理之…

开源微信万能表单源码系统+自由创建多表单+自定义各行业表单 全开源可二开 带完整的搭建教程

微信作为一个庞大的社交平台&#xff0c;为企业和个人提供了丰富的应用场景。其中&#xff0c;微信公众平台可以为企业提供自定义表单的功能&#xff0c;以满足各种业务需求。然而&#xff0c;在实际应用中&#xff0c;很多企业需要更强大、更灵活的表单系统来处理复杂的业务逻…

C++跨DLL内存所有权问题探幽(一)DLL提供的全局单例模式

最近在开发的时候&#xff0c;特别是遇到关于跨DLL申请对象、指针、内存等问题的时候遇到了这么一个问题。 问题 跨DLL能不能调用到DLL中提供的单例&#xff1f; 问题比较简单&#xff0c;就是我现在有一个进程A&#xff0c;有DLL B DLL C&#xff0c;这两个DLL都依赖DLL D的…

婴儿专用洗衣机哪个牌子比较好?好用的迷你洗衣机测评

为人父母&#xff0c;是一件非常美妙的事情&#xff0c;在养育新生命的过程中&#xff0c;细心的照顾是非常重要的&#xff0c;而最小的细节&#xff0c;就是让婴儿的衣服保持最温和、最有效的清洁。而婴儿洗衣机是当今不少家庭的福音&#xff0c;它给家长们带来了巨大的方便&a…

Java 并发编程面试题——重入锁 ReentrantLock

目录 1.ReentrantLock 是什么&#xff1f;2.✨什么是重入锁&#xff1f;ReentrantLock 是如何实现可重入特征的&#xff1f;3.公平锁和非公平锁有什么区别&#xff1f;ReentrantLock 分别是如何实现的&#xff1f;4.✨ReentrantLock 的实现原理是什么&#xff1f;5.为什么 Reen…

一文了解Nginx及其基本配置

一、关于Nginx Nginx是一个开源的高性能HTTP和反向代理服务器。 Nginx可以用于处理静态资源、负载均衡、反向代理和缓存等任务。 Nginx被广泛用于构建高可用性、高性能的Web应用程序和网站。 Nginx具有低内存消耗、高并发能力和良好的稳定性&#xff0c;因此在互联网领域非常受…

易点易动固定资产管理系统:实现全生命周期闭环式管理和快速盘点

固定资产管理对于企业来说至关重要&#xff0c;它涉及到资产的采购、领用、使用、维护和报废等各个环节。然而&#xff0c;传统的固定资产管理方式往往繁琐、耗时&#xff0c;容易导致信息不准确和资源浪费。为了解决这些问题&#xff0c;我们引入易点易动固定资产管理系统&…

酷开科技智能大屏OS Coolita亮相第134届中国进出口商品交易会

作为中国外贸的“风向标”和“晴雨表”&#xff0c;广交会因其历史长、规模大、商品种类全、到会客商多、成交效果好&#xff0c;被称为“中国第一展”&#xff0c;它见证了中国改革开放的时代大潮与对外贸易的蓬勃发展。 2023年10月15日&#xff0c;第134届中国进出口商品交易…

《012.SpringBoot+vue之在线考试系统》【前后端分离有开发文档】

《012.SpringBootvue之在线考试系统》【前后端分离&有开发文档】 项目简介 [1]本系统涉及到的技术主要如下&#xff1a; 推荐环境配置&#xff1a;idea jdk1.8 maven MySQL 前后端分离; 后台&#xff1a;SpringBootMybatisMySQL; 前台&#xff1a;Vue; [2]功能模块展示&…

泛微E-Mobile 6.0命令执行漏洞

声明 本文仅用于技术交流&#xff0c;请勿用于非法用途 由于传播、利用此文所提供的信息而造成的任何直接或者间接的后果及损失&#xff0c;均由使用者本人负责&#xff0c;文章作者不为此承担任何责任。 一、漏洞原理 泛微E-Mobile 6.0存在命令执行漏洞的问题&#xff0c;在…

B087-人力资源项目-文件上传课程分类

目录 背景控制台操作开通OSS服务创建存储空间 项目工程准备概述新建文件管理模块把文件上传到OSS的三种方案 通过官方文档完成demo上传官方文档找JavaSDK文件上传思路代码 背景 为什么要交给第三方文件管理服务管理&#xff1f; 最传统的的文件管理方案是把文件存储到项目中本…

ADS错误Error警告warning记录持续更新

ADS错误Error警告warning记录持续更新 简介环境1 (smithdg.ael line 7843, column 12 in multiply) Value or parameter is NULL 简介 由于ADS的报错不是很好能找到问题源头&#xff0c;因此记录我在仿真遇到的错误与警告&#xff0c;和其解决办法。 环境 ADS2020 1 (smith…

TCP和UPD协议

一)应用层协议简介:根据需求明确要传输的信息&#xff0c;明确要传输的数据格式&#xff1b; 应用层协议:这个协议&#xff0c;实际上是和程序员打交道最多的协议了 1)其它四层都是操作系统&#xff0c;驱动&#xff0c;硬件实现好了的&#xff0c;咱们是不需要管 2)应用层:当我…

嵌入式软件开发常用工具有哪些?

分享一些嵌入式软件开发常用工具。 1、Keil MDK&#xff1a;这是德国Keil公司开发的基于8051、9051、ARM7、ARM9系列微控制器的嵌入式软件开发工具&#xff0c;它提供了包括C编译器、宏汇编、连接器、库管理器、仿真器等在内的完整开发方案。Keil还提供了丰富的中间件和库函数&…

AntDB-M高性能设计之hash索引动态rehash

AntDB-M支持hash索引、btree索引等索引类型&#xff0c;hash索引以hash表的方式实现&#xff0c;一个简单的hash表示意图如图1所示。hash桶下的元素节点为单向或者双向链表&#xff0c;数据行上某一个或者某几个字段组成索引&#xff0c;通过hash函数对索引字段的值进行运算&am…

【计网 传输层概述】 中科大郑烇老师笔记 (十)

目录 0 引言1 概述1.1 传输服务和协议1.2 传输层 vs 网络层1.3 Internet传输层协议 TCP和UDP 2 多路复用、解复用2.1 UDP的多路复用2.2 TCP的多路复用 3 UDP3.1 概述3.2 UDP报文段3.3 拓展&#xff1a;TCP报文段 &#x1f64b;‍♂️ 作者&#xff1a;海码007&#x1f4dc; 专栏…