SVD+PCA+LDA+LSA/LSI+NMF

1.SVD

1.1 特徵值和特徵向量:

由特徵值和特徵向量的??=??關係,我們可以得出:
Ax=λxAx = \lambda x
AA: n×nn\times n 的實對稱矩陣; λ:\lambda: 特徵值; xx:特徵向量

求出特徵值和特徵向量我們可以對矩陣進行分解。

假設矩陣A的?個特徵值λ1λ2...λn\lambda_1 ≤ \lambda_2 ≤ ...≤\lambda_n,以及這?個特徵值所對應的特徵向量{w1,w2,...wn}\{w_1,w_2,...w_n\},如果這?個特徵向量線性無關,那麼矩陣AA可以分解爲:
A=WW1A=W\sum W^{-1}

WW:?個特徵向量所張成的?×?維矩陣;
\sum:n個特徵值爲主對角線的?×?維矩陣;

標準化後:wi2=1||w_i||^2=1,可以得出:W1=WTW^{-1} = W^TA=WWTA=W\sum W^{T}

1.2 SVD定義:

使用SVD可以對任意矩陣進行分解,而不要求方陣。
m×nm\times n的矩陣A的SVD定義爲:
A=UVTA = U\sum V^T

  • U:U: m×mm\times m 的矩陣
  • :\sum: m×nm\times n 的矩陣 除了對角線元素其他都爲0;
  • U:U: m×nm\times n 的矩陣
    在這裏插入圖片描述

1.3 如何求分解:

  • 右奇異矩陣:
    (ATA)vi=λvi(A^TA)v_i=\lambda v_i
    所有特徵向量viv_i張成一個n×nn\times n的矩陣VV,即我們SVD中的VV

  • 左奇異矩陣:
    (ATA)ui=λui(A^TA)u_i=\lambda u_i
    所有特徵向量uiu_i張成一個n×nn\times n的矩陣UU,即我們SVD中的UU

  • 奇異矩陣:
    A=UΣVTAV=UΣVTVAV=UΣAvi=σiuiσi=Avi/ui 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}
    由上述公式便可求出奇異值奇異矩陣

  • 爲什麼ATAA^TA 的特徵向量組成SVD中的VV矩陣:
    A=UΣVTAT=VΣTUTATA=VΣTUTUΣVT=VΣ2VT 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奇異值ATAA^TA特徵值滿足下列關係:
    σi=λi\sigma_i = \sqrt{\lambda_i}
    詳細推導見[9]。

2.PCA:

2.1 基礎數學知識:

  • PCA的目標:最大化投影方差。信號具有較大方差, 噪聲具有較小方差, 信號與噪聲之比稱爲信噪比。信噪比越大意味着數據的質量越好, 反之, 信噪比越小意味着數據的質量越差
  • 內積與投影:AB=ABcos(α)A \cdot B=|A||B| \cos (\alpha)
  • 方差:Var(a)=1mi=1m(aiμ)2\operatorname{Var}(a)=\frac{1}{m} \sum_{i=1}^{m}\left(a_{i}-\mu\right)^{2}
  • 協方差:
    cov(X,Y)=E[(XE[X])(YE[Y])]=1ni=1n(xiE(X))(yiE(Y))=1mXXTcov(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}}
  • 矩陣求導:AAA=A\frac{\partial A^{\top} A}{\partial A}=A

1.2 理論推導-最大化投影方差:

以下從最大化投影方差角度來講解如何實現PCA,設數據點爲{v1,v2,,vn}\left\{v_{1}, v_{2}, \ldots, v_{n}\right\},所有向量爲列向量

  1. 去中心化:{x1,x2,,xn}={v1μ,v2μ,,vnμ}\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\},去中心化的目的是爲了使得投影后的數據均值爲0;
  2. 求投影方差:D(x)=1ni=1n(xiTω)2=ωT(1ni=1nxixiT)ω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}
  3. 樣本協方差矩陣:C=i=1nxixiTC=\sum_{i=1}^{n} \boldsymbol{x}_{i} \boldsymbol{x}_{i}^{\mathrm{T}},投影后的方差即協方差矩陣的特徵值;
  4. 協方差矩陣進行特徵值分解(λ1,λ2,...λn)(\lambda_1, \lambda_2,...\lambda_n),並求解對應的特徵向量(e1,e2,...en)(e_1, e_2,...e_n);
  5. 特徵向量按對應特徵值大小從上到下按行排列成矩陣,取前dd行組成矩陣P;
  6. Y=PXY=PX即爲降維到dd維後的數據;
  7. 降維後的信息佔比:i=1dλi2/i=1nλi2\sqrt{\sum^{d}_{i=1}{\lambda_i^2}/\sum^{n}_{i=1}{\lambda_i^2}}

3. LDA(Linear Discriminant Analysis)

3.1理論推導:

LDA的主要思想是:最大化類間距離,最小化類內距離;
二分類樣本,兩類是C1,C2C_1, C_2, 均值分別爲μ1=1N1xC1x,μ2=1N2xC2x\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. 投影后類間距離:D(C1,C2)=μ~1μ~222=wT(μ1μ2)22D(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}
  2. 優化目標(最大化類間方差):maxωωT(μ1μ2)22;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
  3. 最小化投影后類內方差:D1=xC1(ωTxωTμ1)2=xC1ω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}D2D_{2} 有同樣的結果;
  4. 綜合目標:J(ω)=ωT(μ1μ2)(μ1μ2)TωxCiω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}
  5. 對其求導令其爲0:J(ω)ω=(ωTSBωωωTSwωωTSwωωωTSBω)(ωTSwω)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
  6. 最佳投影方向:Jω=Sw1(μ1μ2)J_{\omega}=S_{w}^{-1}\left(\mu_{1}-\mu_{2}\right)

算法假設:
LDA算法的實現對數據分佈做了很多強假設:

  • 每個類數據都是高斯分佈
  • 各個類的協方差相等

實際訓練過程中,由於test是沒有標籤的所以我們不能對test做同樣的LDA操作,也就無法使用。

PCA vs LDA

PCA LDA
有無監督 無監督學習 有監督學習
目標 方差最大的方向 最大化類間距離、 最小化類內距離
強假設 數據滿足高斯分佈、 各個類的協方差相等

參考資料:

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)原理與在降維中的應用

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章