ELAI S.r.l.

保留99%的变化,就保留了模型所需信息吗?

PCA推导及四点反例解释重建、方差与预测信息为何不同。

保留99%的变化,就保留了模型所需信息吗?

最大差异未必最关键

企业模型特征很多,需要压缩。保留超过99%方差听似仅丢不到1%有用信息,但数据变化与预测信息不同。本文推导主成分分析PCA,构造重建最优却不足以区分类别的例子,目的是正确解读目标,非否定方法。

摘要。四点(±10,±1)协方差对角,特征值400/3、4/3。PC 1保留100/101≈99.0099%方差,逐点平均平方重建误差1。若标签取第二坐标正负,投影把异类映同值,任何仅依PC 1确定分类器最多符合2/4标签,非测试准确率。缩放第一特征改变方向并可退化。用NumPy执行,无训练预测器。

完整数据及监督问题

X行(−10,−1)、(−10,1)、(10,−1)、(10,1),合成无量纲大、小幅特征。第二坐标负标0、正标1。两列均值零已中心化。无训练测试划分,不估泛化;四点只证明高保留方差不逻辑蕴含任务信息保留。

PCA最大化什么

取二维单位列v,z=Xv每行一个数。中心化样本方差vᵀCv,C=XᵀX/(n−1),n=4。PC 1最大化它,即数据最散方向,不是最能预测标签方向,目标没有标签。

maximize v^T C v, subject to v^T v=1 C=X^T X/(n−1)=diag(400/3,4/3)

XᵀX对角400、4,交叉10−10−10+10=0,除3得C。对vᵀCv−λ(vᵀv−1)求导得2 Cv−2λv=0,方向为特征向量、方差为其特征值。400/3>4/3故PC 1为第一轴,符号不影响重建投影。

C v=λv v₁=(1,0)^T; z₁=Xv₁=(−10,−10,10,10)^T Retained fraction = (400/3)/[(400/3)+(4/3)] = 100/101

保留99.0099%的分母为总方差tr C,非类别信息。第二坐标方差不到1%却完全定义标签。PCA正确解目标,错在把保方差当保预测用途。

为什么重建确实很好

单分量重建X_hat=Xvvᵀ为正交投影,重建残差正交,平方总范数分解,故最小残差等于最大投影。Frobenius范数求全部矩阵元素平方和,解释PCA为何适合此误差压缩。

||X−Xvv^T||_F²=||X||_F²−||Xv||₂² X_hat=[(−10,0),(−10,0),(10,0),(10,0)] MSE_per_point=(1/4)·Σ_i ||x_i−x_hat_i||₂²=1

各点仅丢第二坐标±1,残差平方1平均1。原平方和404留400,再得100/101。丢失样本方差4/3因除n−1,逐点误差除n,不矛盾;此非逐坐标平均。

投影消除的小幅信息

投影前二同z=−10却异标签,后二同10也异类。确定g(z)同入必同出,每对最多一对,总2/4。这证明有限表示限制,非训练测试50%准确率。行ID或其他特征会改前提,此比较不允许。

保留两坐标可按定义读第二符号,并非现实泛化或PCA失败频率。本反例足以否定普遍保证。别处低方差可为噪声,此处定义目标,重要性由任务关系而非幅度决定。

改变尺度可改变主分量

第一坐标乘c后协方差对角100 c²× 4/3与4/3。c=.2第一方向主导保80%,.05第二主导也80%;.1特征值相等无唯一首方向。求解器仍给基,但退化空间任意选向不是发现优先方向。

c保留比例方向
1100/101(1,0)
0.20.8(1,0)
0.10.5λ₁=λ₂
0.050.8(0,1)

选.05非普遍最优,是利用反例知识构造。尺度定义几何,标准化不保证预测方向且本例可使方差相等。对已保PC 1重缩或白化不恢复被删坐标,任何仅依z函数仍把相同z映同值。

左按标签着色四点及黑色PC1投影,异类共享投影。右本有限集保99.0099%方差与仅PC1最多50%标签一致率,非测试指标或训练分类器结果。
左按标签着色四点及黑色PC 1投影,异类共享投影。右本有限集保99.0099%方差与仅PC 1最多50%标签一致率,非测试指标或训练分类器结果。

真实流水线需验证什么

查阅scikit-learn 1.9.1 PCA文档的中心化、SVD、解释方差及求解限制,默认不逐特征缩放。实际运行NumPy 2.5.3非sklearn。真实预测应对任务比较压缩维度及无变换;官方常见问题指出PCA等在测试数据学习会泄漏。本四点不冒充预测评估。

附件保存点标签协方差特征向量重建与缩放,断言100/101、误差1、2/4限制。无随机。特征符号可变而投影不变,退化需另识别;未跑大矩阵截断/随机SVD,不推导EL-AI时间内存质量。

保99%方差仍可能少保答案区别。本例正确优化重建却删掉承载目标的低方差坐标,不是永远全保建议,而是压缩指标需对齐终任务。方差比例描述所选几何的表示,预测需另验证。

scikit-learn 1.9.1 PCA documentation, read 17 October 2026: centering, variance, SVD, scaling and solver caveats. NumPy, not scikit-learn, was executed..

scikit-learn 1.9.1 Common pitfalls,§12.2, read 17 October 2026. Real evaluation requires separation of fitting and testing; no test estimate claimed here..

from experiment import X
import numpy as np
print(np.cov(X,rowvar=False))
print(np.linalg.eigh(np.cov(X,rowvar=False)))

代码、数据与说明 · JSON. 教学计算使用 Python 3.14.0,图使用 Matplotlib 3.11.2。分析由 AI 辅助,不声称经过同行评审或人工审核。原创 ImageGen 封面仅作示意,不记录 EL-AI 人员、场所或实际安装。来源查阅于 2026 年 10 月 17 日。