机器学习基础 PCA

动机

  • 许多类型的数据维度比较大,导致了计算时间复杂度高。
  • 许多高维数据常常聚集在一个低维空间中,例如三维平面的点位于同一个平面上。

我们希望找到数据的一些主方向,而主方向的数量是远远小于数据的维度的。使用这些主方向就可以近似地表示原始数据,从而能够达到降维的目的。这种分析方法被称为主成分分析方法(Principal components analysis)。

最小近似误差

假设我们找到一组在高维空间中的向量集{u1,u2,⋯ ,uM}\{u_1,u_2,\cdots,u_M\}{u1,u2,,uM},这些向量是单位正交的,即
ui⋅uj=uiTuj={0, i≠j1, i=j u_i\cdot u_j=u_i^Tu_j=\begin{cases} 0,\ i\ne j\\ 1,\ i=j \end{cases} uiuj=uiTuj={0, i=j1, i=j
若我们令
x~=a1u1+a2u2+⋯+aMuM \widetilde{x}=a_1u_1+a_2u_2+\cdots+a_Mu_M x=a1u1+a2u2++aMuM
且有
ai=uiTx a_i=u_i^Tx ai=uiTx
那么x~\widetilde{x}x就是xxx在空间span{u1,u2,⋯ ,uM}span\{u_1,u_2,\cdots,u_M\}span{u1,u2,,uM}上的投影。

我们希望的向量集{u1,u2,⋯ ,uM}\{u_1,u_2,\cdots,u_M\}{u1,u2,,uM}是表示的x~\widetilde{x}xxxx尽可能地接近,表示的误差如下所示。
E=1N∑n=1N∣∣(x(n)−xˉ)−x~(n)∣∣2 E=\frac{1}{N}\sum_{n=1}^N||(x^{(n)}-\bar{x})-\widetilde{x}^{(n)}||^2 E=N1n=1N(x(n)xˉ)x(n)2
x~\widetilde{x}x的系数由下面公式给出
ai=uiT(x(n)−xˉ) a_i=u_i^T(x^{(n)}-\bar x) ai=uiT(x(n)xˉ)
上式可化简为
E=1N∑n=1N∣∣x(n)−xˉ∣∣2−∑i=1MuiTSuiS=1N∑n=1N(x(n)−xˉ)(x(n)−xˉ)T E=\frac{1}{N}\sum_{n=1}^N||x^{(n)}-\bar x||^2-\sum_{i=1}^Mu_i^TSu_i\\ S=\frac{1}{N}\sum_{n=1}^N(x^{(n)}-\bar x)(x^{(n)}-\bar x)^T E=N1n=1Nx(n)xˉ2i=1MuiTSuiS=N1n=1N(x(n)xˉ)(x(n)xˉ)T
此时,最小化EEE等价于
max⁡u1,u2,⋯ ,uM∑i=1MuiTSuis.t.: uiTuj={0, i≠j1, i=j \max_{u_1,u_2,\cdots,u_M}\sum_{i=1}^Mu_i^TSu_i\\ s.t.:\ u_i^Tu_j=\begin{cases} 0,\ i\ne j\\ 1,\ i=j \end{cases} u1,u2,,uMmaxi=1MuiTSuis.t.: uiTuj={0, i=j1, i=j
可以证明,求解上面的优化问题等价于找SSS的最大的M个特征值对应的特征向量。

对于D×DD\times DD×D的矩阵SSS,由于S=XXTS=XX^TS=XXT,所以SSS必有DDD个特征值,并且可以分解为
S=UΛUT S=U\Lambda U^T S=UΛUT
其中,UUU包含SSS所有的特征向量,Λ\LambdaΛ是一个对角矩阵。

最大方差

从另外一种观点来看,我们希望找到一组向量集span{u1,u2,⋯ ,uM}span\{u_1,u_2,\cdots,u_M\}span{u1,u2,,uM},使得数据{x(n)}n=1N\{x^{(n)}\}_{n=1}^N{x(n)}n=1N在上面的方差最大,最大化方差意味着尽可能地保存原始数据的信息。

对于第1个方向u1u_1u1,方差为
var=1N∑n=1N(u1T(x(n)−xˉ))2=u1T1N∑n=1N(x(n)−xˉ)(x(n)−xˉ)Tu1=u1TSu1 \begin{aligned} var &=\frac{1}{N}\sum_{n=1}^N(u_1^T(x^{(n)}-\bar x))^2\\ &=u_1^T\frac{1}{N}\sum_{n=1}^N(x^{(n)}-\bar x)(x^{(n)}-\bar x)^Tu_1\\ &=u_1^TSu_1 \end{aligned} var=N1n=1N(u1T(x(n)xˉ))2=u1TN1n=1N(x(n)xˉ)(x(n)xˉ)Tu1=u1TSu1
优化的问题为
max⁡u1 vars.t.: u1Tu1=1 \max_{u_1}\ var\\ s.t.:\ u_1^Tu_1=1 u1max vars.t.: u1Tu1=1
此时,u1u_1u1SSS最大的特征值对应的特征向量。

对第2个方向,优化的问题为
max⁡u2 var=u2TSu2s.t.: u2Tu2=1, u1Tu2=0 \max_{u_2}\ var=u_2^TSu_2\\ s.t.:\ u_2^Tu_2=1,\ u_1^Tu_2=0 u2max var=u2TSu2s.t.: u2Tu2=1, u1Tu2=0
此时,u2u_2u2SSS第2大的特征值对应的特征向量。

可以发现,最大方差的观点和最小近似误差的观点得到的结果是相同的,即主方向为协方差矩阵SSS中特征值最大的那些特征向量。

SVD分解

对于一个M×NM\times NM×N的矩阵AAA,它总可以被分解为
A=UΣVT A=U\Sigma V^T A=UΣVT
其中,UUU是矩阵AATAA^TAAT的特征向量组成的,VVVATAA^TAATA的特征向量组成的,Σ\SigmaΣ中只有对角线上的元素非0,这些非0元素也被称为奇异值。


X~=[x(1)−xˉ x(2)−xˉ ⋯ x(N)−xˉ] \widetilde{X}=[x^{(1)}-\bar x\ x^{(2)}-\bar x\ \cdots\ x^{(N)}-\bar x] X=[x(1)xˉ x(2)xˉ  x(N)xˉ]
此时有
X~X~T=N⋅S \widetilde{X}\widetilde{X}^T=N\cdot S XXT=NS
X~\widetilde{X}X做奇异值分解得到的UUU矩阵即为SSS的特征向量。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值