让 AI 压成一个主成分:保留八成方差,两个不同样本仍会重合

前天 3阅读

“保留80%的信息”是介绍降维时常见的简写,却容易让人以为每个样本都恢复得八九不离十。让AI做一次PCA投影时,可以要求它同时交出原点、投影坐标和重建点,看究竟丢掉了什么。

让 AI 压成一个主成分:保留八成方差,两个不同样本仍会重合

AI模型生成的概念插图:点投影到一条主轴,垂直偏移表示被舍弃的分量;不代表软件截图、真实实验或精确数据图。

先把整组数据搬到均值周围

四个点依次为(13,21)、(11,23)、(7,19)、(9,17),两列均值是(10,20)。中心化后得到(3,1)、(1,3)、(-3,-1)、(-1,-3)。这里两个特征已约定使用可比较的尺度,不额外标准化。scikit-learn的PCA会中心化输入,但默认不会把每列缩到相同方差。

按样本协方差的分母n-1=3计算,矩阵两条对角线都是20/3,非对角线都是4。沿u=(1,1)/√2的特征值为32/3,沿垂直方向v=(1,-1)/√2的特征值为8/3。第一方向保留的方差比例是(32/3)/(40/3)=0.8。

投影以后,差异可以完全消失

每个中心化点与u做点积,四个一维坐标依次是2√2、2√2、-2√2、-2√2,约为2.828427125、2.828427125、-2.828427125、-2.828427125。前两个不同的原始点,在保留的坐标上已经完全相同。

把一维坐标乘回u,再加均值(10,20),重建点分别是(12,22)、(12,22)、(8,18)、(8,18)。每点与原点的残差为(1,-1)或(-1,1),平方距离均为2,四点总重建平方误差为8。

中心化数据的总平方长度是40,丢掉的部分是8,恰好为20%。这与解释方差比例一致,但“80%”描述的是这组数据沿线性方向的变动量,不是分类准确率,也不是每个坐标保留了80%的数值。

把方向符号与恢复误差分开验收

可用提示词:“对四点(13,21)、(11,23)、(7,19)、(9,17)手算PCA,只保留一个成分,不白化、不按列缩放。交付均值、样本协方差、特征值、单位主轴、投影、重建及逐点平方误差。用丢弃特征值与残差两条路径核对总误差。”

如果另一份计算返回主轴(-1,-1)/√2,投影坐标也全部反号,仍可能完全正确:坐标与主轴一起反号,乘回去的重建结果不变。验收不应只盯住主轴某一项的正负。

本例无需标签便能求出主轴,所以不能保证保留的方向最适合区分某个类别。若换单位、加异常点或选择白化,结果的含义也会变化。让AI留下这些设置与重建误差,才方便把教学卡转换成真实数据分析步骤。

资料核对日期:2026年10月2日。数值为原创教学设定,已用独立Python计算复核,不代表真实模型性能测试。

参考资料

scikit-learn:PCA

文章版权声明:除非注明,否则均为云鹊BLOG原创文章,转载或复制请以超链接形式并注明出处。