经典与统计学习

主成分分析(principal component analysis)

/ PRIN-suh-pul kum-POH-nent uh-NAL-uh-sis /

主成分分析是一种把带有几十、几百个特征的数据,挤压成寥寥几个,同时尽量少丢真实结构的办法。想象一团点,尽管它们活在三维空间里,实际上却几乎平铺在一张倾斜的薄饼上。PCA找出那张薄饼,让你用区区两个数字(点落在薄饼上的位置)来描述每个点,而非三个,却几乎什么都没损失。它是一门找出「你的数据真正在沿哪几个方向变化」的艺术。

具体而言,PCA寻找数据散得最开的那个方向——点云最长的那根轴——把它称作第一主成分。然后它再找下一个散得最开、且与第一根成直角的方向,如此继续。这些新轴,不过是你原有特征经过旋转的组合,按从最有信息量到最没信息量的顺序排列。只保留头几根——那几根抓住了大部分变化——把其余的丢掉,你就压缩了数据、剥离了噪声,因为剩下那些方向通常除了抖动外别无他物。

它是对付维度灾难的经典良方——那种特征太多就让数据变稀疏、模型陷入泥潭的怪病——也是把高维数据压平成你真能画出来的两根轴、从而将其可视化的心头好。诚实的局限是:PCA只能捕捉直线式(线性)的结构,所以它会漏掉弯曲或扭转的模式。而那些新轴是原始特征的混合物,所以一个主成分很少有一目了然的人类含义——你赢得了紧凑,却常常丢掉了可解释性。

你给1000个人量了50项身体尺寸。它们大多彼此相关——高个子往往胳膊长、脚也大。PCA发现,一根合成的轴(「整体身材大小」)加上第二根(「瘦削对粗壮的体型」),就抓住了大部分变化,于是每个人用区区2个数字、而非50个就能概括,而几乎没丢什么真正的细节。

许多彼此相关的特征,坍缩成寥寥几根有意义的轴。

PCA只看得见直线式的结构——如果你的数据躺在一个弯曲或扭转的形状上,它可能恰恰把你在意的那个模式压没了。又因为每个成分都混合了你的原始特征,那些新轴通常没有干净利落的人类含义。

又称
PCA主成分分析主成份分析