PCA是一种基本的数据降维技术。在知乎或者百度搜索PCA,会找到很多关于PCA的介绍。
我喜欢在直观上理解数学知识。因此我打算从直观的角度把我对PCA的理解写出来。毕竟是个人见解,如有不妥之处欢迎指正。
以下内容假定读者稍微了解过PCA。
我以最简单的模型为例:如何把二维数据压缩至一维。
正如最近很火的一句话:“戏说不是胡说,改编不是乱编”。数据压缩也不是随心所欲地压缩。我们的目标是:让新数据的方差尽可能地大。这样的标准能使得新数据尽可能地不丢失原有数据的信息,因为方差越大,数据间的差异越大。
如下图所示:有六个点,每个点有两个特征,分别对应x轴和y轴。我们需要把他们压缩成一维的数据,即每个点只有一个特征。
因此要寻一条直线,让所有点投影到该直线上。该直线上的刻度即为新数据的值。
首先我们进行中心化处理。中心化的好处在于,我们寻求的直线必定经过原点。如下图所示。我们只需从所有经过原点的直线中,找一条直线,使得各个数据的方差最大。