降维方法小结

降维方法用于降低数据维度,用更少的变量来表达高维的信息,让原始的数据更易于分类

  1. PCA
  2. LDA
  3. SVD1

2. 具体算法

2.1 PCA

最小投影距离

2.3 SVD(Singular Value Decomposition),奇异值分解。

奇异值分解可以看成是实的非对称阵分解的推广,实的非对称阵分解则可看成实对称阵分解的推广。先来看看是对称阵分解。

  1. 如果 A A A n n n实对称阵,则存在正交阵 Q Q Q(正交阵性质: Q Q T = E QQ^{T} = E QQT=E),使得
    Q T A Q = d i a g ( λ 1 , λ 2 , . . . , λ n ) ( 1 ) Q^{T}AQ = diag( \lambda_{1}, \lambda_{2},..., \lambda_{n}) \text(1) QTAQ=diag(λ1,λ2,...,λn)(1) λ i \lambda_{i} λi A A A的特征值.

  2. 如果 A A A n n n实的非对称阵,则存在正交阵 P , Q P, Q P,Q,使得
    P T A Q = d i a g ( α 1 , α 2 , . . . , α n ) ( 2 ) P^{T}AQ = diag( \alpha_{1}, \alpha_{2},..., \alpha_{n}) \text(2) PTAQ=diag(α1,α2,...,αn)(2) α i \alpha_{i} αi A A A的特征值, α i > 0 \alpha_{i}>0 αi>0.
    证: A A A是非奇异的, A T A A^{T}A ATA实对称阵正定矩阵,则存在正交阵 Q Q Q,使得
    Q T A T A Q = d i a g ( λ 1 , λ 2 , . . . , λ n ) ( 3 ) Q^{T}A^{T}AQ = diag( \lambda_{1}, \lambda_{2},..., \lambda_{n}) \text(3) QTATAQ=diag(λ1,λ2,...,λn)(3) λ i \lambda_{i} λi A A A的特征值, α i > 0 \alpha_{i}>0 αi>0.
    α i = λ i \alpha_{i} =\sqrt \lambda_{i} αi=λ i, ∧ = d i a g ( α 1 , α 2 , . . . , α n ) \wedge = diag( \alpha_{1}, \alpha_{2},..., \alpha_{n}) =diag(α1,α2,...,αn),带入 ( 3 ) (3) (3)式则有
    Q T A T A Q = ∧ 2 ( 4 ) Q^{T}A^{T}AQ = \wedge^{2} \text(4) QTATAQ=2(4)
    等式两边左乘 ∧ − 1 \wedge^{-1} 1, ∧ − 1 Q T A T A Q = ∧ \wedge^{-1}Q^{T}A^{T}AQ = \wedge 1QTATAQ=,变换后得到:
    ( A Q ∧ − 1 ) T A Q = ∧ ( 5 ) (AQ\wedge^{-1})^{T}AQ = \wedge(5) (AQ1)TAQ=(5)
    P = A Q ∧ − 1 P = AQ\wedge^{-1} P=AQ1,则有 P T P = ( A Q ∧ − 1 ) T A Q ∧ − 1 = ( ( A Q ∧ − 1 ) T A Q ) × ∧ − 1 = E P^{T}P = (AQ\wedge^{-1})^{T}AQ\wedge^{-1}=( (AQ\wedge^{-1})^{T}AQ)\times\wedge^{-1}=E PTP=(AQ1)TAQ1=((AQ1)TAQ)×1=E。所以, P P P是正交阵,且使 P T A Q = ∧ = d i a g ( α 1 , α 2 , . . . , α n ) P^{T}AQ =\wedge= diag( \alpha_{1}, \alpha_{2},..., \alpha_{n}) PTAQ==diag(α1,α2,...,αn).( Q Q Q是正交阵(2)式处已证明)。所以,
    A = P d i a g ( α 1 , α 2 , . . . , α n ) Q T A = P diag( \alpha_{1}, \alpha_{2},..., \alpha_{n}) Q^{T} A=Pdiag(α1,α2,...,αn)QT.
    以上为实非对称阵A的正交对角分解

  3. 如果 A A A是秩为 r r r m × n m\times n m×n的实矩阵,则存在 m m m阶正交阵 U U U n n n阶正交阵 V V V使得
    U T A V = [ Σ 0 0 0 ] ( 3.1 ) U^{T}AV=\begin{bmatrix} \Sigma & 0 \\ 0 & 0 \end{bmatrix} (3.1) UTAV=[Σ000](3.1)
    其中 Σ = d i a g ( σ 1 , σ 2 , . . . , σ r ) \Sigma = diag(\sigma_{1},\sigma_{2},...,\sigma_{r}) Σ=diag(σ1,σ2,...,σr). σ 1 , σ 2 , . . . , σ r > 0 \sigma_{1},\sigma_{2},...,\sigma_{r}>0 σ1,σ2,...,σr>0,是 A A A的奇异值
    证明:设 A A A的特征值是 λ 1 > λ 2 > . . . > λ r > λ r + 1 = . . . = λ n = 0 \lambda_{1}>\lambda_{2}>...>\lambda_{r}>\lambda_{r+1}=...=\lambda_{n}=0 λ1>λ2>...>λr>λr+1=...=λn=0,则存在正交阵 V V V,使得
    V T A T A V = d i a g ( λ 1 2 , λ 2 2 , . . . , λ n 2 ) = [ Σ 2 0 0 0 ] ( 3.2 ) V^{T}A^{T}AV=diag(\lambda^{2}_{1},\lambda^{2}_{2},...,\lambda^{2}_{n})=\begin{bmatrix} \Sigma^{2} & 0 \\ 0 & 0 \end{bmatrix}(3.2) VTATAV=diag(λ12,λ22,...,λn2)=[Σ2000](3.2)
    V V V分成两部分 V 1 V_{1} V1表示前 r r r列, V 2 V_{2} V2表示后 n − r n-r nr列,则有 V 1 T A T A V 1 = d i a g ( λ 1 2 , λ 2 2 , . . . , λ n 2 ) = Σ 2 ( 3.3 ) V_{1}^{T}A^{T}AV_{1}=diag(\lambda^{2}_{1},\lambda^{2}_{2},...,\lambda^{2}_{n})=\Sigma^{2}(3.3) V1TATAV1=diag(λ12,λ22,...,λn2)=Σ2(3.3)
    V 2 T A T A V 2 = 0 ( 3.4 ) V_{2}^{T}A^{T}AV_{2}=0(3.4) V2TATAV2=0(3.4)
    由(3.3)有, Σ − 1 V 1 T A T A V 1 Σ − 1 = E \Sigma^{-1}V_{1}^{T}A^{T}AV_{1}\Sigma^{-1}=E Σ1V1TATAV1Σ1=E,即 ( A V 1 Σ − 1 ) T ( A V 1 Σ − 1 ) = E ( 3.5 ) (AV_{1}\Sigma^{-1})^{T}(AV_{1}\Sigma^{-1})=E (3.5) (AV1Σ1)T(AV1Σ1)=E(3.5).
    由(3.4)有 ( A V 2 ) T ( A V 2 ) = 0 (AV_{2})^{T}(AV_{2})=0 (AV2)T(AV2)=0,则 A V 2 = 0 AV_{2}=0 AV2=0.
    U 1 = A V 1 Σ − 1 U_{1}=AV_{1}\Sigma^{-1} U1=AV1Σ1,则 U 1 T U 1 = E r U_{1}^{T}U_{1}=E_{r} U1TU1=Er,所有 U 1 U_{1} U1是有 r r r列两两正交向量的 m × r m\times r m×r的矩阵,记为 U 1 = ( u 1 , u 2 , . . . , u r ) U_{1} = (u_{1},u_{2},...,u_{r}) U1=(u1,u2,...,ur),将 ( u 1 , u 2 , . . . , u r ) (u_{1},u_{2},...,u_{r}) (u1,u2,...,ur)扩充成 C m C^{m} Cm的标准正交基 ( u 1 , u 2 , . . . , u r , u r + 1 , . . . . , u m ) (u_{1},u_{2},...,u_{r},u_{r+1},....,u_{m}) (u1,u2,...,ur,ur+1,....,um),令 U 2 = ( u r + 1 , . . . . , u m ) U_{2}=(u_{r+1},....,u_{m}) U2=(ur+1,....,um). U = ( U 1 , U 2 ) U=(U1,U2) U=(U1,U2) m m m阶标准正交基,则有:
    U 1 T U 1 = E r , U 2 T U 1 = 0 U_{1}^TU_{1}=E_{r},U_{2}^TU_{1}=0 U1TU1=Er,U2TU1=0
    则有 U T A V = U T A ( V 1 , V 2 ) = [ U 1 T U 2 T ] ( A V 1 , A V 2 ) = [ U 1 T U 2 T ] ( A V 1 , 0 ) = [ U 1 T A V 1 0 U 2 T A V 1 0 ] U^{T}AV=U^{T}A(V_{1},V_{2})=\begin{bmatrix} U_{1}^{T} \\ U_{2}^{T} \end{bmatrix}(AV_{1},AV_{2}) = \begin{bmatrix} U_{1}^{T} \\ U_{2}^{T} \end{bmatrix}(AV_{1},0)=\begin{bmatrix} U_{1}^{T}AV_{1} & 0 \\ U_{2}^{T}AV_{1} & 0 \end{bmatrix} UTAV=UTA(V1,V2)=[U1TU2T](AV1,AV2)=[U1TU2T](AV1,0)=[U1TAV1U2TAV100]
    由(3.5) U 1 T A V 1 = E r U_{1}^{T}AV_{1} =E_{r} U1TAV1=Er,又 U 2 T U 1 = 0 , U 1 = A V 1 Σ − 1 U_{2}^TU_{1}=0,U_{1}=AV_{1}\Sigma^{-1} U2TU1=0,U1=AV1Σ1,所以 U 2 T A V 1 = 0 U_{2}^{T}AV_{1}=0 U2TAV1=0,则
    U T A V = [ E r 0 0 0 ] U^{T}AV= \begin{bmatrix} E_{r} & 0 \\ 0 & 0 \end{bmatrix} UTAV=[Er000]
    A = U [ E r 0 0 0 ] V T A = U\begin{bmatrix} E_{r} & 0 \\ 0 & 0 \end{bmatrix}V^{T} A=U[Er000]VT,此式为 A A A的奇异分解。

通过取前个比较大的特征值,达到降维的目的。图示有比较直观的感受2

对于奇异值,它跟我们特征分解中的特征值类似,在奇异值矩阵中也是按照从大到小排列,而且奇异值的减少特别的快,在很多情况下,前10%甚至1%的奇异值的和就占了全部的奇异值之和的99%以上的比例。也就是说,我们也可以用最大的k个的奇异值和对应的左右奇异向量来近似描述矩阵。即: A m × n = U m × m Σ m × n V T n × n ≈ U m × k Σ k × k V T k × n A{_{m\times n}} = U{_{m\times m}}\Sigma{_{m\times n}}V^{T}{_{n\times n}}\approx U{_{m\times k}}\Sigma{_{k\times k}}V^{T}{_{k\times n}} Am×n=Um×mΣm×nVTn×nUm×kΣk×kVTk×n
其中 k k k n n n小很多,这样就将一个大矩阵 A A A分解成三个小矩阵 U m × k , Σ k × k 和 V k × n T U_{m\times k},\Sigma{_{k\times k}}和V^{T}_{k\times n} Um×k,Σk×kVk×nT相乘。
如下图所示,现在我们的矩阵A只需要灰色的部分的三个小矩阵就可以近似描述了。
在这里插入图片描述
由于这个重要的性质,SVD可以用于PCA降维,来做数据压缩和去噪


  1. 百度文库 矩阵奇异值分解 ↩︎

  2. 刘建平 奇异值分解(SVD)原理与在降维中的应用 ↩︎

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值