当前位置: 首页 > news >正文

PCA笔记


✅ 问题本质:为什么让矩阵 TT 的行列式为 1?

这个问题通常出现在我们对数据做**线性变换(旋转/缩放)**的时候,比如在 PCA 中把数据从原始坐标系变换到主成分方向时。


📌 回顾一下背景

在 PCA 中,我们把数据从原始空间变换为新的坐标系(主成分空间):

Y=TTXY = T^T X

其中:

  • XX 是数据(每行一个样本)

  • TT 是变换矩阵,它由一组正交单位向量(主成分方向)组成

  • TTT^T 是它的转置

  • YY 是新坐标下的数据


🔍 那为什么希望 det⁡(T)=1\det(T) = 1 呢?

这不是“必须”的要求,但我们通常希望它满足这个条件,原因如下:


✅ 1. 维持体积不变(保持几何意义)

  • 如果你对空间进行线性变换,行列式告诉你体积改变了多少倍。

  • det⁡(T)=1\det(T) = 1 意味着体积保持不变。

举个例子:

  • 如果你对二维平面的一组点进行线性变换

  • ∣det⁡(T)∣=2|\det(T)| = 2:面积变成 2 倍了

  • ∣det⁡(T)∣=1|\det(T)| = 1:面积保持不变 ✅

所以我们倾向于找不改变体积/能量的变换矩阵


✅ 2. 在正交矩阵中,det⁡(T)=±1\det(T) = \pm 1

  • PCA 中的变换矩阵 TT 是由正交向量组成的,所以 TT 是一个正交矩阵

  • 正交矩阵的行列式一定是 ±1\pm 1

  • 为了不引入“镜像”翻转(比如坐标轴翻了个面),我们通常取 正的那个解

所以:

我们会约定选择行列式为 +1+1 的正交矩阵,避免反转坐标方向。


✅ 3. 保持方差解释的纯粹性

PCA 的目标是:

  • 把数据投影到新坐标轴

  • 保证数据投影后的方差最大

如果 TT 的行列式不是 1(比如是 2),那变换后的数据整体就会被“拉伸”,导致:

  • 所有方向的方差都膨胀了,不利于比较

所以我们更倾向于:

  • 使用单位长度的正交向量

  • 保证变换保持原始方差比例


✅ 总结一句话

我们令 det(T) = 1,是为了让变换矩阵 TT 在几何上保持体积不变、在统计上保持数据方差解释的一致性,并避免出现镜像翻转的变换。

这既是数学上的约定,也是应用中的合理选择。


http://www.xdnf.cn/news/920233.html

相关文章:

  • rl_sar实现sim2real的整体思路
  • [文献阅读] Emo-VITS - An Emotion Speech Synthesis Method Based on VITS
  • Java优化:双重for循环
  • 浅谈 React Suspense
  • Java高级 | 【实验七】Springboot 过滤器和拦截器
  • 【深度学习-Day 24】过拟合与欠拟合:深入解析模型泛化能力的核心挑战
  • PG 分区表的缺陷
  • Python网页自动化测试,DrissonPage库入门说明文档
  • Redis故障转移
  • 两种Https正向代理的实现原理
  • 文本切块技术(Splitter)
  • 运行示例程序和一些基本操作
  • 解决MySQL8.4报错ERROR 1524 (HY000): Plugin ‘mysql_native_password‘ is not loaded
  • Puppeteer API
  • Redis:现代应用开发的高效内存数据存储利器
  • springCloud2025+springBoot3.5.0+Nacos集成redis从nacos拉配置起服务
  • 【JavaWeb】Docker项目部署
  • LabVIEW主轴故障诊断案例
  • WPS中将在线链接转为图片
  • 备份还原打印机驱动
  • Spring——Spring相关类原理与实战
  • 欣佰特科技亮相2025张江具身智能开发者大会:呈现人形机器人全链条解决方案
  • Linux中su与sudo命令的区别:权限管理的关键差异解析
  • 【知识扫盲】分布式系统架构或分布式服务中的管理面,数据面和业务面
  • C#使用MindFusion.Diagramming框架绘制流程图(2):流程图示例
  • Keil开发STM32生成hex文件/bin文件
  • 鱼香ros docker配置镜像报错:https://registry-1.docker.io/v2/
  • TDengine 支持的平台汇总
  • TCP/IP 与高速网络
  • 量子电路设计:以 Qiskit 为例