SVD+PCA+LDA+LSA/LSI+NMF

1.SVD

1.1 特征值和特征向量:

由特征值和特征向量的??=??关系,我们可以得出:
A x = λ x Ax = \lambda x Ax=λx
A A A: n × n n\times n n×n 的实对称矩阵; λ : \lambda: λ: 特征值; x x x:特征向量

求出特征值和特征向量我们可以对矩阵进行分解。

假设矩阵A的?个特征值 λ 1 ≤ λ 2 ≤ . . . ≤ λ n \lambda_1 ≤ \lambda_2 ≤ ...≤\lambda_n λ1λ2...λn,以及这?个特征值所对应的特征向量 { w 1 , w 2 , . . . w n } \{w_1,w_2,...w_n\} {w1,w2,...wn},如果这?个特征向量线性无关,那么矩阵 A A A可以分解为:
A = W ∑ W − 1 A=W\sum W^{-1} A=WW1

W W W:?个特征向量所张成的?×?维矩阵;
∑ \sum :n个特征值为主对角线的?×?维矩阵;

标准化后: ∣ ∣ w i ∣ ∣ 2 = 1 ||w_i||^2=1 wi2=1,可以得出: W − 1 = W T W^{-1} = W^T W1=WT A = W ∑ W T A=W\sum W^{T} A=WWT

1.2 SVD定义:

使用SVD可以对任意矩阵进行分解,而不要求方阵。
m × n m\times n m×n的矩阵A的SVD定义为:
A = U ∑ V T A = U\sum V^T A=UVT

  • U : U: U: m × m m\times m m×m 的矩阵
  • ∑ : \sum: : m × n m\times n m×n 的矩阵 除了对角线元素其他都为0;
  • U : U: U: m × n m\times n m×n 的矩阵
    在这里插入图片描述

1.3 如何求分解:

  • 右奇异矩阵:
    ( A T A ) v i = λ v i (A^TA)v_i=\lambda v_i (ATA)vi=λvi
    所有特征向量 v i v_i vi张成一个 n × n n\times n n×n的矩阵 V V V,即我们SVD中的 V V V

  • 左奇异矩阵:
    ( A T A ) u i = λ u i (A^TA)u_i=\lambda u_i (ATA)ui=λui
    所有特征向量 u i u_i ui张成一个 n × n n\times n n×n的矩阵 U U U,即我们SVD中的 U U U

  • 奇异矩阵:
    A = U Σ V T ⇒ A V = U Σ V T V ⇒ A V = U Σ ⇒ A v i = σ i u i ⇒ σ i = A v i / u i A=U \Sigma V^{T} \Rightarrow A V=U \Sigma V^{T} V \Rightarrow A V=U \Sigma \Rightarrow A v_{i}=\sigma_{i} u_{i} \Rightarrow \sigma_{i}=A v_{i} / u_{i} A=UΣVTAV=UΣVTVAV=UΣAvi=σiuiσi=Avi/ui
    由上述公式便可求出奇异值奇异矩阵

  • 为什么 A T A A^TA ATA 的特征向量组成SVD中的 V V V矩阵:
    A = U Σ V T ⇒ A T = V Σ T U T ⇒ A T A = V Σ T U T U Σ V T = V Σ 2 V T A=U \Sigma V^{T} \Rightarrow A^{T}=V \Sigma^{T} U^{T} \Rightarrow A^{T} A=V \Sigma^{T} U^{T} U \Sigma V^{T}=V \Sigma^{2} V^{T} A=UΣVTAT=VΣTUTATA=VΣTUTUΣVT=VΣ2VT

  • 由上述可以得出矩阵A奇异值 A T A A^TA ATA特征值满足下列关系:
    σ i = λ i \sigma_i = \sqrt{\lambda_i} σi=λi
    详细推导见[9]。

2.PCA:

2.1 基础数学知识:

  • PCA的目标:最大化投影方差。信号具有较大方差, 噪声具有较小方差, 信号与噪声之比称为信噪比。信噪比越大意味着数据的质量越好, 反之, 信噪比越小意味着数据的质量越差
  • 内积与投影: A ⋅ B = ∣ A ∣ ∣ B ∣ cos ⁡ ( α ) A \cdot B=|A||B| \cos (\alpha) AB=ABcos(α)
  • 方差: Var ⁡ ( a ) = 1 m ∑ i = 1 m ( a i − μ ) 2 \operatorname{Var}(a)=\frac{1}{m} \sum_{i=1}^{m}\left(a_{i}-\mu\right)^{2} Var(a)=m1i=1m(aiμ)2
  • 协方差:
    c o v ( X , Y ) = E [ ( X − E [ X ] ) ( Y − E [ Y ] ) ] = 1 n ∑ i = 1 n ( x i − E ( X ) ) ( y i − E ( Y ) ) = 1 m X X T cov(X, Y)=\mathrm{E}[(X-\mathrm{E}[X])(Y-\mathrm{E}[Y])] = \frac{1}{n} \sum_{i=1}^{n}\left(x_{i}-E(X)\right)\left(y_{i}-E(Y)\right) =\frac{1}{m} X X^{\mathrm{T}} cov(X,Y)=E[(XE[X])(YE[Y])]=n1i=1n(xiE(X))(yiE(Y))=m1XXT
  • 矩阵求导: ∂ A ⊤ A ∂ A = A \frac{\partial A^{\top} A}{\partial A}=A AAA=A

1.2 理论推导-最大化投影方差:

以下从最大化投影方差角度来讲解如何实现PCA,设数据点为 { v 1 , v 2 , … , v n } \left\{v_{1}, v_{2}, \ldots, v_{n}\right\} {v1,v2,,vn},所有向量为列向量

  1. 去中心化: { x 1 , x 2 , … , x n } = { v 1 − μ , v 2 − μ , … , v n − μ } \left\{\boldsymbol{x}_{1}, \boldsymbol{x}_{2}, \ldots, \boldsymbol{x}_{n}\right\}=\left\{\boldsymbol{v}_{1}-\boldsymbol{\mu}, \boldsymbol{v}_{2}-\boldsymbol{\mu}, \ldots, \boldsymbol{v}_{n}-\boldsymbol{\mu}\right\} {x1,x2,,xn}={v1μ,v2μ,,vnμ},去中心化的目的是为了使得投影后的数据均值为0;
  2. 求投影方差: D ( x ) = 1 n ∑ i = 1 n ( x i T ω ) 2 = ω T ( 1 n ∑ i = 1 n x i x i T ) ω D(\boldsymbol{x})=\frac{1}{n} \sum_{i=1}^{n}\left(\boldsymbol{x}_{i}^{\mathrm{T}} \boldsymbol{\omega}\right)^{2} = \omega^{\mathrm{T}}\left(\frac{1}{n} \sum_{i=1}^{n} \boldsymbol{x}_{i} \boldsymbol{x}_{i}^{\mathrm{T}}\right) \boldsymbol{\omega} D(x)=n1i=1n(xiTω)2=ωT(n1i=1nxixiT)ω
  3. 样本协方差矩阵: C = ∑ i = 1 n x i x i T C=\sum_{i=1}^{n} \boldsymbol{x}_{i} \boldsymbol{x}_{i}^{\mathrm{T}} C=i=1nxixiT,投影后的方差即协方差矩阵的特征值;
  4. 协方差矩阵进行特征值分解 ( λ 1 , λ 2 , . . . λ n ) (\lambda_1, \lambda_2,...\lambda_n) (λ1,λ2,...λn),并求解对应的特征向量 ( e 1 , e 2 , . . . e n ) (e_1, e_2,...e_n) (e1,e2,...en);
  5. 特征向量按对应特征值大小从上到下按行排列成矩阵,取前 d d d行组成矩阵P;
  6. Y = P X Y=PX Y=PX即为降维到 d d d维后的数据;
  7. 降维后的信息占比: ∑ i = 1 d λ i 2 / ∑ i = 1 n λ i 2 \sqrt{\sum^{d}_{i=1}{\lambda_i^2}/\sum^{n}_{i=1}{\lambda_i^2}} i=1dλi2/i=1nλi2

3. LDA(Linear Discriminant Analysis)

3.1理论推导:

LDA的主要思想是:最大化类间距离,最小化类内距离;
二分类样本,两类是 C 1 , C 2 C_1, C_2 C1,C2, 均值分别为 μ 1 = 1 N 1 ∑ x ∈ C 1 x , μ 2 = 1 N 2 ∑ x ∈ C 2 x \mu_1=\frac{1}{N_{1}} \sum_{x \in C_{1}} x, \mu_2=\frac{1}{N_{2}} \sum_{x \in C_{2}} x μ1=N11xC1x,μ2=N21xC2x

  1. 投影后类间距离: D ( C 1 , C 2 ) = ∥ μ ~ 1 − μ ~ 2 ∥ 2 2 = ∥ w T ( μ 1 − μ 2 ) ∥ 2 2 D(C 1, C 2)=\left\|\widetilde{\mu}_{1}-\widetilde{\mu}_{2}\right\|_{2}^{2}=\left\|w^{T}\left(\mu_{1}-\mu_{2}\right)\right\|_{2}^{2} D(C1,C2)=μ 1μ 222=wT(μ1μ2)22
  2. 优化目标(最大化类间方差): max ⁡ ω ∥ ω T ( μ 1 − μ 2 ) ∥ 2 2 ; s . t . ω T ω = 1 \max _{\omega}\left\|\omega^{\mathrm{T}}\left(\mu_{1}-\mu_{2}\right)\right\|_{2}^{2} ;s.t.\omega^{\mathrm{T}} \omega=1 maxωωT(μ1μ2)22;s.t.ωTω=1
  3. 最小化投影后类内方差: D 1 = ∑ x ∈ C 1 ( ω T x − ω T μ 1 ) 2 = ∑ x ∈ C 1 ω T ( x − μ 1 ) ( x − μ 1 ) T ω D_{1}=\sum_{x \in C_{1}}\left({\omega}^{\mathrm{T}}{x}-{\omega}^{\mathrm{T}} \boldsymbol{\mu}_{1}\right)^{2}=\sum_{{x} \in \mathcal{C}_{1}} {\omega}^{\mathrm{T}}\left(\boldsymbol{x}-\boldsymbol{\mu}_{1}\right)\left({x}-{\mu}_{1}\right)^{\mathrm{T}}{\omega} D1=xC1(ωTxωTμ1)2=xC1ωT(xμ1)(xμ1)Tω D 2 D_{2} D2 有同样的结果;
  4. 综合目标: J ( ω ) = ω T ( μ 1 − μ 2 ) ( μ 1 − μ 2 ) T ω ∑ x ∈ C i ω T ( x − μ i ) ( x − μ i ) T ω J(\omega)=\frac{\omega^{\mathrm{T}}\left(\mu_{1}-\mu_{2}\right)\left(\mu_{1}-\mu_{2}\right)^{\mathrm{T}} \omega}{\sum_{x \in C_{i}} \omega^{\mathrm{T}}\left(x-\mu_{i}\right)\left(x-\mu_{i}\right)^{\mathrm{T}} \omega} J(ω)=xCiωT(xμi)(xμi)TωωT(μ1μ2)(μ1μ2)Tω
  5. 对其求导令其为0: ∂ J ( ω ) ∂ ω = ( ∂ ω T S B ω ∂ ω ω T S w ω − ∂ ω T S w ω ∂ ω ω T S B ω ) ( ω T S w ω ) 2 = 0 \frac{\partial J(\omega)}{\partial \omega}=\frac{\left(\frac{\partial \omega^{\mathrm{T}} S_{B} \omega}{\partial \omega} \omega^{\mathrm{T}} S_{w} \omega-\frac{\partial \omega^{\mathrm{T}} S_{w} \omega}{\partial \omega} \omega^{\mathrm{T}} S_{B} \omega\right)}{\left(\omega^{\mathrm{T}} S_{w} \omega\right)^{2}}=0 ωJ(ω)=(ωTSwω)2(ωωTSBωωTSwωωωTSwωωTSBω)=0
  6. 最佳投影方向: J ω = S w − 1 ( μ 1 − μ 2 ) J_{\omega}=S_{w}^{-1}\left(\mu_{1}-\mu_{2}\right) Jω=Sw1(μ1μ2)

算法假设:
LDA算法的实现对数据分布做了很多强假设:

  • 每个类数据都是高斯分布
  • 各个类的协方差相等

实际训练过程中,由于test是没有标签的所以我们不能对test做同样的LDA操作,也就无法使用。

PCA vs LDA

PCALDA
有无监督无监督学习有监督学习
目标方差最大的方向最大化类间距离、 最小化类内距离
强假设数据满足高斯分布、 各个类的协方差相等

参考资料:

1. 一文详解LDA主题模型
2. LDA(Latent Dirichlet Allocation)主题模型
3. LDA-math-汇总 LDA数学八卦
4. Introduction to Latent Dirichlet Allocation
5. LSA(Latent semantic analysis)
6. 通俗理解潜在语义分析LSA
7. 文本主题模型之非负矩阵分解(NMF)
8. PCA的数学原理(转)
9. 奇异值分解(SVD)原理与在降维中的应用

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

linxid

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值