PCA 之前为什么要先对数据进行标准化?

2022-05-01 22:10:58 +08:00
 huzhikuizainali

PCA 之前要先对数据进行

A 、均值化(每个样本减去均值,使样本均值变成 0),

B 、然后标准化:每个样本数据除以标准差,样本数据的标准差变成 1

A 、比较好理解,没有 1 、 就无法将求主成分问题转化为线性代数的求协方差矩阵二次型表达式极值的问题。但是 B 、的作用是什么呢?他只不过会使协方差矩阵变成相关系数矩阵。可是变成相关系数矩阵有什么用呢?或者说不用相关系数矩阵求“最大方差”,就用协方差矩阵,难道不能找到最大方差的第一主成分方向么?

1416 次点击
所在节点    机器学习
1 条回复
PromethiumL
2022-05-04 11:08:45 +08:00
如果数据带单位,各维度的 range 可能差距很大,就会导致协方差矩阵的特征向量长度可能相差很大。
这种情况下投影到主成分方向上后,总共解释的方差就不能达到最大,某一些主成分本来解释的方差没能够体现出来。
(我去复习了一下这个回答 https://stats.stackexchange.com/a/69159/36229

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/850429

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX