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 在几何上保持体积不变、在统计上保持数据方差解释的一致性,并避免出现镜像翻转的变换。
这既是数学上的约定,也是应用中的合理选择。