【机器学习300问】134、什么是主成分分析(PCA)?

        假设你的房间堆满了各种各样的物品,书籍、衣服、玩具等等,它们杂乱无章地散落各处。现在,你想要清理房间,但又不想扔掉任何东西,只是希望让房间看起来更整洁,更容易管理。

        你开始思考,能否将物品按照某种逻辑分类,比如按颜色、大小或者用途来归类。这样,虽然物品还是那些物品,但通过归类,房间变得更加有序,你也可以更快地找到你需要的东西。

一、初步理解什么是主成分分析?

        主成分分析(Principal Component Analysis,PCA)是一种常用的无监督学习技术,用于降低数据维度并发现数据中潜在的模式。PCA的目标是通过线性变换将高维数据投影到一个低维的子空间,从而找到数据中最大方差的方向,即主成分。这样可以使得投影后的数据尽可能保留原始数据的信息,同时减少冗余和噪声。

        例如,在整理房间的例子中,我们可以将主成分分析(PCA)比作一种高效整理和优化存储空间的方法。你观察到某些物品经常一起出现或被一起使用,比如运动服和运动鞋,或者是电子书阅读器和充电器。这些物品之间的关系相当于数据中的相关性。接下来,你开始将这些物品分类,比如将所有的书籍放在一起,所有的衣物放在衣柜里,电子设备放在书桌上。这些类别可以视为数据中的“主成分”。

        分类之后,你不再需要记住每件物品的确切位置,而是只需要知道它属于哪个类别以及类别所在的大致区域。这减少了你记忆的负担,也减少了查找物品的时间。同样,PCA通过减少数据的维度,让我们能以更少的特征描述数据,同时尽量保持原有的信息量。

二、PCA算法的核心思想与优化目标

(1)PCA算法的核心思想

        PCA算法的核心思想可以理解为寻找一个新的坐标系,这个坐标系由数据的主要变化方向组成。在新的坐标系中,第一个主成分(第一个特征向量)代表了原始数据中方差最大的方向。第二个主成分则是与第一个主成分正交(即垂直)的方向中,方差第二大的方向,以此类推。这样,PCA通过一系列正交方向上的投影,找到了数据的主要变化趋势,并且这些方向之间没有相关性,实现了数据的“离相关”。

图中是二维数据降维到一维

        PCA的目标是通过上述步骤找到能够最大化数据方差的新坐标系,从而在保持尽可能多的原始信息的同时,减少数据的维度。这种方法在诸如图像压缩、生物信息学、金融分析等多个领域都有广泛应用。

(2)PCA算法的优化目标

PCA可以基于两种不同的思路进行优化来实现降维

① 最大方差

        在最大方差的思路下,PCA的目标是找到投影方向,使得数据在投影后具有最大的方差。换句话说,通过最大化数据在新坐标系上的方差,我们保留了数据中最多的信息,同时减少了数据中的冗余性。

投影到M上的点,明显比投影到N上的要分散(也就是方差更大)

        通过最大化方差,我们能够找到数据中主要的变化方向,即主成分,这些主成分代表了数据中最重要的特征和模式。因此,通过最大化方差,PCA能够保留数据中最具信息量的部分,实现高效的降维

② 最小损失

        另一种优化思路是通过最小化数据的重构误差或损失来实现降维。在这种情况下,我们尝试通过将数据从高维空间投影到低维空间并尽量减少重构误差,来保留数据的重要信息。

投影到M上的距离明显比投影到N上的距离要小

        通过最小化损失,PCA试图找到一个低维表示,使得在原始空间中的数据点在低维空间中能够被准确地重构。这种方法可以帮助解决数据噪音和冗余的问题,使得数据在较低维度下能够更好地表示。

三、PCA算法的步骤

(1)去中心化

        在执行PCA之前,首先需要对数据进行预处理。这一步骤主要是为了消除数据中的偏移,确保数据的均值为零。这样做是为了使PCA的效果不受数据尺度的影响,确保PCA能够正确地识别数据的主成分。

计算出数据中心点

        对于每一列(即每个特征)的数据,计算其平均值,然后从每一列的所有元素中减去该平均值。这样处理后,每一列数据的均值都变成了0。

将坐标系的原点移到数据中心点的过程叫做“去中心化”

        去中心化不会影响样本的分布性质,但会简化后续PCA降维算法的计算过程。

(2)计算协方差矩阵

        协方差矩阵反映了数据中各个特征之间的线性关系强度和方向。对于中心化后的数据,计算其协方差矩阵是PCA中的一个重要步骤。

协方差矩阵计算公式(二维降一维)

        使用中心化后的数据计算协方差矩阵。协方差矩阵是一个对称矩阵,其中的每一个元素表示两个特征之间的协方差。

(3)特征值分解

        特征值分解是对协方差矩阵进行的一种数学操作,目的是找到协方差矩阵的特征值和对应的特征向量。对协方差矩阵进行特征值分解,得到一组特征值和对应的特征向量。特征值表示了数据沿该特征向量方向的方差大小,而特征向量则指示了数据的变化方向。

(4)排序特征值

        根据特征值的大小进行排序,特征值越大,表示该特征向量方向上的数据方差越大,即数据在该方向上的变化越多。将(3)中得到的特征值从大到小排序,同时调整相应的特征向量顺序,以保持一致性。

(5)选取主成分

        根据实际需求和数据特性,选择前k个最大的特征值及其对应的特征向量作为主成分。这些主成分将构成新的坐标系,用于数据的降维。选择前k个特征值最大的特征向量,这k个特征向量将构成降维后数据的新坐标系。

(6)数据投影

        将原始数据投影到由选定的主成分构成的新坐标系中,完成数据的降维。使用选定的k个特征向量作为列向量,构建一个转换矩阵。然后,将中心化后的原始数据乘以这个转换矩阵,得到降维后的数据。

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

苹果笔记本双系统怎么安装

想要在mac电脑上装双系统,首先需要确认您的电脑是否支持。苹果电脑自带的boot camp工具可以帮助您在mac上安装windows系统,只需按照步骤进行操作即可。另外,您也可以使用虚拟机软件,如parallels desktop或vmware fusion&#xff0…

地铁中的CAN通信--地铁高效安全运转原理

目前地铁采用了自动化的技术来实现控制,有ATC(列车自动控制)系统可以实现列车自动驾驶、自动跟踪、自动调度;SCADA(供电系统管理自动化)系统可以实现主变电所、牵引变电所、降压变电所设备系统的遥控、遥信、遥测;BAS(环境监控系统)和FAS(火灾报警系统)可以实现车站…

mmdetection2.28修改backbone不使用预训练参数、从头训练

背景 最近需要测试一下在backbone部分如果不使用预训练参数的话,模型需要多少轮才能收敛所使用的backbone是mmcls.ConvNeXtmmdetection版本为2.28.2,mmcls版本为0.25.0 修改流程 最简单的方法,直接去mmcls的model zoo里找到对应backbone的…

NAND闪存巨头铠侠(Kioxia)计划最迟于10月下旬通过首次公开募股IPO

据路透社于6月26日引用消息来源的报道,在半导体市场条件反弹及财务业绩迅速改善的背景下,NAND闪存巨头铠侠(Kioxia)正准备尽快提交初步申请,并计划最迟于10月下旬通过首次公开募股(IPO)在东京证…

可转债交易的规则,权限开通条件。可转债的佣金最低标准万0.44!

可转债交易规则 【1】可转债最小交易单位为1手,1手10张,每张的价格就是大家看到的价格。这和股票很不一样,股票的1手是100股股票。可转债最小价格变动单位为0.001 【2】可转债是T0交易,即当天买入,当天就可以卖出。这…

全新版的 FinClip 也太好用了吧

自 2017 年 FinClip 小程序管理平台发布直至 2023 年已经走过了 6 年。在这一路中我们惊喜的看到 FinClip 在各行业的客户支持下开枝散叶,逐渐承载了不同行业客户对于「数字场景拓展与增长」的期待。 在早期版本的 FinClip 设计中,我们对产品的边界认识…

62.指针和二维数组(2)

一.指针和二维数组 1.如a是一个二维数组,则数组中的第i行可以看作是一个一维数组,这个一维数组的数组名是a[i]。 2.a[i]代表二维数组中第i行的首个元素的地址,即a[i][0]的地址。 二.进一步思考 二维数组可以看作是数组的数组,本…

线性相关,无关?秩?唯一解(只有零解),无穷解(有非零解)?D=0,D≠0?

目录 线性有关无关 和 唯一解(只有零解),无穷解(有非零解)之间的关系 D0,D≠0? 和 秩 的关系 串起来: 线性相关,无关?秩?唯一解(只…

golang 实现继承方式

经常使用java或c同学应该比较了解纯面向对象,继承、接口、封装等特性,在go中并没有特别显示的表达出来,但是go隐含是支持的,只是支持的方式不一致,可以说go的方式更加灵活,go语言精髓是组合机制&#xff0c…

VMware 最新的安全漏洞公告VMSA-2024-0013

#深度好文计划# 一、摘要 2024年6月26日,VMware 发布了最新的安全漏洞公告 VMSA-2024-0013,修复了 VMware ESXi 和 VMware vCenter 中的多个安全漏洞。 VMSA-2024-0013:VMware ESXi 和 vCenter Server 更新修正了多个安全性漏洞 &#xff…

2024/5/9【贪心5/5】--代码随想录算法训练营day36|56. 合并区间、738.单调递增的数字、968.监控二叉树 (可跳过)

56. 合并区间 力扣链接 class Solution:def merge(self, intervals):result []if len(intervals) 0:return result # 区间集合为空直接返回intervals.sort(keylambda x: x[0]) # 按照区间的左边界进行排序result.append(intervals[0]) # 第一个区间可以直接放入结果集中…

JavaSE 利用正则表达式进行本地和网络爬取数据(爬虫)

爬虫 正则表达式的作用 作用1:校验字符串是满足规则 作用2:在一段文本中查找满足需要的内容 本地爬虫和网络爬虫 Pattern类 表示正则表达式 Matter类 文本编译器,作用按照正则表达式的规则去读取字符串,从头开始读取&#xf…

C++ 入门

前言 c的发展史: C的起源可以追溯到1979年,当时Bjarne Stroustrup在贝尔实验室开始开发一种名为“C with Classes”的语言。以下是C发展的几个关键阶段: 1979年:Bjarne Stroustrup在贝尔实验室开始开发“C with Classes”。1983…

ONLYOFFICE 桌面编辑器 8.1华丽登场

简介:全新ONLYOFFICE 桌面编辑器 8.1解锁全新PDF编辑、幻灯片优化与本地化体验,立即下载! 前言:在数字化时代,高效的办公协作工具是企业和个人不可或缺的利器。ONLYOFFICE,作为一款功能强大的云端和桌面办公…

CSS的媒体查询:响应式布局的利器

关于CSS的媒体查询 CSS媒体查询是CSS层叠样式表(Cascading Style Sheets)中的一个核心功能,它使得开发者能够根据不同的设备特性和环境条件来应用不同的样式规则。这是实现响应式网页设计的关键技术,确保网站或应用能够在多种设备上,包括桌面…

python FastAPI操作数据库实现注册登录

代码如下 from fastapi import FastAPI, APIRouter, HTTPException, status from pydantic import BaseModel from fastapi.responses import JSONResponse from typing import Optional from fastapi.middleware.cors import CORSMiddleware from utils.time import DateTime…

React的Props、生命周期

Props 的只读性 “Props” 是 React 中用于传递数据给组件的一种机制,通常作为组件的参数进行传递。在 React 中,props 是只读的,意味着一旦将数据传递给组件的 props,组件就不能直接修改这些 props 的值。所以组件无论是使用函数…

【案例分析:基于 Python 的几种神经网络构建 一维的和二维的全介质和金属SPR 材料的光谱预测与逆向设计】

案例分析:传播相位与几何相位超构单元仿真与器件库提取与二维超构透镜设计与传播光场仿真 案例分析: 片上的超构单元仿真与光学参数提取 案例分析:基于粒子群方法的耦合器设计 案例分析:基于 Python 的几种神经网络构建 一维的和二…

阿里云PAI主机网页访问测试

笔者使用的阿里云平台PAI主机(首次使用免费三个月额度),由于其默认不设置公网IP,所以在该主机上启动HTTP服务后无法访问测试。 这里使用ssh来作隧道穿透,首先需要配置ssh。 云主机配置ssh 1. 修改root账号密码 在云主机上执行 passwd ro…

示例:WPF中推荐一个支持折叠展开的GridSpliter自定义控件GridSplitterBox

一、目的:推荐一个支持折叠展开的GridSpliter自定义控件GridSplitterBox 二、效果 实现功能:设置菜单显示位置,最小宽度,最大宽度,位置持久化保存 三、环境 VS2022 Net7 四、使用方式 1、安装nuget包:H…