当前位置: 首页 > news >正文

机器学习 [白板推导](四)[降维]

5. 降维

5.1. 降维的意义

5.1.1. 过拟合问题

  通常模型通过训练集数据进行训练,若其测试集的效果明显低于训练集,这是一种不理想的效果,称为过拟合
  过拟合常采用三种方法应对:

  • 采集更多数据,提高模型泛化能力。
  • 正则化,抑制模型拟合能力。
  • 降维,提取数据中的有效信息。
    • 直接降维:特征选择
    • 线性降维:PCA
    • 非线性降维:流形

5.1.2. 维度灾难

  从几何角度,若一组数据的特征维度是2,假设两个特征的值都是有上界的,则其构成的样本空间近似一个正方(长)形,数据在这个样本空间中分布。
  现在要对这组数据进行分类任务,模型映射到样本空间中变成了一条分隔线,将两个类别的样本分隔到了线的两边。
  为了便于从几何角度直观理解维数灾难,我们假设现在的模型分割线是一个圆,则这个分类模型的示意图如下:
在这里插入图片描述
  将两个特征归一化,样本空间变为了一个边长为1的正方形,面积为1,模型变成了一个半径小于等于 1 2 \frac{1}{2} 21 的圆,其包含区域面积 π r 2 \pi r^2 πr2 占总空间比例小于等于 π 4 \frac{\pi}{4} 4π
  而当模型维度变高时,例如维度为3,此时归一化的样本空间变成了一个三维立方体,体积为1,模型变成了一个三维球面,其包含区域体积为 4 π 3 r 2 \frac{4\pi}{3}r^2 34πr2,占总空间比例小于等于 π 6 \frac{\pi}{6} 6π
  当维度继续升高时,模型表示的这个高维超球面包含区域所占总样本空间的超立方体比例将会越来越小,当维度非常大(趋于无穷)时,超球面所包含区域将接近0。
  分类边界是一个圆/球面,这是模型内部算法所决定的,而无论这个圆/球面的半径有多大,维度的升高都会导致分类边界仅仅只是样本空间的一个小点,这样的小点也必然无法有好的性能。
  现在将分类边界也泛化为任意几何体,模型越复杂,通常这个几何体越复杂,但当模型算法确定后,必然存在某个适宜维度使得该几何体可以在样本空间中很好地完成分类任务,而当维度远远大于该适宜维度时,模型都会不再适用

5.2. 预备统计知识

  现有数据
Data : X = ( x ⃗ 1 , x ⃗ 2 , ⋯ , x ⃗ n ) N × p T = ( x ⃗ 1 T x ⃗ 2 T ⋮ x ⃗ N T ) , (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=(x 1,x 2,,x n)N×pT= x 1Tx 2Tx NT ,(5.1)

其均值为 x ⃗ ˉ = 1 N ∑ i = 1 N x ⃗ i = 1 N X T ⋅ 1 N \bar{\vec{x}}=\frac{1}{N}\sum_{i=1}^N\vec{x}_i=\frac{1}{N}X^T\cdot 1_N x ˉ=N1i=1Nx i=N1XT1N,其中 1 N = ( 1 , 1 , ⋯ , 1 ) 1_N=(1,1,\cdots,1) 1N=(1,1,,1) 是一个全一列向量。样本方差为 S = 1 N ∑ i = 1 N ( x ⃗ i − x ⃗ ˉ ) ( x ⃗ i − x ⃗ ˉ ) T S=\frac{1}{N}\sum_{i=1}^N(\vec{x}_i-\bar{\vec{x}})(\vec{x}_i-\bar{\vec{x}})^T S=N1i=1N(x ix ˉ)(x ix ˉ)T,并经过如下推导:
S = 1 N ∑ i = 1 N ( x ⃗ i − x ⃗ ˉ ) ( x ⃗ i − x ⃗ ˉ ) T = 1 N ( x ⃗ 1 − x ⃗ ˉ , x ⃗ 2 − x ⃗ ˉ , ⋯ , x ⃗ N − x ⃗ ˉ ) ( x ⃗ 1 T − x ⃗ ˉ T x ⃗ 2 T − x ⃗ ˉ T ⋮ x ⃗ N T − x ⃗ ˉ T ) = 1 N ( X T − x ⃗ ˉ ⋅ 1 N T ) ( X T − x ⃗ ˉ ⋅ 1 N T ) T = 1 N ( X T − 1 N X T 1 N 1 N T ) ( X T − 1 N X T 1 N 1 N T ) T = 1 N X T ( I N − 1 N 1 N 1 N T ) ( I N − 1 N 1 N 1 N T ) T X , (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=1N(x ix ˉ)(x ix ˉ)T=N1(x 1x ˉ,x 2x ˉ,,x Nx ˉ) x 1Tx ˉTx 2Tx ˉTx NTx ˉT =N1(XTx ˉ1NT)(XTx ˉ1NT)T=N1(XTN1XT1N1NT)(XTN1XT1N1NT)T=N1XT(INN11N1NT)(INN11N1NT)TX,(5.2)

  令 H = I N − 1 N 1 N 1 N T H=I_N-\frac{1}{N}1_N1_N^T H=INN11N1NT,称为中心矩阵,则有 S = 1 N X T H H T X S=\frac{1}{N}X^THH^TX S=N1XTHHTX,易知 H T = H H^T=H HT=H,因此逆推可得
H T X = H X = ( I N − 1 N 1 N 1 N T ) X = X − 1 N x ⃗ ˉ T = ( x ⃗ 1 T − x ⃗ ˉ T x ⃗ 2 T − x ⃗ ˉ T ⋮ x ⃗ N T − 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=(INN11N1NT)X=X1Nx ˉT= x 1Tx ˉTx 2Tx ˉTx NTx ˉT ,(5.3)
因此对于任意数据 X X X H X HX HX 即为对其进行中心化(每个样本减去均值)
  因为 H 2 = I N − 2 N 1 N 1 N T + 1 N 2 1 N 1 N T 1 N 1 N T = I N − 2 N 1 N 1 N T + 1 N 1 N 1 N T = H H^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=H H2=INN21N1NT+N211N1NT1N1NT=INN21N1NT+N11N1NT=H,因此可进一步化简 S = 1 N X T H X S=\frac{1}{N}X^THX S=N1XTHX

5.3. 主成分分析(Principal Component Analysis,PCA)

5.3.1. 核心思想

  • 一个中心:原始特征空间的重构(特征之间从相关到无关),即找到一组线性无关的基,可以将原始特征空间的信息尽可能保留地投影到新空间,新空间特征维数低于原空间,这些基被称为主成分
  • 两个基本点:
    • 最大投影方差
    • 最小重构距离

5.3.2. 从最大投影方差看PCA

  设一个投影方向 μ ⃗ 1 \vec{\mu}_1 μ 1 为(单位向量),则某个样本 x ⃗ i \vec{x}_i x i 在方向 μ ⃗ 1 \vec{\mu}_1 μ 1 的投影值为 x ⃗ i T μ ⃗ 1 \vec{x}_i^T\vec{\mu}_1 x iTμ 1 。因此可得,只需找到 q q q 个基 U p × q = ( μ ⃗ 1 , μ ⃗ 2 , ⋯ , μ ⃗ q ) U_{p\times q}=(\vec{\mu}_1, \vec{\mu}_2, \cdots, \vec{\mu}_q) Up×q=(μ 1,μ 2,,μ q)(相互线性无关, q < p q<p q<p),则将样本投影到新特征空间的坐标为 z ⃗ i T = x ⃗ i T U = x ⃗ i T ⋅ ( μ ⃗ 1 , μ ⃗ 2 , ⋯ , μ ⃗ q ) = ( x ⃗ i T μ ⃗ 1 , x ⃗ i T μ ⃗ 2 , ⋯ , x ⃗ i T μ ⃗ 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) z iT=x iTU=x iT(μ 1,μ 2,,μ q)=(x iTμ 1,x iTμ 2,,x iTμ q),因此特征变换可以记作 Z N × q = X N × p U p × q Z_{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}_1 h 1=Xμ 1,投影均值为 h ˉ 1 = 1 N ∑ i = 1 N h 1 i = 1 N ∑ i = 1 N x ⃗ i T μ ⃗ 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}_1 hˉ1=N1i=1Nh1i=N1i=1Nx iTμ 1=x ˉTμ 1,投影方差为
S h ⃗ 1 = 1 N ∑ i = 1 N ( h 1 i − h ˉ 1 ) 2 = 1 N ∑ i = 1 N ( x ⃗ i T μ ⃗ 1 − x ⃗ ˉ T μ ⃗ 1 ) 2 = 1 N ∑ i = 1 N μ ⃗ 1 T ( x ⃗ i − x ⃗ ˉ ) ( x ⃗ i − x ⃗ ˉ ) T μ ⃗ 1 = μ ⃗ 1 T S μ ⃗ 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} Sh 1=N1i=1N(h1ihˉ1)2=N1i=1N(x iTμ 1x ˉTμ 1)2=N1i=1Nμ 1T(x ix ˉ)(x ix ˉ)Tμ 1=μ 1TSμ 1,(5.4)

  为了最大化投影方差,将寻找的问题定义为一个条件优化问题,即 μ ⃗ ^ 1 = arg max ⁡ μ ⃗ 1 ( μ ⃗ 1 T S μ ⃗ 1 ) \hat{\vec{\mu}}_1=\underset{\vec{\mu}_1}{\argmax}(\vec{\mu}_1^TS\vec{\mu}_1) μ ^1=μ 1argmax(μ 1TSμ 1) s.t.  μ ⃗ 1 T μ ⃗ 1 = 1 \text{s.t.}\ \vec{\mu}_1^T\vec{\mu}_1=1 s.t. μ 1Tμ 1=1,利用拉格朗日算子法得 L ( μ ⃗ 1 , λ ) = μ ⃗ 1 T S μ ⃗ 1 + λ ( 1 − μ ⃗ 1 T μ ⃗ 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 = 2 S μ ⃗ 1 − λ ⋅ 2 μ ⃗ 1 \frac{\partial \mathcal{L} }{\partial \vec{\mu}_1}=2S\vec{\mu}_1-\lambda\cdot 2\vec{\mu}_1 μ 1L=2Sμ 1λ2μ 1,令其为0可得 S μ ⃗ 1 = λ μ ⃗ 1 S\vec{\mu}_1=\lambda\vec{\mu}_1 Sμ 1=λμ 1,因此 μ ⃗ 1 \vec{\mu}_1 μ 1 是原样本方差 S S S 的特征向量时,投影方差可以被最大化
  因此可以求出投影方差 S h ⃗ 1 = μ ⃗ 1 T S μ ⃗ 1 = λ 1 μ ⃗ 1 T μ ⃗ 1 = λ 1 S_{\vec{h}_1}=\vec{\mu}_1^TS\vec{\mu}_1=\lambda_1\vec{\mu}_1^T\vec{\mu}_1=\lambda_1 Sh 1=μ 1TSμ 1=λ1μ 1Tμ 1=λ1,也就是 μ ⃗ 1 \vec{\mu}_1 μ 1 对应的特征值即为投影方差,因此PCA就是对原样本方差矩阵 S S S 求特征值和特征向量,由于实对称矩阵必可相似对角化,所以必然可以找到 p p p 个线性无关的特征向量,将其按照特征值大小排序,取前 q q q 个特征值最大的特征向量作为投影方向,每个样本通过这 q q q 个投影方向算得新的坐标值即为新的特征,构成了新的维特征空间,实现了降维。

5.3.3. 从最小重构距离看PCA

  先从最小化投影距离出发:从几何角度,设某个样本 x ⃗ i \vec{x}_i x i 和投影方向 μ ⃗ 1 \vec{\mu}_1 μ 1 之间的夹角为 θ \theta θ,则投影值为 x ⃗ i T ⋅ μ ⃗ 1 = ∥ x ⃗ i ∥ ⋅ cos ⁡ θ \vec{x}_i^T\cdot \vec{\mu}_1=\left \| \vec{x}_i \right \|\cdot \cos \theta x iTμ 1=x icosθ,投影距离为 ∥ x ⃗ i ∥ ⋅ sin ⁡ θ = ∥ x ⃗ i ∥ 2 − ( x ⃗ i T ⋅ μ ⃗ 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} x isinθ=x i2(x iTμ 1)2 ,因为不同投影方向的坐标值大小不同,因此为了将不同投影方向的情况进行公平对比,可以进行零均值化,此时投影距离的平方为 ( x ⃗ i − x ⃗ ˉ ) T ( x ⃗ i − x ⃗ ˉ ) − μ ⃗ 1 T ( 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 (x ix ˉ)T(x ix ˉ)μ 1T(x ix ˉ)(x ix ˉ)Tμ 1,而优化目标为
μ ⃗ ^ 1 = arg min ⁡ μ ⃗ 1 ∑ i = 1 N [ ( x ⃗ i − x ⃗ ˉ ) T ( x ⃗ i − x ⃗ ˉ ) − μ ⃗ 1 T ( x ⃗ i − x ⃗ ˉ ) ( x ⃗ i − x ⃗ ˉ ) T μ ⃗ 1 ] = arg min ⁡ μ ⃗ 1 ( − μ ⃗ 1 T S μ ⃗ 1 ) = arg max ⁡ μ ⃗ 1 ( μ ⃗ 1 T S μ ⃗ 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=1N[(x ix ˉ)T(x ix ˉ)μ 1T(x ix ˉ)(x ix ˉ)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 ) ) = ( h 1 , h 2 ) ( v ⃗ 1 v ⃗ 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)(v 1v 2),但在另一个向量空间中由不同的基向量会得到不同的坐标表示,例如 x ⃗ = ( 1 , 2 ) = ( h 1 ′ , h 2 ′ ) ( v ⃗ 1 ′ v ⃗ 2 ′ ) = ( 2 , 1 ) ( ( 1 2 , 1 2 ) ( 0 , 1 ) ) = 2 ⋅ ( 1 2 , 1 2 ) + 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)(v 1v 2)=(2 ,1)((2 1,2 1)(0,1))=2 (2 1,2 1)+1(0,1),因此在上文的投影中,通过找到 q q q 个投影方向可以将样本 x ⃗ i \vec{x}_i x i 投影到新的 q q q 维向量空间,坐标为 z ⃗ i T = ( x ⃗ i T μ ⃗ 1 , x ⃗ i T μ ⃗ 2 , ⋯ , x ⃗ i T μ ⃗ 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) z iT=(x iTμ 1,x iTμ 2,,x iTμ q),因此可以用新空间的坐标和基向量将 x ⃗ i \vec{x}_i x i 表示为 x ⃗ ^ i = U z ⃗ i \hat{\vec{x}}_i=U\vec{z}_i x ^i=Uz i,当 q < p q<p q<p 即降维时,基向量信息不完整,即 x ⃗ ^ i ≠ x ⃗ i \hat{\vec{x}}_i\neq \vec{x}_i x ^i=x i,无法完全重构,当 q = p q=p q=p 时可以完全重构;(其实上文中 z ⃗ i T = x ⃗ i T U ⇒ z ⃗ i = U T x ⃗ i \vec{z}_i^T=\vec{x}_i^TU\Rightarrow \vec{z}_i=U^T\vec{x}_i z iT=x iTUz i=UTx i,其中 U U U 由实对称矩阵 S S S 的单位特征向量组成,所以当 p = q p=q p=q 时有 U − 1 = U T U^{-1}=U^T U1=UT,因此 z ⃗ i = U T x ⃗ i = U − 1 x ⃗ i ⇒ x ⃗ i = U z ⃗ i \vec{z}_i=U^T\vec{x}_i=U^{-1}\vec{x}_i\Rightarrow\vec{x}_i=U\vec{z}_i z i=UTx i=U1x ix i=Uz i 可推成立);
  因此也可以理解为,当 U U U 是按照特征值排序的前 q q q μ ⃗ i \vec{\mu}_i μ i 时,可以表示为 x ⃗ ^ i = U z ⃗ i = ∑ k = 1 q ( μ ⃗ k ⋅ z i k ) = ∑ k = 1 q [ μ ⃗ k ⋅ ( μ ⃗ k T x ⃗ i ) ] = ∑ k = 1 q ( μ ⃗ k μ ⃗ k T ) 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}_i x ^i=Uz i=k=1q(μ kzik)=k=1q[μ k(μ kTx i)]=k=1q(μ kμ kT)x i,同理 x ⃗ i = ∑ k = 1 p [ μ ⃗ k ⋅ ( μ ⃗ k T x ⃗ i ) ] \vec{x}_i=\sum_{k=1}^p\left [\vec{\mu}_k\cdot \left (\vec{\mu}_k^T\vec{x}_i \right )\right ] x i=k=1p[μ k(μ kTx i)] ( x ⃗ i − x ⃗ i ^ ) = ∑ k = q + 1 p [ μ ⃗ k ⋅ ( μ ⃗ k T x ⃗ 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 ] (x ix i^)=k=q+1p[μ k(μ kTx i)]
  因为降维任务会导致 x ⃗ ^ i ≠ x ⃗ i \hat{\vec{x}}_i\neq \vec{x}_i x ^i=x i,因此在给定 q q q 的情况下,PCA的优化目标也可以理解为最小化重构代价,即
U ^ p × q = a r g m i n U 1 N ∑ i = 1 N ∥ x ⃗ ^ i − x ⃗ i ∥ 2 = a r g m i n U 1 N ∑ i = 1 N ∥ ∑ k = q + 1 p [ μ ⃗ k ⋅ ( μ ⃗ k T x ⃗ i ) ] ∥ 2 = a r g m i n U 1 N ∑ i = 1 N [ ∑ k = q + 1 p ( μ ⃗ k T x ⃗ i ) 2 ∥ μ ⃗ k ⋅ ∥ 2 ] = a r g m i n U 1 N ∑ i = 1 N [ ∑ k = q + 1 p ( μ ⃗ k T x ⃗ 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=1N x ^ix i 2=UargminN1i=1N k=q+1p[μ k(μ kTx i)] 2=UargminN1i=1N k=q+1p(μ kTx i)2μ k2 =UargminN1i=1N k=q+1p(μ kTx i)2

  因为不同投影方向的坐标值大小不同,因此为了将不同投影方向的情况进行公平对比,可以进行零均值化,即 U ^ p × q = arg min ⁡ U 1 N ∑ i = 1 N [ ∑ k = q + 1 p [ μ ⃗ k T ( x ⃗ i − x ⃗ ˉ i ) ( x ⃗ i − x ⃗ ˉ i ) T μ ⃗ k ] ] = arg min ⁡ U ∑ k = q + 1 p [ μ ⃗ k T S μ ⃗ 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=UargminN1i=1N[k=q+1p[μ kT(x ix ˉi)(x ix ˉi)Tμ k]]=Uargmink=q+1p[μ kTSμ k]
  因此从最大化投影方差角度,PCA是在选择 q q q 个特征值最大的特征向量,从最小化重构距离的角度,PCA是在选择 p − q p-q pq 个特征值最小的特征向量,将其舍弃,两个问题的等价的

5.3.4. 从SVD角度看PCA

  从5.2.中可知, S = 1 N X T H H T X S=\frac{1}{N}X^THH^TX S=N1XTHHTX,若将 H T X H^TX HTX 作奇异值分解,即 H T X = V Σ U T H^TX=V\Sigma U^T HTX=VΣUT,则 S = 1 N U Σ T V T V Σ U T = U ( 1 N Σ T Σ ) U T S=\frac{1}{N}U\Sigma^T V^TV\Sigma U^T=U(\frac{1}{N}\Sigma^T\Sigma) U^T S=N1UΣTVTVΣUT=U(N1ΣTΣ)UT,因此对 S S S 进行特征值分解可以得到投影方向, U U U 也可以是 U T X U^TX UTX 进行奇异值分解得到的结果,而由奇异值分解的性质(1.2.3.节)可知,最大的一小部分奇异值之和就占了所有奇异值之和的99%,因此取前几个奇异值最大的投影方向可以最大程度保留原数据的信息,也就是 x ⃗ ^ i ≈ x ⃗ i \hat{\vec{x}}_i\approx \vec{x}_i x ^ix i
  又由奇异值分解的第一个性质(1.2.3.节)可得, H T X U = V Σ = ( σ 1 ⋅ v ⃗ 1 , σ 2 ⋅ v ⃗ 2 , ⋯ , σ p ⋅ v ⃗ p ) N × p H^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Σ=(σ1v 1,σ2v 2,,σpv p)N×p,其中 σ i v ⃗ i = H T X u ⃗ i \sigma_i\vec{v}_i=H^TX\vec{u}_i σiv i=HTXu i 即为所有样本从原始特征空间经方向 u ⃗ i \vec{u}_i u i 投影的坐标值(等同于 z ⃗ i T = x ⃗ i T U = x ⃗ i T ⋅ ( μ ⃗ 1 , μ ⃗ 2 , ⋯ , μ ⃗ q ) = ( x ⃗ i T μ ⃗ 1 , x ⃗ i T μ ⃗ 2 , ⋯ , x ⃗ i T μ ⃗ 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) z iT=x iTU=x iT(μ 1,μ 2,,μ q)=(x iTμ 1,x iTμ 2,,x iTμ q),左乘中心矩阵 H T H^T HT 便得到相同结果),所以奇异值分解的矩阵 V V V 其实是坐标矩阵,因此可以再令 T = 1 N H T X X T H = 1 N V Σ U T U Σ T V T = V ( 1 N Σ Σ T ) V T T=\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^T T=N1HTXXTH=N1VΣUTUΣTVT=V(N1ΣΣT)VT,经过特征值分解可以得到坐标矩阵 V V V,这个过程被称为主坐标分析(Principal Coordinate Analysis,PCoA)

相关文章:

  • 计数排序_桶排序
  • hot100 -- 10.回溯系列
  • 电流舵DAC设计(二)
  • Vue-Leaflet地图组件开发(三)地图控件与高级样式设计
  • Python学习——排序
  • Java严格模式withResolverStyle解析日期错误及解决方案
  • AI架构师修炼之道
  • 深入解析Java21核心新特性(虚拟线程,分代 ZGC,记录模式模式匹配增强)
  • 指针的使用——字符、字符串、字符串数组(char*)
  • Cesium快速入门到精通系列教程八:时间系统
  • Razor编程RenderXXX相关方法大全
  • ChatterBox - 轻巧快速的语音克隆与文本转语音模型,支持情感控制 支持50系显卡 一键整合包下载
  • Cilium动手实验室: 精通之旅---13.Cilium LoadBalancer IPAM and L2 Service Announcement
  • 异步跟栈 webpack
  • 【Elasticsearch】映射:fielddata 详解
  • Linux云原生架构:从内核到分布式系统的进化之路
  • 深入解析 Qwen3-Embedding 的模型融合技术:球面线性插值(Slerp)的应用
  • 信息收集:从图像元数据(隐藏信息收集)到用户身份的揭秘 --- 7000
  • 第1课、LangChain 介绍
  • 风控系统中常用的概念和架构学习
  • 湖北工程建设信息网站/最新消息
  • 网站建设结课总结/扬州百度关键词优化
  • 怎么做色情充值网站/b站推广在哪里
  • 计算机网站建设/seo在线优化工具
  • 太原医疗网站建设/软文的概念是什么
  • 邢台集团网站建设/八百客crm登录入口