机器学习 [白板推导](四)[降维]
通常模型通过训练集数据进行训练,若其测试集的效果明显低于训练集,这是一种不理想的效果,称为过拟合。 过拟合常采用三种方法应对: 从几何角度,若一组数据的特征维度是2,假设两个特征的值都是有上界的,则其构成的样本空间近似一个正方(长)形,数据在这个样本空间中分布。 现在要对这组数据进行分类任务,模型映射到样本空间中变成了一条分隔线,将两个类别的样本分隔到了线的两边。 为了便于从几何角度
5. 降维
5.1. 降维的意义
5.1.1. 过拟合问题
通常模型通过训练集数据进行训练,若其测试集的效果明显低于训练集,这是一种不理想的效果,称为过拟合。
过拟合常采用三种方法应对:
- 采集更多数据,提高模型泛化能力。
- 正则化,抑制模型拟合能力。
- 降维,提取数据中的有效信息。
- 直接降维:特征选择
- 线性降维:PCA
- 非线性降维:流形
5.1.2. 维度灾难
从几何角度,若一组数据的特征维度是2,假设两个特征的值都是有上界的,则其构成的样本空间近似一个正方(长)形,数据在这个样本空间中分布。
现在要对这组数据进行分类任务,模型映射到样本空间中变成了一条分隔线,将两个类别的样本分隔到了线的两边。
为了便于从几何角度直观理解维数灾难,我们假设现在的模型分割线是一个圆,则这个分类模型的示意图如下:
将两个特征归一化,样本空间变为了一个边长为1的正方形,面积为1,模型变成了一个半径小于等于 12\frac{1}{2}21 的圆,其包含区域面积 πr2\pi r^2πr2 占总空间比例小于等于 π4\frac{\pi}{4}4π。
而当模型维度变高时,例如维度为3,此时归一化的样本空间变成了一个三维立方体,体积为1,模型变成了一个三维球面,其包含区域体积为 4π3r2\frac{4\pi}{3}r^234πr2,占总空间比例小于等于 π6\frac{\pi}{6}6π。
当维度继续升高时,模型表示的这个高维超球面包含区域所占总样本空间的超立方体比例将会越来越小,当维度非常大(趋于无穷)时,超球面所包含区域将接近0。
分类边界是一个圆/球面,这是模型内部算法所决定的,而无论这个圆/球面的半径有多大,维度的升高都会导致分类边界仅仅只是样本空间的一个小点,这样的小点也必然无法有好的性能。
现在将分类边界也泛化为任意几何体,模型越复杂,通常这个几何体越复杂,但当模型算法确定后,必然存在某个适宜维度使得该几何体可以在样本空间中很好地完成分类任务,而当维度远远大于该适宜维度时,模型都会不再适用。
5.2. 预备统计知识
现有数据
Data:X=(x⃗1,x⃗2,⋯ ,x⃗n)N×pT=(x⃗1Tx⃗2T⋮x⃗NT),(5.1)\begin{aligned} \text{Data}:X=(\vec{x}_1, \vec{x}_2, \cdots, \vec{x}_n)^T_{N\times p}=\begin{pmatrix} \vec{x}_1^T\\ \vec{x}_2^T\\ \vdots \\ \vec{x}_N^T \end{pmatrix},\tag{5.1} \end{aligned}Data:X=(x1,x2,⋯,xn)N×pT=
x1Tx2T⋮xNT
,(5.1)
其均值为 x⃗ˉ=1N∑i=1Nx⃗i=1NXT⋅1N\bar{\vec{x}}=\frac{1}{N}\sum_{i=1}^N\vec{x}_i=\frac{1}{N}X^T\cdot 1_Nxˉ=N1∑i=1Nxi=N1XT⋅1N,其中 1N=(1,1,⋯ ,1)1_N=(1,1,\cdots,1)1N=(1,1,⋯,1) 是一个全一列向量。样本方差为 S=1N∑i=1N(x⃗i−x⃗ˉ)(x⃗i−x⃗ˉ)TS=\frac{1}{N}\sum_{i=1}^N(\vec{x}_i-\bar{\vec{x}})(\vec{x}_i-\bar{\vec{x}})^TS=N1∑i=1N(xi−xˉ)(xi−xˉ)T,并经过如下推导:
S=1N∑i=1N(x⃗i−x⃗ˉ)(x⃗i−x⃗ˉ)T=1N(x⃗1−x⃗ˉ,x⃗2−x⃗ˉ,⋯ ,x⃗N−x⃗ˉ)(x⃗1T−x⃗ˉTx⃗2T−x⃗ˉT⋮x⃗NT−x⃗ˉT)=1N(XT−x⃗ˉ⋅1NT)(XT−x⃗ˉ⋅1NT)T=1N(XT−1NXT1N1NT)(XT−1NXT1N1NT)T=1NXT(IN−1N1N1NT)(IN−1N1N1NT)TX,(5.2)\begin{aligned} S&=\frac{1}{N}\sum_{i=1}^N(\vec{x}_i-\bar{\vec{x}})(\vec{x}_i-\bar{\vec{x}})^T\\ &=\frac{1}{N}(\vec{x}_1-\bar{\vec{x}}, \vec{x}_2-\bar{\vec{x}}, \cdots, \vec{x}_N-\bar{\vec{x}})\begin{pmatrix} \vec{x}_1^T-\bar{\vec{x}}^T\\ \vec{x}_2^T-\bar{\vec{x}}^T\\ \vdots\\ \vec{x}_N^T-\bar{\vec{x}}^T \end{pmatrix}\\ &=\frac{1}{N}\left (X^T-\bar{\vec{x}}\cdot1_N^T \right )\left (X^T-\bar{\vec{x}}\cdot1_N^T \right )^T\\ &=\frac{1}{N}\left ( X^T-\frac{1}{N}X^T1_N1_N^T \right )\left ( X^T-\frac{1}{N}X^T1_N1_N^T \right )^T\\ &=\frac{1}{N}X^T\left ( I_N-\frac{1}{N}1_N1_N^T \right )\left ( I_N-\frac{1}{N}1_N1_N^T \right )^TX,\tag{5.2} \end{aligned}S=N1i=1∑N(xi−xˉ)(xi−xˉ)T=N1(x1−xˉ,x2−xˉ,⋯,xN−xˉ)
x1T−xˉTx2T−xˉT⋮xNT−xˉT
=N1(XT−xˉ⋅1NT)(XT−xˉ⋅1NT)T=N1(XT−N1XT1N1NT)(XT−N1XT1N1NT)T=N1XT(IN−N11N1NT)(IN−N11N1NT)TX,(5.2)
令 H=IN−1N1N1NTH=I_N-\frac{1}{N}1_N1_N^TH=IN−N11N1NT,称为中心矩阵,则有 S=1NXTHHTXS=\frac{1}{N}X^THH^TXS=N1XTHHTX,易知 HT=HH^T=HHT=H,因此逆推可得
HTX=HX=(IN−1N1N1NT)X=X−1Nx⃗ˉT=(x⃗1T−x⃗ˉTx⃗2T−x⃗ˉT⋮x⃗NT−x⃗ˉT),(5.3)\begin{aligned} H^TX&=HX\\ &=(I_N-\frac{1}{N}1_N1_N^T)X\\ &=X-1_N\bar{\vec{x}}^T=\begin{pmatrix} \vec{x}_1^T-\bar{\vec{x}}^T\\ \vec{x}_2^T-\bar{\vec{x}}^T\\ \vdots \\ \vec{x}_N^T-\bar{\vec{x}}^T \end{pmatrix},\tag{5.3} \end{aligned}HTX=HX=(IN−N11N1NT)X=X−1NxˉT=
x1T−xˉTx2T−xˉT⋮xNT−xˉT
,(5.3)
因此对于任意数据 XXX,HXHXHX 即为对其进行中心化(每个样本减去均值)。
因为 H2=IN−2N1N1NT+1N21N1NT1N1NT=IN−2N1N1NT+1N1N1NT=HH^2=I_N-\frac{2}{N}1_N1_N^T+\frac{1}{N^2}1_N1_N^T1_N1_N^T=I_N-\frac{2}{N}1_N1_N^T+\frac{1}{N}1_N1_N^T=HH2=IN−N21N1NT+N211N1NT1N1NT=IN−N21N1NT+N11N1NT=H,因此可进一步化简 S=1NXTHXS=\frac{1}{N}X^THXS=N1XTHX;
5.3. 主成分分析(Principal Component Analysis,PCA)
5.3.1. 核心思想
- 一个中心:原始特征空间的重构(特征之间从相关到无关),即找到一组线性无关的基,可以将原始特征空间的信息尽可能保留地投影到新空间,新空间特征维数低于原空间,这些基被称为主成分。
- 两个基本点:
- 最大投影方差
- 最小重构距离
5.3.2. 从最大投影方差看PCA
设一个投影方向 μ⃗1\vec{\mu}_1μ1 为(单位向量),则某个样本 x⃗i\vec{x}_ixi 在方向 μ⃗1\vec{\mu}_1μ1 的投影值为 x⃗iTμ⃗1\vec{x}_i^T\vec{\mu}_1xiTμ1 。因此可得,只需找到 qqq 个基 Up×q=(μ⃗1,μ⃗2,⋯ ,μ⃗q)U_{p\times q}=(\vec{\mu}_1, \vec{\mu}_2, \cdots, \vec{\mu}_q)Up×q=(μ1,μ2,⋯,μq)(相互线性无关,q<pq<pq<p),则将样本投影到新特征空间的坐标为 z⃗iT=x⃗iTU=x⃗iT⋅(μ⃗1,μ⃗2,⋯ ,μ⃗q)=(x⃗iTμ⃗1,x⃗iTμ⃗2,⋯ ,x⃗iTμ⃗q)\vec{z}_i^T=\vec{x}_i^TU=\vec{x}_i^T\cdot (\vec{\mu}_1, \vec{\mu}_2, \cdots, \vec{\mu}_q)=(\vec{x}_i^T\vec{\mu}_1, \vec{x}_i^T\vec{\mu}_2, \cdots, \vec{x}_i^T\vec{\mu}_q)ziT=xiTU=xiT⋅(μ1,μ2,⋯,μq)=(xiTμ1,xiTμ2,⋯,xiTμq),因此特征变换可以记作 ZN×q=XN×pUp×qZ_{N\times q}=X_{N\times p}U_{p\times q}ZN×q=XN×pUp×q,通过这个线性映射即可完成降维。
单看一个投影方向 μ⃗1\vec{\mu}_1μ1,其投影结果为 h⃗1=Xμ⃗1\vec{h}_1=X\vec{\mu}_1h1=Xμ1,投影均值为 hˉ1=1N∑i=1Nh1i=1N∑i=1Nx⃗iTμ⃗1=x⃗ˉTμ⃗1\bar{h}_1=\frac{1}{N}\sum_{i=1}^Nh_{1i}=\frac{1}{N}\sum_{i=1}^N\vec{x}_i^T\vec{\mu}_1=\bar{\vec{x}}^T\vec{\mu}_1hˉ1=N1∑i=1Nh1i=N1∑i=1NxiTμ1=xˉTμ1,投影方差为
Sh⃗1=1N∑i=1N(h1i−hˉ1)2=1N∑i=1N(x⃗iTμ⃗1−x⃗ˉTμ⃗1)2=1N∑i=1Nμ⃗1T(x⃗i−x⃗ˉ)(x⃗i−x⃗ˉ)Tμ⃗1=μ⃗1TSμ⃗1,(5.4)\begin{aligned} S_{\vec{h}_1}&=\frac{1}{N}\sum_{i=1}^N(h_{1i}-\bar{h}_1)^2\\ &=\frac{1}{N}\sum_{i=1}^N(\vec{x}_i^T\vec{\mu}_1-\bar{\vec{x}}^T\vec{\mu}_1)^2\\ &=\frac{1}{N}\sum_{i=1}^N\vec{\mu}_1^T(\vec{x}_i-\bar{\vec{x}})(\vec{x}_i-\bar{\vec{x}})^T\vec{\mu}_1\\ &=\vec{\mu}_1^TS\vec{\mu}_1,\tag{5.4} \end{aligned}Sh1=N1i=1∑N(h1i−hˉ1)2=N1i=1∑N(xiTμ1−xˉTμ1)2=N1i=1∑Nμ1T(xi−xˉ)(xi−xˉ)Tμ1=μ1TSμ1,(5.4)
为了最大化投影方差,将寻找的问题定义为一个条件优化问题,即 μ⃗^1=arg maxμ⃗1(μ⃗1TSμ⃗1)\hat{\vec{\mu}}_1=\underset{\vec{\mu}_1}{\argmax}(\vec{\mu}_1^TS\vec{\mu}_1)μ^1=μ1argmax(μ1TSμ1),s.t. μ⃗1Tμ⃗1=1\text{s.t.}\ \vec{\mu}_1^T\vec{\mu}_1=1s.t. μ1Tμ1=1,利用拉格朗日算子法得 L(μ⃗1,λ)=μ⃗1TSμ⃗1+λ(1−μ⃗1Tμ⃗1)\mathcal{L} (\vec{\mu}_1,\lambda)=\vec{\mu}_1^TS\vec{\mu}_1+\lambda(1-\vec{\mu}_1^T\vec{\mu} _1)L(μ1,λ)=μ1TSμ1+λ(1−μ1Tμ1),求导得 ∂L∂μ⃗1=2Sμ⃗1−λ⋅2μ⃗1\frac{\partial \mathcal{L} }{\partial \vec{\mu}_1}=2S\vec{\mu}_1-\lambda\cdot 2\vec{\mu}_1∂μ1∂L=2Sμ1−λ⋅2μ1,令其为0可得 Sμ⃗1=λμ⃗1S\vec{\mu}_1=\lambda\vec{\mu}_1Sμ1=λμ1,因此 μ⃗1\vec{\mu}_1μ1 是原样本方差 SSS 的特征向量时,投影方差可以被最大化。
因此可以求出投影方差 Sh⃗1=μ⃗1TSμ⃗1=λ1μ⃗1Tμ⃗1=λ1S_{\vec{h}_1}=\vec{\mu}_1^TS\vec{\mu}_1=\lambda_1\vec{\mu}_1^T\vec{\mu}_1=\lambda_1Sh1=μ1TSμ1=λ1μ1Tμ1=λ1,也就是 μ⃗1\vec{\mu}_1μ1 对应的特征值即为投影方差,因此PCA就是对原样本方差矩阵 SSS 求特征值和特征向量,由于实对称矩阵必可相似对角化,所以必然可以找到 ppp 个线性无关的特征向量,将其按照特征值大小排序,取前 qqq 个特征值最大的特征向量作为投影方向,每个样本通过这 qqq 个投影方向算得新的坐标值即为新的特征,构成了新的维特征空间,实现了降维。
5.3.3. 从最小重构距离看PCA
先从最小化投影距离出发:从几何角度,设某个样本 x⃗i\vec{x}_ixi 和投影方向 μ⃗1\vec{\mu}_1μ1 之间的夹角为 θ\thetaθ,则投影值为 x⃗iT⋅μ⃗1=∥x⃗i∥⋅cosθ\vec{x}_i^T\cdot \vec{\mu}_1=\left \| \vec{x}_i \right \|\cdot \cos \thetaxiT⋅μ1=∥xi∥⋅cosθ,投影距离为 ∥x⃗i∥⋅sinθ=∥x⃗i∥2−(x⃗iT⋅μ⃗1)2\left \| \vec{x}_i \right \|\cdot \sin \theta=\sqrt{\left \| \vec{x}_i \right \|^2-(\vec{x}_i^T\cdot \vec{\mu}_1)^2}∥xi∥⋅sinθ=∥xi∥2−(xiT⋅μ1)2,因为不同投影方向的坐标值大小不同,因此为了将不同投影方向的情况进行公平对比,可以进行零均值化,此时投影距离的平方为 (x⃗i−x⃗ˉ)T(x⃗i−x⃗ˉ)−μ⃗1T(x⃗i−x⃗ˉ)(x⃗i−x⃗ˉ)Tμ⃗1(\vec{x}_i-\bar{\vec{x}})^T (\vec{x}_i-\bar{\vec{x}})-\vec{\mu}_1^T (\vec{x}_i-\bar{\vec{x}}) (\vec{x}_i-\bar{\vec{x}})^T\vec{\mu}_1(xi−xˉ)T(xi−xˉ)−μ1T(xi−xˉ)(xi−xˉ)Tμ1,而优化目标为
μ⃗^1=arg minμ⃗1∑i=1N[(x⃗i−x⃗ˉ)T(x⃗i−x⃗ˉ)−μ⃗1T(x⃗i−x⃗ˉ)(x⃗i−x⃗ˉ)Tμ⃗1]=arg minμ⃗1(−μ⃗1TSμ⃗1)=arg maxμ⃗1(μ⃗1TSμ⃗1),s.t.μ⃗Tμ⃗=1(5.5)\begin{aligned} \hat{\vec{\mu}}_1&=\underset{\vec{\mu}_1}{\argmin}\sum_{i=1}^N\left [(\vec{x}_i-\bar{\vec{x}})^T (\vec{x}_i-\bar{\vec{x}})-\vec{\mu}_1^T (\vec{x}_i-\bar{\vec{x}}) (\vec{x}_i-\bar{\vec{x}})^T\vec{\mu}_1 \right ]\\ &=\underset{\vec{\mu}_1}{\argmin}(-\vec{\mu}_1^T S\vec{\mu}_1)=\underset{\vec{\mu}_1}{\argmax}(\vec{\mu}_1^T S\vec{\mu}_1) ,\\ &\text{s.t.}\vec{\mu}^T\vec{\mu}=1 \tag{5.5} \end{aligned}μ^1=μ1argmini=1∑N[(xi−xˉ)T(xi−xˉ)−μ1T(xi−xˉ)(xi−xˉ)Tμ1]=μ1argmin(−μ1TSμ1)=μ1argmax(μ1TSμ1),s.t.μTμ=1(5.5)
与最大投影方差方法完全一致;
从重构角度,一个向量视为该向量空间内基向量的线性组合,例如 x⃗=(1,2)=1⋅(1,0)+2⋅(0,1)=(1,2)((1,0)(0,1))=(h1,h2)(v⃗1v⃗2)\vec{x}=(1,2)=1\cdot(1,0)+2\cdot(0,1)=(1,2)\begin{pmatrix} (1,0)\\ (0,1) \end{pmatrix}= (h_1,h_2)\begin{pmatrix} \vec{v}_1\\ \vec{v}_2 \end{pmatrix}x=(1,2)=1⋅(1,0)+2⋅(0,1)=(1,2)((1,0)(0,1))=(h1,h2)(v1v2),但在另一个向量空间中由不同的基向量会得到不同的坐标表示,例如 x⃗=(1,2)=(h1′,h2′)(v⃗1′v⃗2′)=(2,1)((12,12)(0,1))=2⋅(12,12)+1⋅(0,1)\vec{x}=(1,2)= (h_1',h_2')\begin{pmatrix} \vec{v}_1'\\ \vec{v}_2' \end{pmatrix}= (\sqrt{2},1)\begin{pmatrix} (\frac{1}{\sqrt{2}}, \frac{1}{\sqrt{2}})\\ (0, 1) \end{pmatrix}=\sqrt{2}\cdot (\frac{1}{\sqrt{2}}, \frac{1}{\sqrt{2}})+1\cdot (0, 1)x=(1,2)=(h1′,h2′)(v1′v2′)=(2,1)((21,21)(0,1))=2⋅(21,21)+1⋅(0,1),因此在上文的投影中,通过找到 qqq 个投影方向可以将样本 x⃗i\vec{x}_ixi 投影到新的 qqq 维向量空间,坐标为 z⃗iT=(x⃗iTμ⃗1,x⃗iTμ⃗2,⋯ ,x⃗iTμ⃗q)\vec{z}_i^T=(\vec{x}_i^T\vec{\mu}_1, \vec{x}_i^T\vec{\mu}_2, \cdots, \vec{x}_i^T\vec{\mu}_q)ziT=(xiTμ1,xiTμ2,⋯,xiTμq),因此可以用新空间的坐标和基向量将 x⃗i\vec{x}_ixi 表示为 x⃗^i=Uz⃗i\hat{\vec{x}}_i=U\vec{z}_ix^i=Uzi,当 q<pq<pq<p 即降维时,基向量信息不完整,即 x⃗^i≠x⃗i\hat{\vec{x}}_i\neq \vec{x}_ix^i=xi,无法完全重构,当 q=pq=pq=p 时可以完全重构;(其实上文中 z⃗iT=x⃗iTU⇒z⃗i=UTx⃗i\vec{z}_i^T=\vec{x}_i^TU\Rightarrow \vec{z}_i=U^T\vec{x}_iziT=xiTU⇒zi=UTxi,其中 UUU 由实对称矩阵 SSS 的单位特征向量组成,所以当 p=qp=qp=q 时有 U−1=UTU^{-1}=U^TU−1=UT,因此 z⃗i=UTx⃗i=U−1x⃗i⇒x⃗i=Uz⃗i\vec{z}_i=U^T\vec{x}_i=U^{-1}\vec{x}_i\Rightarrow\vec{x}_i=U\vec{z}_izi=UTxi=U−1xi⇒xi=Uzi 可推成立);
因此也可以理解为,当 UUU 是按照特征值排序的前 qqq 个 μ⃗i\vec{\mu}_iμi 时,可以表示为 x⃗^i=Uz⃗i=∑k=1q(μ⃗k⋅zik)=∑k=1q[μ⃗k⋅(μ⃗kTx⃗i)]=∑k=1q(μ⃗kμ⃗kT)x⃗i\hat{\vec{x}}_i=U\vec{z}_i=\sum_{k=1}^q\left (\vec{\mu}_k\cdot z_{ik} \right )=\sum_{k=1}^q\left [\vec{\mu}_k\cdot \left (\vec{\mu}_k^T\vec{x}_i \right )\right ]=\sum_{k=1}^q\left (\vec{\mu}_k \vec{\mu}_k^T \right )\vec{x}_ix^i=Uzi=∑k=1q(μk⋅zik)=∑k=1q[μk⋅(μkTxi)]=∑k=1q(μkμkT)xi,同理 x⃗i=∑k=1p[μ⃗k⋅(μ⃗kTx⃗i)]\vec{x}_i=\sum_{k=1}^p\left [\vec{\mu}_k\cdot \left (\vec{\mu}_k^T\vec{x}_i \right )\right ]xi=∑k=1p[μk⋅(μkTxi)],(x⃗i−x⃗i^)=∑k=q+1p[μ⃗k⋅(μ⃗kTx⃗i)]\left (\vec{x}_i -\hat{\vec{x}_i} \right )=\sum_{k=q+1}^p\left [\vec{\mu}_k\cdot \left (\vec{\mu}_k^T\vec{x}_i \right )\right ](xi−xi^)=∑k=q+1p[μk⋅(μkTxi)];
因为降维任务会导致 x⃗^i≠x⃗i\hat{\vec{x}}_i\neq \vec{x}_ix^i=xi,因此在给定 qqq 的情况下,PCA的优化目标也可以理解为最小化重构代价,即
U^p×q=argminU1N∑i=1N∥x⃗^i−x⃗i∥2=argminU1N∑i=1N∥∑k=q+1p[μ⃗k⋅(μ⃗kTx⃗i)]∥2=argminU1N∑i=1N[∑k=q+1p(μ⃗kTx⃗i)2∥μ⃗k⋅∥2]=argminU1N∑i=1N[∑k=q+1p(μ⃗kTx⃗i)2]\begin{aligned} \hat{U}_{p\times q}&=\underset{U}{argmin}\frac{1}{N}\sum_{i=1}^N\left \| \hat{\vec{x}}_i - \vec{x}_i \right \|^2\\ &=\underset{U}{argmin}\frac{1}{N}\sum_{i=1}^N\left \| \sum_{k=q+1}^p\left [\vec{\mu}_k\cdot \left (\vec{\mu}_k^T\vec{x}_i \right )\right ] \right \|^2\\ &=\underset{U}{argmin}\frac{1}{N}\sum_{i=1}^N\left [\sum_{k=q+1}^p\left (\vec{\mu}_k^T\vec{x}_i \right )^2\left \| \vec{\mu}_k\cdot \right \|^2 \right ]\\ &=\underset{U}{argmin}\frac{1}{N}\sum_{i=1}^N\left [\sum_{k=q+1}^p\left (\vec{\mu}_k^T\vec{x}_i \right )^2 \right ] \end{aligned}U^p×q=UargminN1i=1∑N
x^i−xi
2=UargminN1i=1∑N
k=q+1∑p[μk⋅(μkTxi)]
2=UargminN1i=1∑N
k=q+1∑p(μkTxi)2∥μk⋅∥2
=UargminN1i=1∑N
k=q+1∑p(μkTxi)2
因为不同投影方向的坐标值大小不同,因此为了将不同投影方向的情况进行公平对比,可以进行零均值化,即U^p×q=arg minU1N∑i=1N[∑k=q+1p[μ⃗kT(x⃗i−x⃗ˉi)(x⃗i−x⃗ˉi)Tμ⃗k]]=arg minU∑k=q+1p[μ⃗kTSμ⃗k]\hat{U}_{p\times q}=\underset{U}{\argmin}\frac{1}{N}\sum_{i=1}^N\left [\sum_{k=q+1}^p\left [\vec{\mu}_k^T(\vec{x}_i-\bar{\vec{x}}_i)(\vec{x}_i-\bar{\vec{x}}_i)^T\vec{\mu}_k \right ] \right ]=\underset{U}{\argmin}\sum_{k=q+1}^p\left [\vec{\mu}_k^TS\vec{\mu}_k \right ]U^p×q=UargminN1∑i=1N[∑k=q+1p[μkT(xi−xˉi)(xi−xˉi)Tμk]]=Uargmin∑k=q+1p[μkTSμk]
因此从最大化投影方差角度,PCA是在选择 qqq 个特征值最大的特征向量,从最小化重构距离的角度,PCA是在选择 p−qp-qp−q 个特征值最小的特征向量,将其舍弃,两个问题的等价的;
5.3.4. 从SVD角度看PCA
从5.2.中可知,S=1NXTHHTXS=\frac{1}{N}X^THH^TXS=N1XTHHTX,若将 HTXH^TXHTX 作奇异值分解,即 HTX=VΣUTH^TX=V\Sigma U^THTX=VΣUT,则 S=1NUΣTVTVΣUT=U(1NΣTΣ)UTS=\frac{1}{N}U\Sigma^T V^TV\Sigma U^T=U(\frac{1}{N}\Sigma^T\Sigma) U^TS=N1UΣTVTVΣUT=U(N1ΣTΣ)UT,因此对 SSS 进行特征值分解可以得到投影方向,UUU 也可以是 UTXU^TXUTX 进行奇异值分解得到的结果,而由奇异值分解的性质(1.2.3.节)可知,最大的一小部分奇异值之和就占了所有奇异值之和的99%,因此取前几个奇异值最大的投影方向可以最大程度保留原数据的信息,也就是 x⃗^i≈x⃗i\hat{\vec{x}}_i\approx \vec{x}_ix^i≈xi;
又由奇异值分解的第一个性质(1.2.3.节)可得,HTXU=VΣ=(σ1⋅v⃗1,σ2⋅v⃗2,⋯ ,σp⋅v⃗p)N×pH^TXU=V\Sigma=(\sigma_1\cdot\vec{v}_1, \sigma_2\cdot\vec{v}_2,\cdots,\sigma_p\cdot\vec{v}_p)_{N\times p}HTXU=VΣ=(σ1⋅v1,σ2⋅v2,⋯,σp⋅vp)N×p,其中 σiv⃗i=HTXu⃗i\sigma_i\vec{v}_i=H^TX\vec{u}_iσivi=HTXui 即为所有样本从原始特征空间经方向 u⃗i\vec{u}_iui 投影的坐标值(等同于 z⃗iT=x⃗iTU=x⃗iT⋅(μ⃗1,μ⃗2,⋯ ,μ⃗q)=(x⃗iTμ⃗1,x⃗iTμ⃗2,⋯ ,x⃗iTμ⃗q)\vec{z}_i^T=\vec{x}_i^TU=\vec{x}_i^T\cdot (\vec{\mu}_1, \vec{\mu}_2, \cdots, \vec{\mu}_q)=(\vec{x}_i^T\vec{\mu}_1, \vec{x}_i^T\vec{\mu}_2, \cdots, \vec{x}_i^T\vec{\mu}_q)ziT=xiTU=xiT⋅(μ1,μ2,⋯,μq)=(xiTμ1,xiTμ2,⋯,xiTμq),左乘中心矩阵 HTH^THT 便得到相同结果),所以奇异值分解的矩阵 VVV 其实是坐标矩阵,因此可以再令 T=1NHTXXTH=1NVΣUTUΣTVT=V(1NΣΣT)VTT=\frac{1}{N}H^TXX^TH=\frac{1}{N}V\Sigma U^TU\Sigma^T V^T=V\left (\frac{1}{N}\Sigma \Sigma^T \right ) V^TT=N1HTXXTH=N1VΣUTUΣTVT=V(N1ΣΣT)VT,经过特征值分解可以得到坐标矩阵 VVV,这个过程被称为主坐标分析(Principal Coordinate Analysis,PCoA);
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)