主成分分析PCA与奇异值分解SVD

线性代数 SVD

奇异值分解(Singular Value Decomposition,简称 SVD)是线性代数中的一种基本工具,它将任意一个 (m * n) 矩阵 (A) 分解成三个简单矩阵的乘积,即
A = U \Sigma V^T

其中:

  • (U) 是一个 (m*m) 的正交(或酉)矩阵 (U) 的列向量称为 左奇异向量,它们构成了 (\mathbb{R}^n)(或 (\mathbb{C}^n))的一个正交基。

  • (\Sigma) 是一个 (m*n) 的对角矩阵 对角线上的元素称为 奇异值,且都是非负数。奇异值通常按从大到小排列,反映了矩阵 (A) 在各个方向上的拉伸或压缩程度。

  • (V) 是一个 (n*n) 的正交(或酉)矩阵 (V) 的列向量称为 右奇异向量,它们构成了 (\mathbb{R}^n)(或 (\mathbb{C}^n))的一个正交基。(V^T) 表示 (V) 的转置(或共轭转置)。


数学原理

1. 数据变换解释

可以将 SVD 看作对矩阵 (A) 表示的线性变换的分解,其过程可以分为三个简单的步骤:

  1. 右侧旋转(V^T) 首先,利用 (V^T) 将输入向量从原始坐标系转换到一个新的坐标系,这个新坐标系由 (V) 的列向量构成。这一步类似于“旋转”或“反射”,使得数据在新的坐标系中分布更“整齐”。

  2. 伸缩(\Sigma) 在新的坐标系中,对角矩阵(\Sigma) 对各个方向进行拉伸或压缩。对角线上每个奇异值 (\Sigma) 表示在第 (i) 个方向上的伸缩因子。较大的奇异值对应数据在该方向上具有较大方差,说明该方向上的信息更重要。

  3. 左侧旋转(U) 最后,利用 (U) 将经过伸缩后的向量转换回到原来的空间中,从而得到 (A) 作用后的结果。

2. 与特征值分解的关系

  • 从 (A^T A) 得奇异值 考虑 (A^T A),这是一个 (n \times n) 的对称(或埃尔米特)矩阵,根据谱定理可以对其进行特征值分解。其非零特征值的平方根就是矩阵 (A) 的奇异值,且对应的特征向量就是 (V) 的列向量。

  • 左奇异向量 利用公式
    u_i = \frac{A v_i}{\sigma_i}

    可以得到 (A A^T) 的特征向量,这些向量构成 (U) 的列向量。

3. 计算方法

常用的计算 SVD 的方法主要包括两大步骤:

  1. 双边正交化(Bidiagonalization) 利用 Householder 反射或 Givens 旋转将矩阵 (A) 化为双斜对角矩阵。这个步骤的目的是简化 (A) 的结构,便于后续迭代求解。

  2. 迭代对角化 对双斜对角矩阵使用迭代方法(如 QR 算法的变种)使其逐步“对角化”,从而得到奇异值以及对应的奇异向量。


应用

  1. 数据降维 在主成分分析(PCA)中,通过对数据矩阵做 SVD,可以提取数据中最重要的成分。只保留较大的奇异值及其对应的奇异向量,就能用较低的维度近似表示原始数据,从而达到降维和去噪的效果。

  2. 图像压缩与去噪 图像可以看作是一个矩阵。通过 SVD 分解后,只保留前几个主要的奇异值和相应的奇异向量,可以重构出一个近似原图的矩阵,实现图像压缩和噪声去除。

  3. 求解最小二乘问题 当矩阵 (A) 不满秩或病态时,直接求逆可能会导致不稳定。利用 SVD,可以求出矩阵的广义逆(伪逆),从而稳定地求解最小二乘问题。

  4. 信号处理与模式识别 在信号处理、机器学习和统计分析中,SVD 被用来提取数据中的主要模式和特征,提高后续算法的性能和稳定性。


小结

奇异值分解(SVD)是一种非常强大且通用的矩阵分解方法,它将任意矩阵分解为两个旋转(或反射)变换和一个简单的伸缩变换的组合。这种分解不仅揭示了矩阵作为线性变换的深层结构,而且在数据降维、图像压缩、最小二乘问题求解、信号处理等领域都有着广泛的应用。

主成分分析PCA

通俗理解 PCA

假设你有一堆数据,每个数据点有很多特征(比如身高、体重、年龄、收入等)。这些特征可能彼此相关,使得数据看起来很“冗余”。PCA 的目标就是找到一组“新坐标轴”(我们称之为主成分),使得在这些新坐标轴上,数据的变化(也就是“方差”)尽可能大。

  • 第一主成分:找出一个方向,使得所有数据投影到这条直线上的“散布”最广。可以理解为在所有可能的方向中,哪一条能把数据拉得最“开”。

  • 第二主成分:在与第一主成分正交(互相垂直)的条件下,再找一条方向,使得数据在这条轴上的投影散布最大。

  • 后续的主成分依此类推,每一条都要求与前面的正交,并尽可能捕捉剩余的数据变异性。

通过选取前几个主成分(比如占总变异量90%的那几条),我们就可以用较低的维度来近似表示原始数据,从而达到降维、压缩和去噪的效果。


数学原理

以一个数据矩阵 (X) 为例,假设 (X) 有 (n) 个样本,每个样本有 (p) 个特征。通常步骤如下:

  1. 数据中心化 首先将每个特征减去其均值,使得数据集中每个特征的均值为0。

  2. 构造协方差矩阵 协方差矩阵反映了各个特征之间的相关性,通常计算公式为

    C = \frac{1}{n-1} X^T X

    这里 (C) 是一个 p * p 的对称矩阵。

  3. 求解特征值和特征向量 由于 (C) 是对称矩阵,根据谱定理,它可以分解(特征值分解)为

    C = Q \Lambda Q^T

    其中:

    • (Q) 的列向量就是 (C) 的特征向量(也可以称作主成分方向),这些向量彼此正交;

    • (\Lambda) 是对角矩阵,对角线上的值(特征值)反映了数据在对应特征向量方向上的方差大小

  4. 选择主成分 按照特征值大小排序,选择前 (k) 个最大的特征值所对应的特征向量作为新的基,即这些方向上数据的“变异”最多。用这 (k) 个向量就能构成一个 (k) 维的新空间。

  5. 重构数据 将原始数据投影到新基上,可以得到低维表示。数学上如果用 (Q_k) 表示前 (k) 个特征向量构成的矩阵,那么数据降维后的表达就是

    Z = X Q_k

另外,还有一种常用的等价方法是利用奇异值分解(SVD)。SVD 将数据矩阵 (X) 分解为:

X = U \Sigma V^T
其中:

  • (V) 的列向量即为 X^TX的特征向量,也就是主成分方向。

  • (\Sigma) 对角线上数值的平方即为协方差矩阵 X^TX 的非零特征值。

这种方法在实际计算中常常更稳定、数值更准确。

小结

  • PCA 的核心思想就是找出数据中最重要的方向,把高维数据转到这些方向上,使得数据在新坐标系中的投影能保留尽可能多的信息(即最大方差)。

  • 数学上,这可以通过计算数据协方差矩阵的特征值和特征向量来实现;特征向量就是新坐标轴,特征值反映了各方向的重要性。

  • 另一种实现方式是用 SVD 分解,它与协方差矩阵的特征分解是等价的。

这种方法不仅可以降低数据维度,简化数据,还能去除噪声,并在很多领域(如图像压缩、推荐系统、信号处理等)中得到广泛应用。

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

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

相关文章

自主代理的摩尔定律:AI 的指数级革命

图像由 Gemini 生成 前言:AI 正在以超过摩尔定律的速度迅速提升其自主工作能力,研究显示,AI 能够可靠完成的任务时长正以每 7 个月翻一倍的速度增长。这种指数级的发展趋势意味着,AI 不再只是应对简单问答或短任务的工具&#xff…

气膜文化馆:打造沉浸式文娱新空间—轻空间

演唱会、展览、音乐剧……都能办? 当然!气膜文化馆不仅适用于体育赛事,在文化娱乐方面同样大放异彩! 声学优化,打造极致听觉体验 气膜文化馆采用专业声学设计,避免传统场馆的回声干扰,提供更清…

【数据标准】数据标准化框架体系-对象类数据标准

导读:对象类数据标准化框架通过统一数据定义、分类和标记,解决数据孤岛与不一致问题,支撑数据分析、AI应用与合规需求。企业需结合自身业务特性,灵活选择国际标准(如ISO)、行业规范或自建体系,并…

【江协科技STM32】软件SPI读写W25Q64芯片(学习笔记)

SPI通信协议及S为5Q64简介:【STM32】SPI通信协议&W25Q64Flash存储器芯片(学习笔记)-CSDN博客 STM32与W25Q64模块接线: SPI初始化: 片选SS、始终SCK、MOSI都是主机输出引脚,输出引脚配置为推挽输出&…

C 语 言 --- 扫 雷 游 戏(初 阶 版)

C 语 言 --- 扫 雷 游 戏 初 阶 版 代 码 全 貌 与 功 能 介 绍扫雷游戏的功能说明游 戏 效 果 展 示游 戏 代 码 详 解game.htest.cgame.c 总结 💻作 者 简 介:曾 与 你 一 样 迷 茫,现 以 经 验 助 你 入 门 C 语 言 💡个 人 主…

数据库基础知识

目录 一、什么是数据库? 二、基本使用方法 (1)启动服务器进程 (2)连接服务器 (3)基本sql语句 三、MySQL架构 四、SQL语句分类 五、存储引擎是什么 一、什么是数据库? 数据库…

在线生成自定义二维码

在线生成自定义二维码 1. 引言 二维码已成为现代互联网的重要工具,广泛应用于链接分享、支付、身份认证等场景。然而,很多在线二维码生成工具功能有限,难以满足个性化需求。如果你需要 自定义颜色、Logo、不同形状的二维码,那么…

DeepSeek处理多模态数据的技术要点和实现方式

DeepSeek具备处理多模态数据的能力,以下是相关技术要点和实现方式。 1. ‌多模态模型架构‌ ‌单流/双流网络‌:通过将文本和图像输入统一编码器(单流)或分别编码后交互(双流)实现模态融合‌。‌预训练模…

系统架构设计知识体系总结

1.技术选型 1.什么是技术选型? 技术选型是指评估和选择在项目或系统开发中使用的最合适的技术和工具的过程。这涉及考虑基于其能力、特性、与项目需求的兼容性、可扩展性、性能、维护和其他因素的各种可用选项。技术选型的目标是确定与项目目标相符合、能够有效解…

数智读书笔记系列022《算力网络-云网融合2.0时代的网络架构与关键技术》读书笔记

一、书籍核心价值与定位 1.1 书籍概述:中国联通研究院的权威之作 《算力网络 —— 云网融合 2.0 时代的网络架构与关键技术》由中国联通研究院算力网络攻关团队精心撰写,是业界首部系统性探讨云网融合 2.0 与算力网络的专著。在云网融合从 1.0 迈向 2.0 的关键节点,本书的…

知识图谱中NLP新技术

知识图谱与自然语言处理(NLP)的结合是当前人工智能领域的前沿方向,其技术发展呈现多维度融合与场景深化的特点。以下从核心技术突破、应用场景创新及未来趋势三个层面,系统梳理知识图谱中NLP的最新进展: 一、核心技术突…

ASP.NET Web的 Razor Pages应用,配置热重载,解决.NET Core MVC 页面在更改后不刷新

Razor Pages应用,修改页面查看修改效果,如果没有热重载,改一句话跑一次,这个活就没法干了。 1、VS2022中的NuGet中安装RuntimeCompilation Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation 需要配套你的.net sdk版本&#x…

DeepSeek(8):结合Kimi-PPT助手一键生成演示报告

1 生成内容 在Deepseek中生成内容: 帮我创建年度计划,描述《智能枕头》产品的如何在全国销售,计划切分到每个月。从而让我们的老板和团队对报告充满信息。输出的内容我需要放到ppt中进行展示。 使用Deepseek R1模型,如下&#x…

到底爱不爱我

L2-3 到底爱不爱我 古代少女有了心上人时,会悄悄折一条树枝,揪那枝上的叶子,揪一片叶子念一句“爱我”,再揪一片念一句“不爱我”…… 这样揪落最后一片叶子的时候,看看是停在“爱”还是“不爱”。 但聪明的慧娘一眼洞…

网络华为HCIA+HCIP 网络编程自动化

telnetlib介绍 telnetlib是Python标准库中的模块。它提供了实现Telnet功能的类telnetlib.Telnet。这里通过调用telnetlib.Telnet类里的不同方法实现不同功能。 配置云

【10】高效存储MongoDB的用法

目录 一、什么是MongoDB 二、准备工作 (1)安装MongoDB ​(2)安装pymongo库 三、连接MongoDB 四、指定数据库 五、指定集合 六、插入数据 (1) insert 方法 (2)insert_one(…

datawhale组队学习--大语言模型—task4:Transformer架构及详细配置

第五章 模型架构 在前述章节中已经对预训练数据的准备流程(第 4 章)进行了介绍。本章主 要讨论大语言模型的模型架构选择,主要围绕 Transformer 模型(第 5.1 节)、详细 配置(第 5.2 节)、主流架…

Tomcat虚拟主机配置详解:Centos环境下多域名部署(详细教程!)

🏡作者主页:点击! Tomcat服务器📝专栏:点击! 🐧Linux高级管理防护和群集专栏:点击! ⏰️创作时间:2025年3月18日14点14分 最近在折腾 Tomcat 的时候&…

Java+Html实现前后端客服聊天

文章目录 核心组件网络通信层事件调度层服务编排层 Spring实现客服聊天技术方案对比WebScoket建立连接用户上线实现指定用户私聊群聊离线 SpringBootWebSocketHtmljQuery实现客服聊天1. 目录结构2. 配置类3. 实体类、service、controller4. ChatWebSocketHandler消息处理5.前端…

51c自动驾驶~合集24

我自己的原文哦~ https://blog.51cto.com/whaosoft/11926510 #DriveArena 上海AI Lab又放大招:首个高保真闭环生成仿真平台 仓库链接:https://github.com/PJLab-ADG/DriveArena 项目链接:https://pjlab-adg.github.io/DriveArena/ D…