线性判别分析(Linear Discriminant Analysis)
对于给定的标记数据
(xi,ci),其中xi∈Rn,ci∈{0,1}
,此时设计一个分类器(Classifier),将这两类数据分开,另外这两类数据线性可分(存在一个超平面
Σ1
,将这两类数据分开,也就是说存在一个与超平面垂直的超平面
Σ2
,使所有的数据投影(Projection)到它上面,并且同样可分),如下图所示:
假定
Σ2表示为w
,则将数据
X
投影到
yi=wTxi
那么我们可以找到阈值
y0
,当
yi≥y0
为
C1
类,否则为
C2
类。
我们假定 C1 有数据点 N1 个, C2 有 N2 个,则投影后的 类内均值及 松散度(Scatter)为,
⎧⎩⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪m1=1N1∑i=1N1wTxi,m2=1N2∑i=N1+1N1+N2wTxi⎧⎩⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪s21=∑i=1N1(yi−m1)2,s22=∑i=N1+1N1+N2(yi−m2)2
那么目标函数为,
J(w)=(m1−m2)2s21+s22⟹J(w)=wTA1wwTA2w
其中,
⎧⎩⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪A1=(m′2−m′1)(m′2−m′1)T,A2=∑i=1N1(xi−m′1)(xi−m′1)T+∑i=N1+1N1+N2(xi−m′2)(xi−m′2)T,m′1=1N1∑i=1N1xim′2=1N2∑i=N1+1N1+N2xi
Tip:至于常量已知矩阵
A1
和
A2
的上式推导也比较简单,只需利用
m1=wTm′1
及
m2=wTm′2
即可
记下来的任务就是求取 w ,即,
说明只需A1w与A2w同向即可,又A1w=(m′2−m′1)(m′2−m′1)Tw≡λ(m′2−m′1),即只需w与A−12(m′2−m′1)同向即可
主成分分析(Principal Component Analysis)
要点就是使样本点在某个方向上的投影具有最大方差,如下图所示,
对于具有n个特征的m个样本,可以得到一个样本集矩阵,
A=⎛⎝⎜⎜⎜⎜⎜a11 a12 ⋯ a1na21 a22 ⋯ a2n ⋮ ⋮ ⋱ ⋮am1 am2 ⋯ amn⎞⎠⎟⎟⎟⎟⎟=⎛⎝⎜⎜⎜⎜⎜aT1aT2 ⋮aTm⎞⎠⎟⎟⎟⎟⎟
寻找样本集的 主方向 u ,将样本集投影到某个方向上,以此计算出
A⋅u=⎛⎝⎜⎜⎜⎜⎜a11 a12 ⋯ a1na21 a22 ⋯ a2n ⋮ ⋮ ⋱ ⋮am1 am2 ⋯ amn⎞⎠⎟⎟⎟⎟⎟⋅u=⎛⎝⎜⎜⎜⎜⎜aT1aT2 ⋮aTm⎞⎠⎟⎟⎟⎟⎟⋅u=⎛⎝⎜⎜⎜⎜⎜aT1uaT2u ⋮aTmu⎞⎠⎟⎟⎟⎟⎟
则向量A⋅u的方差Var(A⋅u)=(Au−E)T(Au−E)=(Au)TAu=uTATAu
其中,
E={1m∑mi=1aTiu}m,也就是投影点的期望组成m维列向量
因此,目标函数为,
J(u)=uTATAu, Subject to: ||u||2=1
则Lagrange function为,
L(u)=uTATAu−λ(uTu−1)
令∂L(u)∂u=0⟹(ATA)u=λu
,我们得出
方向向量
u
即为方阵奇异值分解(Singular Value Decomposition)
若
A
是
⎧⎩⎨⎪⎪δi=λi−−√ui=1δiAvi⟹A=UΣVT,这个过程只需反代回去即可验证
后者就为奇异值分解SVD。上式中若为复数域,则为A=UΣVH,U和V为酉矩阵,Σ为所有奇异值组成的对角矩阵
一般地,
ATA=VΣHUHUΣVH=VΣHΣVH
AAT=UΣVHVΣHUH=UΣHΣUH
因此
U
的列向量直观上,奇异值分解将矩阵分解成若干个秩一矩阵之和,即,
A=σ1u1vH1+σ2u2vH2+⋯+σrurvHr
其中
uivHi
都是秩为1的矩阵,对这些奇异值进行排序,
σ1≥σ2≥⋯≥σr>0
,这样我们
选择比较大的特征值,而使较小的特征值为0(也就是舍去它们),就可以通过这些奇异值及其对应的奇异向量还原矩阵。
当然,SVD还可用于求矩阵伪逆(M-P),数据压缩,个性化推荐等等
主要参考文献
- Machine Learning:A Probabilistic Perspective,Kevin P. Murphy, The MIT Press, 2012
- Prof. Andrew Ng, Machine Learning, Stanford University
- Pattern Recognition and Machine Learning Chapter 10, Christopher M. Bishop, Springer-Verlag, 2006