为何PCA前需做数据标准化?标准化后PCA如何最大化方差?
PCA预处理:标准化vs归一化及核心逻辑解惑
预处理选择:优先标准化
PCA的核心是通过寻找数据的主成分,最大化投影后的方差。如果不对特征做标准化,方差大的特征会主导主成分的方向——比如一个特征是“年收入(单位:元)”,方差可能是几十万,另一个是“年龄(单位:岁)”,方差只有几十,PCA会优先偏向年收入这个特征的方向,这显然不合理,因为两个特征的重要性不该由量纲/方差大小决定。
标准化((x-m)/s)会把每个特征转化为均值为0、方差为1的分布,让所有特征站在同一“方差起跑线”上,此时PCA能真正捕捉数据协方差结构里的关键信息,而不是被量纲干扰。归一化(缩放到[0,1])虽然也能消除量纲,但它只关注特征的取值范围,没有考虑数据的分布离散程度,对PCA来说适配性远不如标准化。标准化后PCA如何实现方差最大化?
这里有个误解:标准化是让单个特征自身的方差变为1,但特征之间的协方差依然存在。PCA最大化的是投影后的方差,本质是找能让投影数据离散程度最大的方向——这个方向是由特征间的协方差结构决定的,而非单个特征的方差。
举个简单例子:假设标准化后有两个特征X和Y,它们的协方差是0.8(高度正相关),那么PCA的第一个主成分会是X和Y的合成方向(比如X+Y),这个方向上投影后的方差会远大于单个特征的方差(因为两个相关特征的信息叠加了);而第二个主成分则是垂直于第一个的方向,投影方差很小。这就是标准化后PCA依然能找到最优投影方向的原因——它瞄准的是特征间的关联带来的整体方差,而非单个特征的方差。
内容的提问来源于stack exchange,提问作者Denis Shafarenko
相关产品推荐
相关产品推荐

