机器学习基础—PCA

581 阅读1分钟

「这是我参与11月更文挑战的第7天,活动详情查看:2021最后一次更文挑战

在多元统计分析中,主成分分析(英语:Principal components analysisPCA)是一种统计分析、简化数据集的方法。它利用正交变换来对一系列可能相关的变量的观测值进行线性变换,从而投影为一系列线性不相关变量的值,这些不相关变量称为主成分(Principal Components)。具体地,主成分可以看做一个线性方程,其包含一系列线性系数来指示投影方向。PCA对原始数据的正则化或预处理敏感(相对缩放)。

基本思想

首先对数据 D 进行中心化,然后通过变换找到一个坐标轴,数据在新的坐标轴上投影,让数据在新坐标轴上投影数据分散的更开,也就是数据方差更大,其实也就是最小重构距离,也就是将数据一些相关特征移除。

数据

聊一聊

D={(x1,y1),(x2,y2),,(xi,yi)}ND = \{(x_1,y_1),(x_2,y_2),\cdots,(x_i,y_i)\}_N

其中xiRmx_i \in \mathbb{R}^m

m=1m=1 情况下,均值和方差

X=1Ni=1NxiS=1Ni=1N(xix)\overline{X} = \frac{1}{N} \sum_{i=1}^N x_i\\ S = \frac{1}{N} \sum_{i=1}^N (x_i - \overline{x})

m>1m > 1 情况下,均值和方差

X=1Ni=1NxiS=1Ni=1N(xix)(xix)T\overline{X} = \frac{1}{N} \sum_{i=1}^N x_i\\ S = \frac{1}{N} \sum_{i=1}^N (x_i - \overline{x})(x_i - \overline{x})^T

接下来用矩阵形式表示期望和方差

期望

x=1Ni=1Nxix=1N(x1,x2,,xn)(1,1,,1)Tx=1NXT1N\overline{x} = \frac{1}{N} \sum_{i=1}^N x_i\\ \overline{x} = \frac{1}{N}(x_1,x_2,\cdots,x_n)(1,1,\cdots,1)^T\\ \overline{x} = \frac{1}{N}X^T1_N

我们在之前线性问题,我们已经用 X 矩阵表示 N 个样本组成的矩阵,X 矩阵每一行为一个样本所以 X 为 n×mn\times m m 为样本的列,X=(x1,x2,,xn)TX = (x_1,x_2,\cdots,x_n)^T 所以可以将 XT=(x1,x2,,xn)X^T = (x_1,x_2,\cdots,x_n) 这里均值为 m×nm\times nn×1n \times 1 ,所以 x\overline{x}m×1m \times 1 的向量

方差

S=1Ni=1N(xix)(xix)TS=(x1x,x2x,,xNx)x(1,1,,1)1NXT(IN1N1N1NT)(IN1N1N1NT)TXS = \frac{1}{N} \sum_{i=1}^N (x_i - \overline{x})(x_i - \overline{x})^T\\ S = (x_1 - \overline{x},x_2 - \overline{x},\cdots,x_N - \overline{x}) - \overline{x}(1,1,\cdots,1)\\ \frac{1}{N}X^T(I_N - \frac{1}{N} 1_N1_N^T)(I_N - \frac{1}{N} 1_N1_N^T)^TX
H=(IN1N1N1NT)H = (I_N - \frac{1}{N}1_N1_N^T)

那么 H 就有以下性质

H=HTH=H2H = H^T H = H^2

最后用矩阵形式来表示均值和方差

x=1NXT1NS=1NXTHX\overline{x} = \frac{1}{N}X^T1_N\\ S = \frac{1}{N}X^THX

数据投影

(xix)u1(x_i - \overline{x})u_1\\
L=i=1N((xix)Tu1)2s.t.u1Tu1=1L = \sum_{i=1}^N ((x_i - \overline{x})^Tu_1)^2\\ s.t. u_1^Tu_1 = 1
i=1Nu1T(xix)(xix)u1u1T(i=1N(xix)(xix))u1u1TSu1\sum_{i=1}^N u_1^T(x_i - \overline{x})(x_i - \overline{x})u_1\\ u_1^T (\sum_{i=1}^N (x_i - \overline{x})(x_i - \overline{x})) u_1\\ u_1^T S u_1
u1^=arg maxu1TSu1u1Tu1=1\hat{u_1} = \argmax u_1^T S u_1\\ u_1^T u_1 = 1
L(u,λ)=u1TSu1+λ(1u1Tu1)L(u,\lambda) = u_1^T S u_1 + \lambda(1-u_1^Tu_1)\\
Su1=λu1Su_1 = \lambda u_1