PCA(Principal Component Analysis) 是一种常见的数据分析方式,常用于高维数据的降维,可用于提取数据的主要特征分量。
PCA 的数学推导可以从最大可分型和最近重构性两方面进行,前者的优化条件为划分后方差最大,后者的优化条件为点到划分平面距离最小,这里我将从最大可分性的角度进行证明。
1.1 内积
两个向量的 A 和 B 内积我们知道形式是这样的:
(a1,a2,⋯,an)⋅(b1,b2,⋯,bn)T=a1b1+a2b2+⋯+anbn
内积运算将两个向量映射为实数,其计算方式非常容易理解,但我们无法看出其物理含义。
1.2 基
在我们常说的坐标系种,向量 (3,2) 其实隐式引入了一个定义:以 x 轴和 y 轴上正方向长度为 1 的向量为标准。向量 (3,2) 实际是说在 x 轴投影为 3 而 y 轴的投影为 2。注意投影是一个标量,所以可以为负。
所以,对于向量 (3, 2) 来说,如果我们想求它在 (1,0),(0,1) 这组基下的坐标的话,分别内积即可。当然,内积完了还是 (3, 2)。
所以,我们大致可以得到一个结论,我们要准确描述向量,首先要确定一组基,然后给出在基所在的各个直线上的投影值,就可以了。为了方便求坐标,我们希望这组基向量模长为 1。因为向量的内积运算,当模长为 1 时,内积可以直接表示投影。然后还需要这组基是线性无关的,我们一般用正交基,非正交的基也是可以的,不过正交基有较好的性质。
1.3 基变换的矩阵表示
这里我们先做一个练习:对于向量 (3,2) 这个点来说,在 (12,12) 和 (−12,12) 这组基下的坐标是多少?
我们拿 (3,2) 分别与之内积,得到 (52,−12) 这个新坐标。
我们可以用矩阵相乘的形式简洁的表示这个变换:
(1/21/2−1/21/2)(32)=(5/2−1/2)
左边矩阵的两行分别为两个基,乘以原向量,其结果刚好为新基的坐标。推广一下,如果我们有 m 个二维向量,只要将二维向量按列排成一个两行 m 列矩阵,然后用“基矩阵”乘以这个矩阵就可以得到了所有这些向量在新基下的值。例如对于数据点 ,,(1,1),(2,2),(3,3) 来说,想变换到刚才那组基上,则可以这样表示:
(1/21/2−1/21/2)(123123)=(2/24/26/2000)
我们可以把它写成通用的表示形式&#