【机器学习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个特征向量作为列向量,构建一个转换矩阵。然后,将中心化后的原始数据乘以这个转换矩阵,得到降维后的数据。

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

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

相关文章

十三、Maven(1)

🌻🌻目录 一、maven价绍二、maven的功能1、项目自动化构建2、管理jar、war包3、实现项目结构设计 三、maven安装1、maven的安装环境需要jdk2、Maven的安装路径中不能出现中文和空格3、压缩包解压即可4、配置环境变量 四、maven的仓库1. Maven仓库配置2. …

矩阵新玩法,云微客AI矩阵系统开启新营销大门

在激烈的市场竞争中,商家企业们都在追求更加高效的营销方式,在如今流量至上的时代,短视频凭借其魅力,成为了众多企业吸引流量、获客引流的核心营销途径。而想要挤进短视频流量圈的你,是否经常听到矩阵这个词呢&#xf…

PY32F003系列单片机,超值国产32位单片机,资料齐全 易于开发

PY32F003 系列微控制器是采用高性能的 32 位 ARM Cortex-M0 内核,宽电压工作范围的 MCU。嵌入高达 64 Kbytes flash 和 8 Kbytes SRAM 存储器,最高工作频率 32 MHz。包含多种不同封装类型多款产品。 PY32F003 系列微控制器的工作温度范围为 -40 ~ 85 ℃…

oceanbase数据库安装和连接实战(阿里云服务器操作)

本文主要是安装oceanbase的单机版进行数据库的基础使用,oceanbase的数据库是兼容mysql数据库的,实际的兼容程度需要更深度的测试,本文主要是安装oceanbase并使用SQLynx的mysql驱动连接使用oceanbase数据库。 目录 1. 基础介绍 2. 安装说明 …

gdb用法

创建文件 // main.cpp文件 // 稳态误差 void pid_test_wentaiwucha() {float p 1.5;int t 1; // t 1s;int target 5; // 5m/sfloat output 0;float radis 3; // 稳态误差std::cout << "output: " << std::endl;fo…

PT100(RTD)是什么?2线,3线,4线原理

RTDs - or Resistance Temperature Detectors- (电阻式温度探测器)&#xff0c;是温度型传感器&#xff0c;包含一个电阻&#xff0c;这个阻值可以随温度的变化而变化。在工业的进程中和实验室里已经使用了很多年&#xff0c;以精确&#xff0c;可靠和稳定的特性。 2线制 2线制…

.net core接入nacos注册服务并使用配置中心

1、安装依赖 Nuget包&#xff1a;nacos-sdk-csharp.Extensions.Configuration和nacos-sdk-csharp.AspNetCore 2、在appsettings.json中配置 "nacos": {"ServerAddresses": ["http://localhost:8848/"],"DefaultTimeOut": 15000,"…

前端vue-cli相关知识与搭建过程(项目创建,组件路由)very 详细

一.关于vue-cli 1.什么是vue Vue (读音 /vju ː /&#xff0c;类似于 view) 是一套用于构建用户界面的渐进式框架。Vue 的核心库只关注视图层&#xff0c;不仅易于上手&#xff0c;还便于与第三方库或既有项目整合。 Vue.js 是前端的主流框架之一&#xff0c;和 Angular.js…

【财经研究】并购重组的“不可能三角”

伴随着沪深IPO景气度下滑后&#xff0c;并购重组正受到市场的关注。 近期监管层正频频为并购重组发声 6月20日&#xff0c;证监会主席吴清在陆家嘴论坛上指出&#xff1a;“支持上市公司运用各种资本市场工具增强核心竞争力&#xff0c;特别是要发挥好资本市场并购重组主渠道作…

python 识别图片点击,设置坐标,离设置坐标越近的优先识别点击

import pyautogui import cv2 import numpy as np import mathdef find_and_click(template_path, target_x, target_y, match_threshold0.8):"""在屏幕上查找目标图片并点击。Args:template_path: 目标图片的路径。target_x: 预设的坐标 x 轴值。target_y: 预设…

使用 Google Gemini 和 SwiftUI 构建 AI 图像识别应用程序

在本教程中,我们将演示如何使用 Google Gemini API 进行图像识别。这个简单的应用程序允许用户从他们的照片库中选择一张图片,并使用 Gemini 描述照片的内容。 在继续本教程之前,请访问Google AI Studio并创建您自己的 API 密钥(如果您还没有这样做)。 在 Xcode 项目中添…

AcWing算法基础课笔记——最短Hamilton路径

最短Hamilton路径 题目 给定一张 n 个点的带权无向图&#xff0c;点从 0~n-1 标号&#xff0c;求起点 0 到终点 n-1 的最短Hamilton路径。 Hamilton路径的定义是从 0 到 n-1 不重不漏地经过每个点恰好一次。 输入格式 第一行输入整数n。 接下来 n 行每行n个整数&#xff0c…

CCSP自考攻略+经验总结

备考攻略 备考攻略准备阶段通读阶段精度阶段总复习阶段刷题阶段命运审判 写到最后 备考攻略 趁着对ssp知识点的理解还在&#xff0c;开始ccsp的考证之路&#xff0c;文章结构还是按照cissp备考篇的结构梳理。本次备考和cissp的离职在家备考不同&#xff0c;ccsp是在职利用非工…

通过命令行配置调整KVM的虚拟网络

正文共&#xff1a;1234 字 20 图&#xff0c;预估阅读时间&#xff1a;2 分钟 在上篇文章中&#xff08;最小化安装的CentOS7部署KVM虚拟机&#xff09;&#xff0c;我们介绍了如何在最小化安装的CentOS 7系统中部署KVM组件和相关软件包。因为没有GUI图形界面&#xff0c;我们…

python pyautogui.position实时输出坐标

import pyautogui import timewhile True:# 获取鼠标当前坐标x, y pyautogui.position()# 打印坐标print(f"当前坐标&#xff1a;({x}, {y})")# 暂停1秒time.sleep(1) 输出实时鼠标位置坐标

计算机等级考试二级Java-第一篇:Java语言概述

1.java语言的历史和发展 1991年由sun公司的James Gosling负责开发的&#xff0c;一个分布式代码系统&#xff08;Oak),最初是为家用消费电子产品&#xff08;电冰箱&#xff0c;电视机等&#xff09;进行编程&#xff0c;它是java语言的前身。 1994年sun公司件目标市场转向In…

仓库管理系统13--物资设置

1、添加窗体 2、设计UI界面 注意这个下拉框的绑定&#xff0c;你看到的选项是由displaymember决定&#xff0c;当你选择了哪个选项时&#xff0c;后台绑定这个选项的ID <UserControl x:Class"West.StoreMgr.View.GoodsView"xmlns"http://schemas.microsoft…

Discourse OpenAI 生成图片

正如一些讨论的&#xff0c;生成图片是比较贵的。 差不多到了 1 元 一张图了。 就 OpenAI 生成了上面 4 张图&#xff0c;费用 0.4 美元。 Discourse OpenAI 生成图片 - Discourse - iSharkFly

SSZipArchive 解压后 中文文件名乱码问题

不知道什么情况&#xff0c;做为一个三方广泛使用的框架库&#xff0c;会出现这种比较低级的问题&#xff01; 还有中文的文件名解压后显示乱码&#xff01; 经过深入研究排查&#xff0c;发现目录或文件名编码错误&#xff01;但是POD库&#xff0c;不可能直接在里面改&#…

上市公司银行专利申请数据集(2003-2022年)

数据简介&#xff1a;上市商业银行的专利申请数据是可作为金融科技创新水平的关键指标&#xff0c;这些数据反映了银行在金融技术领域的创新能力。发明专利因其创新性、技术深度和行业代表性&#xff0c;被赋予了特别的重视。遵循郭晔等人(2022)的研究方法&#xff0c;使用国家…