最近简单的研究了人脸识别,主要从数学上系统地阐述了特征脸,PCA算法,LDA算法及SRDA算法的性质,并重点研究了LDA和最近提出的SRDA算法,研究了它们的原理、性质、特点、算法理论依据、算法步骤和算法复杂度;对PCA,LDA和SRDA算
tr()是矩阵的迹,即矩阵对角元素之和。令Xi=Xi-卜为各样本的中心距,
令X(k)={Xi(k),x2k),...,xm?}为第k类样本的中心距。则:
cSb='•mk(」(k)-」)(」k=1
(k)
/1=mk(kA
mk
mk""S-项
mkid
cmkmk
二、-cxr(Xik)T)
kdmkidi=i
c__
(10)
=、X(k)W(k)(X(k))T
kW
其中,W(k)为m^<mk的矩阵,它的所有元素等丁mk令X=[X(1),X(2),…,X(c)]为样本的中心距,定义一mxm的矩阵W:
W⑴00W(2)(11)W(c)则(10)式变为:
Sb=lX(k)W(k)(X(k))T=XwXt(12)因为St=XXT,所以可得:
Sw=St-Sb=X(I-W)X=XLX(13)令W为图$各边缘的权值矩阵,Wj为边缘i和j的连接权值,当边缘i和j无连接时,Wj=0。L=I-W被称为拉普拉斯图[26]。
乂有:
rank(St)=rank(XX)^rank(X)切min(m-1,n)St为n5的矩阵,当特征个数n大丁样本数m时,$为奇异矩阵,此时式(6)没有稳定的特征解。利用奇异值分解算法解决这个问题。
不妨设rank(X)=r,X的奇异值分解为:
(14)其中£=dia(g1,..*),。1注2芝....注r>0。U=[u1,u2,...,ur]正职m*”(1<i《r)为左奇异向量;V=[v1,v2,....,v「]在诉",vi(1*4r)为右奇异向量令X=utX=£vt,b=uta,贝u:
ATSbA=atXwXa=atu'vtwv'uta=bxwxb
同理,
—at$a=atxxta=atu'VVuta~~T
=B'XX1B
所以(5)式中LDA的目标函数可以改写为:
=argmax
T~~T_tr(BXWXB)Ttr(BTXXTB)
其中,B的每一列为等式:
(15)
~~T_~~T
XWXTb=XXTb
的特征值。乂因为XX~T=£vT(£vT)T=£2,非零,所以上式可以得到稳定的特征解。得到B后,A可由下式求得:
**
A=UB(16)因为X的均值为零,所以通过SVD算法实现的降维,与通过PCA算法实现的降维的效果是一样的(通过PCA降维,X的均值也为零)。Fisherface的方法最多只能保持经过PCA算法处理后的数据的m-c维,从而导致一些有用信息的丢失。通过对LDA算法进行改进可以保持所有PCA算法中的非零特征向量,避免有用信息的丢失。
通过对矩阵A的变换,可以得到如下定理:
定理1:令矩阵A为式(16)中的变换矩阵,原始的特征向量X通过矩阵A变换为:Y=ATX,yiT为Y的第i个特征向量(在Y的第i行),yi=XTaj。对丁任意i。j,y和yj不相关。
证明:令vi=meanW)=P—i,e为全一矩阵,(yi—ev)T(yj—evj)
=(XTai-e」Tai)T(XTaj-e」Taj).(XTai)T(XTaj)=aiTXXTajTT=biTXXTbj=0,(i=j)
bi是式(15)中的特征向量。这种SVD+LDA的方法称为不相关的LDA
(UncorrelatedLDA,ULDA)。
最近,Howland'5]利用广义奇异值分解方法(GeneralizedSingularValueDecomposition,GSVD)解决了LDA的奇异值问题。他把LDA的目标函数等价为:
A*=argmaxtr((ATStA)」(ATSbA))
上式可以利用GSVD方法求解。这种方法的缺点是计算量十分庞大,特别当样本的维数很大的时候。
还有人提出了规范化判别分析算法(RegularizedDiscriminantAnalysis,RDA)[6][7],利用规范化的思想来解决Sw的奇异问题。把Sw的对角元素加上一个限制条件,即把Sw变为Sw+od,使Sw非奇异。这种方法的缺点同样是计算量是十分庞大。
上面两种运用LDA的方法都是使用奇异值分解算法(SingularValueDecomposition,SVD)来降维。
LDA的计算复杂度
由(6)(12)(13)式可得,LDA的目标方程可写为:
XWXTai=?.XXTai,(i=1,2,…h)(17)
结合式(14)得:
XWXTa^XXTai,(i=1,2,h)=U三VTWV三UT%二二UTai=LUTU三VTWV
人脸识别学习总结 来自淘豆网m.daumloan.com转载请标明出处.