PCA Whitening 是什么?有什么作用和风险?
简化版
PCA 白化在旋转到主成分坐标后,再除以各方向标准差,使输出协方差近似单位阵。它消除线性相关并统一方差,却会放大小特征值方向的噪声、丢失原始尺度,因此应加数值下限并通过下游任务验证。
详细版
- PCA 旋转后各轴不相关但方差仍为特征值。
- 白化再乘 lambda 的负二分之一次方。
- 小特征值会产生很大的缩放倍数。
- 白化不保证统计独立,只去除二阶相关。
- 逆变换需要保留均值、载荷与尺度。
完整版教学
一、问题定义与核心直觉
中心化数据 X=UΣVᵀ,PCA 得分可写 XV;白化得分进一步除以 sqrt(lambda)。这样欧氏距离不再由高方差主成分主导,对某些假设各向同性的模型有帮助。
如果尾部方向主要是测量噪声,白化会把它提升到与主信号相同方差。常见做法是只保留前 k 维,或使用 sqrt(lambda+epsilon) 稳定分母。
二、机制与公式
z=(x-mu)V_k diag(1/sqrt(lambda_j+epsilon))
Cov(z) approximately I
普通 PCA 得分的样本协方差为对角矩阵 diag(λ_j);白化再按 1/sqrt(λ_j) 缩放。加入 epsilon 后可限制放大倍数,但输出协方差不再严格为单位阵,而只是受控地接近白化目标。
三、带数字的推演
两个主成分方差为 100 和 0.01,白化倍率分别为 0.1 和 10。第二方向仅有很小噪声时会被放大 10 倍;加入 epsilon=0.09 后倍率降为约 3.16。
白化后两个方向被强制到相近方差,但第二方向的信噪比没有因此提高。零协方差只保证二阶不相关;除联合高斯等特殊情形外,不能推出统计独立。
四、方案对比
| 方案 | 优势 | 代价或边界 |
|---|---|---|
| 不白化 PCA | 保留相对方差 | 下游距离受大方差轴主导 |
| PCA whitening | 协方差近似单位阵 | 放大低方差噪声 |
| ZCA whitening | 更接近原坐标方向 | 计算与解释更复杂 |
五、工程执行流程
训练折缩放/中心化 -> 查看特征值谱 -> 选择 k 与 epsilon -> 拟合白化
-> 检查输出协方差和数值范围 -> 交叉验证下游模型 -> 固化逆变换参数
若需要逆变换或解释预测,必须保存训练均值、载荷、特征值、k、epsilon 及前置 scaler;缺少任一项都可能导致无法一致恢复原坐标。
六、边界条件与上线代价
白化后的回归系数或距离已不在原始单位,解释时必须通过载荷和缩放映射回原空间。
训练与线上若 epsilon、组件符号或库版本不一致,即便维数相同也会产生表示错位,应对变换输出做黄金样本测试。
关键判断:PCA 是“旋转并可截断”,白化再做“每轴除标准差”。
七、常见误区与追问
-
误区:PCA 后已经自动白化。 普通 PCA 只去相关,不统一各轴方差。
-
追问:白化能保证独立吗? 不能,只保证样本二阶协方差近似单位阵。
-
误区:白化总能改善模型。 它可能放大低方差噪声。
-
追问:epsilon 做什么? 限制小特征值方向的放大倍数。
-
追问:何时值得使用? 下游依赖各向同性距离且验证确有收益时。
八、加强记忆
PCA 是“旋转并可截断”,白化再做“每轴除标准差”。得到单位协方差的代价是丢失方差尺度并放大尾部噪声,所以必须同时回答 k、epsilon 和下游验证。