简述LDA,PCA,SVD原理推导及其简单应用

线性判别分析(Linear Discriminant Analysis)


     对于给定的标记数据(xi,ci),xiRn,ci{0,1},此时设计一个分类器(Classifier),将这两类数据分开,另外这两类数据线性可分(存在一个超平面Σ1,将这两类数据分开,也就是说存在一个与超平面垂直的超平面Σ2,使所有的数据投影(Projection)到它上面,并且同样可分),如下图所示:
简述LDA,PCA,SVD原理推导及其简单应用
假定Σ2w,则将数据X投影到n1维超平面上,为可视化,我们设为1维,即

yi=wTxi
那么我们可以找到阈值y0,当yiy0C1类,否则为C2类。
    我们假定C1有数据点N1个,C2N2个,则投影后的类内均值松散度(Scatter)为,
m1=1N1i=1N1wTxi,m2=1N2i=N1+1N1+N2wTxis21=i=1N1(yim1)2,s22=i=N1+1N1+N2(yim2)2

    那么目标函数为,
J(w)=(m1m2)2s21+s22J(w)=wTA1wwTA2w
其中,
A1=(m2m1)(m2m1)T,A2=i=1N1(xim1)(xim1)T+i=N1+1N1+N2(xim2)(xim2)T,m1=1N1i=1N1xim2=1N2i=N1+1N1+N2xi
Tip:至于常量已知矩阵A1A2的上式推导也比较简单,只需利用m1=wTm1m2=wTm2即可
记下来的任务就是求取w,即,
J(w)w=w(wTA1wwTA2w)=0A1w(wTA2w)=A2w(wTA1w)

A1wA2wA1w=(m2m1)(m2m1)Twλ(m2m1),wA12(m2m1)

主成分分析(Principal Component Analysis)


要点就是使样本点在某个方向上的投影具有最大方差,如下图所示,
简述LDA,PCA,SVD原理推导及其简单应用
对于具有n个特征的m个样本,可以得到一个样本集矩阵,

A=a11  a12    a1na21  a22    a2n                am1  am2    amn=aT1aT2  aTm      

寻找样本集的主方向u,将样本集投影到某个方向上,以此计算出m个投影点的方差,并认为方差最大的方向就为主方向。我们假定样本集是去均值化的,则样本点集在某个方向上的投影为,
Au=a11  a12    a1na21  a22    a2n                am1  am2    amnu=aT1aT2  aTmu=aT1uaT2u   aTmu
AuVar(Au)=(AuE)T(AuE)=(Au)TAu=uTATAu
其中,E={1mmi=1aTiu}mm
因此,目标函数为,
J(u)=uTATAu, Subject to: ||u||2=1
则Lagrange function为,
L(u)=uTATAuλ(uTu1)
L(u)u=0(ATA)u=λu,我们得出方向向量u即为方阵ATA的特征向量,而λ即为它的特征值,也为投影点集在这个方向(特征向量)上的方差。这个过程实质上也是特征值分解(方阵)的过程,后面我们分析更加一般的矩阵分解,奇异值分解(不一定为方阵),这样我们将方阵ATA的特征值由大到小进行排序,我们选择比较大的特征值λi(通常最大的10%的特征值之和就占所有特征值之和的99%)所对应的特征向量vi作为主成分来近似表示原始矩阵,而且这些向量之间均是线性无关的,甚至正交的,这样也就达到了降维(Dimensionality Reduction)的目的。

奇异值分解(Singular Value Decomposition)


Am×n的矩阵,那么ATA就为n×n的方阵,那么,由(ATA)vi=λivi,令,

δi=λiui=1δiAviA=UΣVT,
SVDA=UΣVHUVΣ
一般地,
ATA=VΣHUHUΣVH=VΣHΣVH
AAT=UΣVHVΣHUH=UΣHΣUH
因此U的列向量ui(左奇异向量)为AAH的特征向量,V的列向量vi(右奇异向量)为AHA的特征向量,Σ的对角元为ΣHΣΣΣH的特征值的平方根
    直观上,奇异值分解将矩阵分解成若干个秩一矩阵之和,即,
A=σ1u1vH1+σ2u2vH2++σrurvHr
其中uivHi都是秩为1的矩阵,对这些奇异值进行排序,σ1σ2σr>0,这样我们选择比较大的特征值,而使较小的特征值为0(也就是舍去它们),就可以通过这些奇异值及其对应的奇异向量还原矩阵。
当然,SVD还可用于求矩阵伪逆(M-P),数据压缩,个性化推荐等等
主要参考文献

  1. Machine Learning:A Probabilistic Perspective,Kevin P. Murphy, The MIT Press, 2012
  2. Prof. Andrew Ng, Machine Learning, Stanford University
  3. Pattern Recognition and Machine Learning Chapter 10, Christopher M. Bishop, Springer-Verlag, 2006