基本思想

降维是机器学习中很常见的一种思维方式,一般来说,可以通过线性投影和非线性映射进行。

PCA是一种简单的线性映射,当考虑降维时,我们一般有两种思路:

  • 找到d-维仿射变换子空间,在合适的投影下,新的投影点与原先的投影点就接近。也就是说,在新投影下能最大限度的保持原数据的特征。
  • 找到d-位投影,尽可能多的保留数据的变动(方差)。

我们将会从这两个思路分别进行求解,可以看到,这两个目标实际上等价。

定义

首先定义一些常用的量

样本均值

μn=1nn=1nxi\mu_n = \frac{1}{n}\sum\limits_{n = 1}^{n}x_i

样本协方差

n=1n1i=1n(xiμi)(xiμi)T\sum_n = \frac{1}{n-1}\sum\limits_{i=1}^{n}(x_i - \mu_i)(x_i - \mu_i)^T

其中xix_i 为数据样本(列向量),因此可以得到X=(x1,...,xn)X = (x_1,...,x_n)p×np\times n矩阵,因此,写成矩阵的形式为

n=1n1(Xμn1)(Xμ1)T\sum_n = \frac{1}{n-1}(X - \mu_n1)(X - \mu1)^T

直观理解

首先,让我们用不是很严格的数学公式来直观理解PCA。

我们很常见的思想是使得协方差矩阵的方差尽可能大(保留更多有效信息),而让协方差尽可能的小(防止数据冗余),在协方差矩阵中则表现为对角矩阵DD

我们令经过d-维基VV变换后的新坐标为yy,因此可得:

D=yyT=Vx(Vx)T=VxxTVT=VnVT \begin{aligned} D &=y y^{T} \\ &=V x(V x)^{T} \\ &=V x x^{T} V^{T} \\ &=V \sum_{n} V^{T} \end{aligned}

这个式子有着特殊的含义。其中,DD是新的协方差矩阵(对角矩阵),而n\sum_n则是原始数据的协方差矩阵,VV则是d-维正交基。

因此,这个式子可以理解为:对协方差矩阵n\sum_n,找一个VV,使得其转变为对角矩阵。而协方差矩阵是实对称矩阵,一定能够对角化,证明了这一点的完备性。

因此,我们只需要对协方差矩阵进行对角化,然后求出其对应的特征向量,即为新坐标下的正交基VV。对y=Vxy = Vx进行坐标变换则求到了新坐标下的PCA坐标。

PCA是最佳的仿射变换拟合

我们要对每个近似xix_i近似(由仿射变换的定义):

xiμ+j=1dβijvjx_i \approx \mu + \sum\limits_{j= 1}^{d} \beta_i^jv_j

其中,Vp×d=(v1,..,vd)V_{p\times d} = (v_1,..,v_d)为d-维子空间中的标准正交基,μRp\mu \in R^p是平移量,βj\beta_j为在基vjv_j下的系数,βji\beta_j^iβj\beta_j的第ii个分量那么上式可以写成:

xi=μ+Vβix_i = \mu + V\beta_i

由于其中的VV由标准正交基组成,因此VTV=1V^TV = 1.

用平方误差来衡量拟合效果,即要求出:

minμ,V,βi.VTV=1i=1nxi(μ+Vβi)2\min\limits_{\mu,V,\beta_i.V^TV=1} \sum\limits_{i=1}^n||x_i - (\mu + V\beta_i)||^2

μ\mu的最优值

首先对μ\mu求偏导,可以得到:

i=1n(xi(μ+Vβi))=0(i=1nxi)nμV(i=1nβi)=0\sum_{i=1}^n(x_i - (\mu + V\beta_i)) = 0 \Rightarrow (\sum_{i=1}^n x_i) - n\mu - V(\sum_{i=1}^n \beta_i) = 0

由于μ\muβ\beta之间没有关系,不失一般性我们可以假设βi=0\sum \beta_i = 0,因此可以解出:

μ=1ni=1nxi=μn\mu^* = \frac{1}{n}\sum_{i=1}^{n}x_i = \mu_n

因此,μ\mu的最优值就是样本均值μ\mu^*

这样,我们可以将原始式子化简为:

minμ,V,βi.VTV=1i=1nxi(μn+Vβi)2\min\limits_{\mu,V,\beta_i.V^TV=1} \sum\limits_{i=1}^n||x_i - (\mu_n + V\beta_i)||^2

βi\beta_i的最优值

注意到,βi\beta_i之间是无耦合的影响的最小值,因此,对于原始式子,可以分别解出βi\beta_i

minβixiμnVβi2=minβixiμnj=1dβijvj2\min\limits_{\beta_i}||x_i - \mu_n - V\beta_i||^2 = \min\limits_{\beta_i}||x_i - \mu_n - \sum\limits_{j=1}^d\beta_i^jv_j||^2

由于VV是标准正交基,对βi\beta_i求偏导:

βij=vjT(xiμn)βi=VT(xiμn)\beta_i^j = v_j^T(x_i - \mu_n)\Rightarrow \beta_i = V^T(x_i - \mu _n)

因此式子可以化简为:

minVTV=1i=1n(xiμn)VVT(xiμn)2\min\limits_{V^TV = 1} \sum\limits_{i= 1 } ^n ||(x_i - \mu_n) - VV^T(x_i - \mu_n)||^2

VV的最优值

x2=<x,x>||x||^2 = <x,x>VTV=1V^TV = 1,可以得到:

(xiμn)VVT(xiμn)2=[(xiμn)VVT(xiμn)]T[(xiμn)VVT(xiμn)]=(xiμn)T(xiμn)(xiμn)TVVT(xiμn)(xiμn)TVVT(xiμn)+(xiμn)TVV=2(xiμn)T(xiμn)2(xiμn)TVVT(xiμn) \begin{aligned} \left\|\left(x_{i}-\mu_{n}\right)-V V^{T}\left(x_{i}-\mu_{n}\right)\right\|^{2} &=\left[\left(x_{i}-\mu_{n}\right)-V V^{T}\left(x_{i}-\mu_{n}\right)\right]^{T}\left[\left(x_{i}-\mu_{n}\right)-V V^{T}\left(x_{i}-\mu_{n}\right)\right] \\ &=\left(x_{i}-\mu_{n}\right)^{T}\left(x_{i}-\mu_{n}\right)-\left(x_{i}-\mu_{n}\right)^{T} V V^{T}\left(x_{i}-\mu_{n}\right)-\left(x_{i}-\mu_{n}\right)^{T} V V^{T}\left(x_{i}-\mu_{n}\right)+\left(x_{i}-\mu_{n}\right)^{T} V V \\ &=2\left(x_{i}-\mu_{n}\right)^{T}\left(x_{i}-\mu_{n}\right)-2\left(x_{i}-\mu_{n}\right)^{T} V V^{T}\left(x_{i}-\mu_{n}\right) \end{aligned}

由于(xiμn)T(xiμn)(x_i - \mu_n)^T(x_i - \mu_n)VV无关,因此等价于求:

maxVTV=1i=1n(xiμn)TVVT(xiμn) \max _{V^{T} V=1} \sum_{i=1}^{n}\left(x_{i}-\mu_{n}\right)^{T} V V^{T}\left(x_{i}-\mu_{n}\right) 化简原式可得:

i=1n(xiμn)TVVT(xiμn)=i=1n[VT(xiμn)]T[VT(xiμn)] \sum_{i=1}^{n}\left(x_{i}-\mu_{n}\right)^{T} V V^{T}\left(x_{i}-\mu_{n}\right)=\sum_{i=1}^{n}\left[V^{T}\left(x_{i}-\mu_{n}\right)\right]^{T}\left[V^{T}\left(x_{i}-\mu_{n}\right)\right] 由矩阵的迹的性质可得:

yTy=Tr(yyT)y^Ty = Tr(yy^T)

因此,将原始化简的式子等价于求:

maxVTV=1i=1n(xiμn)TVVT(xiμn)=maxVTV=1(n1)Tr(VTnV)\max\limits _{V^TV=1}\sum\limits_{i=1}^n (x_i - \mu_n)^TVV^T(x_i - \mu_n) =\max\limits _{V^TV=1} (n-1)Tr(V^T\sum_nV)

即:

maxVTV=1Tr(VTnV)\max\limits _{V^TV=1} Tr(V^T\sum_nV)

即,我们最后要求的标准正交基为使得协方差矩阵的迹最大;这等价于求协方差矩阵的特征值,并按照从大到小排列。

PCA保留最大方差

我们的第二个目标是要保留数据最大变化的d-维投影。可以写出全方差为:

Total Variance(Xn)=1nxiμn2=1ni=1nxi1ni=1nxi2\text{Total Variance} (X_n) = \frac{1}{n} \sum\limits||x_i- \mu_n||^2 = \frac {1}{n} \sum\limits_{i=1}^n||x_i - \frac{1}{n}\sum\limits_{i=1}^n x_i||^2

因此,我们要向最大化投影以后的方差,即VTxiV^Tx_i的方差:

maxVTV=1i=1nVTxi1ni=1nVTxi2\max\limits _{V^TV=1}\sum\limits_{i=1}^n ||V^Tx_i - \frac{1}{n}\sum\limits_{i=1}^n V^Tx_i||^2

根据之前的结论:

i=1nVTxi1ni=1nVTxi2=i=1nVT(xiμn)2=(n1)Tr(VTnV)\sum\limits_{i=1}^n ||V^Tx_i - \frac{1}{n}\sum\limits_{i=1}^n V^Tx_i||^2 =\sum\limits_{i=1}^n ||V^T(x_i - \mu_n)||^2= (n-1)Tr(V^T\sum_nV)

表明主成分VV可以通过下式解决:

maxVTV=1Tr(VTnV)\max\limits_{V^TV = 1}Tr(V^T\sum_nV)

这样,两种不同的度量方法就等价求协方差矩阵的前dd个特征值。

参考资料

results matching ""

    No results matching ""