二维线性判别分析

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

二维线性判别分析
摘要
线性判别分析(LDA)是一个常用的进行特征提取和降维的方法。

在许多涉及到高维数据,如人脸识别和图像检索的应用中被广泛使用。

经典的LDA方法固有的限制就是所谓的奇异性问题,即当所有的散列矩阵是奇异的时,它就不再适用了。

比较有名的解决奇异性问题的方法是在使用LDA方法之前先用主成分分析(PCA)对数据进行降维。

这个方法就叫做PCA+LDA,在人脸识别领域被广泛应用。

然而,由于涉及到散列矩阵的特征值分解,这个方法在时间和空间上都需要很高的成本。

在本文中,我们提出了一种新的LDA算法,叫做2D-LDA,即二维线性判别分析方法。

2D-LDA方法彻底解决了奇异性问题,并且具有很高的效率。

2D-LDA和经典LDA之间主要的区别在于数据表示模型。

经典LDA采用矢量表示数据,而2D-LDA使用矩阵表示数据。

我们对2D-LDA+LDA,即如何结合2D-LDA和经典LDA,在经典LDA之前使用2D-LDA进一步降维的问题进行了研究。

将本文提出的算法应用于人脸识别,并与PCA+LDA进行了比较。

实验表明:2D-LDA+LDA的方法识别更精确,并且效率更高。

1概述
线性判别分析[2][4]是一个著名的特征提取和降维的方法。

已经被广泛应用于人脸识别[1]、图像检索[6]、微列阵数据分类[3]等应用中。

经典的LDA算法就是将数据投影到低维的向量空间,使类间距离和类内距离的比值最大化,从而得到最佳的分类效果。

最佳的投影方向可以通过散列矩阵的特征值分解计算得到。

经典LDA算法的一个限制是其目标函数的散列矩阵必须是奇异的。

对于许多应用了,如人脸识别,所有散列矩阵的问题都可以是奇异的,因为其数据都是高维的,并且通常矩阵的尺寸超过了数据点的额数目。

这就是所谓的“欠采样或奇异性问题[5]”。

近年来,许多用于解决这种高维、欠采样问题的方法被提出,包括伪逆LDA、PCA+LDA和正则LDA。

在文献[5]中可以了解更多细节。

在这些LDA的扩展方法中,PCA+LDA受到了广泛的关注,尤其实在人脸识别领域[1]。

这个方法包括两个阶段,其中一个阶段就是在LDA方法之前使用PCA对数据进行降维。

以前
的LDA 扩展一般是大型矩阵的特征值分解计算,这不仅降低了效率,也使得它很难扩展到大型数据集。

在本文中,我们提出了一种新的方法来解决此前的LDA 扩展的特征分解计算的问题。

新颖之处在于它采用了不同的数据表示模型。

在这种模式下,每个数据被表示为一个矩阵,而不是一个向量,并且数据集被表示为矩阵的集合,而不是一个单一的大矩阵。

这种模式在文献[7][8][9]中被用于对SVD 和PCA 的泛化。

不同于经典的LDA ,我们考虑的是数据在二维空间中的投影。

在第3节中,我们将降维问题规划为一个优化问题。

不同于经典的LDA ,没有已有的解决优化问题的方法,于是,我们探索得到了一个新的方法,即2D-LDA 。

为了更进一步降低数据的维数,我们将2D-LDA 和LDA 进行了结合,即2D-LDA+LDA 。

我们在三个著名的人脸数据集上对2D-LDA 、2D-LDA+LDA 方法进行了测试,和目前被广泛应用于人脸识别的PCA+LDA 方法进行了比较。

实验结果表明:
1、2D-LDA 方法适用于高维采样数据,如人脸图像,并且不用考虑经典LDA 方法的奇异性问题。

2、2D-LDA 和2D-LDA+LDA 相较于PCA+LDA 方法在时间和空间上的消耗明显降低,而识别精度相差不多。

2LDA 概述
在这个部分,我们对经典的LDA 方法进行了简单的介绍。

给定一个数据矩阵A ∈R N ×n ,经典的LDA 旨在找到一个变换G ∈R N ×ℓ,对于A 的每一列a i ,在N 维空间中对应在L 维空间的向量b i 。

即:
G :a i ∈R N →b i =G T a i ∈R ℓ(ℓ<N )
同样的,经典LDA 方法旨在找到一个向量空间G 包含 g i i =1ℓ,其中G = g 1,g 2,….,g ℓ ,这样,每一个a i 通过 g 1T ∙a i ,…,g ℓT ∙a i T ∈R ℓ投射到向量空间G 中。

假定初始数据被分为k 个类A = ∏1,…,∏k ,其中∏i 包含了第i 类的n i 个数据点,并且 n i k i =1=n 。

经典LDA 旨在找到这样的最佳转换G 使得原始高维类的结构保存在低维空间中。

一般来说,如果每个类都是紧密分组,但能够很好的与其他类分离开来,那么称这个为高质量集群。

在判别分析中,定义两个矩阵来衡量集群质量:
类内散列度矩阵S w :
S w = x −m i x −m i T x∈∏i k i =1
类间散列度矩阵S b :
S b =
n i m 1−m 2 m 1−m 2 T k i =1
其中 m i =1n i x x∈∏i
表示第i 类的中心点,
m =1 x x∈∏i
k i =1 表示全局中心点。

通过S w 和S b 可以很容易的计算出类内向量距离和类间距离。

在线性变换G 产生的低维空间(或线性投影向量空间G )中,类内距离矩阵和类间距离矩阵是:
S b L =G T S b G ,S w L =G T S w G .
一个最佳变换G 能够最大化S b L ,最小化S w L 。

线性判别中常见的优化方法包
括(见[4]):
max G trace S 2L −1S b L and min G trace S b L −1S w L (1)
等价于下面的广义特征值问题:
S b x =λS w x ,λ≠0
如果S b 是非奇异的,则有k-1个对应的特征矩阵向量的非零特征值。

因此,经典的LDA 算法最多降维k-1。

一个稳定的计算特征值分解的方法是应用SVD 的散射矩阵,可在文献[6]了解细节。

3二维线性判别分析
本文提出的2D-LDA 和经典LDA 最大的不同在于数据的表示模型。

经典的LDA 使用矢量表示数据,2D-LDA 使用矩阵表示数据。

在本节我们将看到,2D-LDA 的数据矩阵表示模型导致了更小尺寸的矩阵的特征分解。

更具体地说,2D-LDA 的特征分解的矩阵尺寸为r ×r 和c ×c ,它比经典LDA 的矩阵尺寸更小,这大大减少了LDA 算法的时间和空间复杂度。

不同于经典的LDA ,2D-LDA 认为 ℓ1×ℓ2 维空间ℒ⨂ℛ是以下两个空间的张量积:
ℒ包含 u i i =1ℓ1,ℛ包含 v i i =1ℓ
2。

定义两个矩阵ℒ= u 1,…,u ℓ1 ∈R r ×ℓ1,ℛ= v 1,…,v ℓ2 ∈R c ×ℓ2。

然后向量X ∈R r ×c 投影到空间ℒ⨂ℛ得到ℒT Xℛ∈R ℓ1×ℓ2。

让A i ∈R r ×c , i =1,…,n ,在数据集中有n 幅图像,分为k 个类:∏1,…,∏k ,类∏i 中有n i 幅图像。

让M i =1
n i X X∈∏i ,1≤i ≤k 表示第i 类的平均值,M =1n X X∈∏i k i =1表示全局平均值。

在2D-LDA 方法中,我们认为图像是二维信号,目的是找到两个变换矩阵ℒ∈R r ×ℓ1和ℛ∈R c ×ℓ2。

类似于经典LDA ,2D-LDA 方法旨在找到两个投影变换L 和R ,能够让原始
高维空间类的结构在低维空间得到保留。

矩阵之间的相似性度量是一个自然的Frobenius 范数[8]。

在这种度量标准下,
类内距离D w 和类间距离D b 可以按照以下方法计算:
D w = X −M i F 2X∈∏i k i =1,
D b = n i M i −M F 2k i =1 使用trace 属性,即trace MM T = M F 2
,对于任何矩阵M ,我们可以得到:
D w =trace X −M i X −M i T X∈∏i
k i =1
D b =trace n i M i −M M i −M T k
i =1
在线性变换L 和R 产生的低维空间中,类内距离和类间距离可以表示为:
D
w =trace L T X −M i RR T X −M i T L X∈∏i
k
i =1 D b =trace n i L T M i −M RR T M i −M T k
i =1L
最优的线性变换L 和R 可以让D
w 取最小值,D b 取最大值。

由于计算最优变换L 和R 的难度,我们推导出一个迭代算法。

更具体地说,对于一个固定的R ,我们可以通过求解一个优化问题来计算最优变换L 。

在计算变换L 的同时,我们可以通过解决另一个优化问题来更新变换R 。

具体步骤如下。

线性变换L 的计算:
对于一个固定的变换R ,D
w 和D b 可以改写为: D w =trace L T S w R L ,D b =trace L T S b R L
算法:2D-LDA A 1,…,A n ,ℓ1,ℓ2
输入:A 1,…,A n ,ℓ1,ℓ2
输出:L ,R ,B 1,….,B n
1.
计算第i 个类的平均值M i =1n i X X∈∏i ; 2.
计算全局的平均值M =1n X X∈∏i k i =1; 3.
R 0← I ℓ2,0 T
4. 对于1≤j ≤I
S w R ← X −M i R j −1R j −1T X −M i T X∈∏i k i =1
S b R ← n i M i −M T R j −1R j −1T M i −M k
i =1
5.
计算第ℓ1个特征向量 ∅ℓL ℓ=1ℓ1of S w R −1S b R 6. L j ← ∅1L ,…,∅ℓ1L
S w L ←
X −M i T X∈∏i k i =1L j L j T X −M i S b L ← n i M i −M T L j L j
T M i −M k i =1 7.
计算第ℓ2个特征向量 ∅ℓR ℓ=1ℓ2of S w L −1S b L 8.
R j ← ∅1R ,…,∅ℓ2R
9. 循环迭代
10. L ←L I ,R ←R I
11. B ℓ←L T A ℓR ,ℓ=1,..,n ;
12. 返回 L ,R ,B 1,…,B n
其中
S w R = X −M i RR T X −M i T X∈∏i k i =1
S b R = n i M i −M T RR T M i −M k
i =1
线性变换R 的计算:
接下来,计算线性变换R 。

对于一个固定的变换L ,D
w 和D b 可以改写为: D w =trace R T S w L R
D b =trace R T S b L R
其中
S w L = X −M i T LL T X −M i X∈∏i
k
i =1
S b L=n i M i−M T LL T M i−M
k
i=1
同样,最优的R可以通过解决下面的优化问题:
max
R
trace R T S w L R−1R T S b L R
来求解。

该解法可以通过解决一个广义特征值问题获得:S w L x=λS b L x。

一般来说,S b L是非奇异的,所以最优的R可以通过对S w L−1S b L作特征值分解来获得。

需要注意的是矩阵S w L和S b L的大小为c×c,远要小于S w和S b的尺寸。

Algorithm 2D-LDA.给出了2D-LDA算法的伪代码。

可以很清楚的看到,算法的主要计算还是集中在Algorithm 2D-LDA的第4,6,11行,算法的时间复杂度为O n max I1,I2r+c2I,其中I代表的是迭代次数。

2D-LDA算法依赖于
最初的的选择。

我们的实验证明选择R0= Iℓ
2,0T能够获得精确的结果,其中Iℓ
2
为单位矩阵。

我们在整个实验中都是使用这个初始的R0。

由于图像的宽和高一般是近似的,即r≈c≈,在论文中我们将I1和I2设置为同一个值d。

但是这个算法只能应用在一般的情况。

通过这个简化,2D-LDA 算法的时间复杂度变为O ndNI。

2D-LDA算法的空间复杂度为O rc=O N。

该算法的低空间复杂度的关键在于S w R,S b R,S w L和S b L这4个矩阵可以通过读取矩阵A i逐步构建。

3.1 2D-LDA+LDA
如引言中所介绍的,PCA常用于在LDA之前对数据进行降维以解决经典LDA的奇异性问题。

在本章节中,我们将2D-LDA和LDA方法进行了结合,即2D-LDA+LDA。

由于低维数据有利于LDA的处理,那么就通过2D-LDA对数据进行进一步降维。

具体地说,在通过2D-LDA+LDA方法的第一个阶段,将每一个图像A i∈R r×c降维成B i∈R d×d,其中d<min r,c。

在第二阶段,每一个B i首先被转换成向量b i∈R d2(矩阵向量对齐),然后b i通过LDA进一步降维b i L∈R k−1,其中k−1<d2,k是类的个数。

2D-LDA+LDA方法第一阶段的时间复杂度为O ndNI,第二阶段的时间复杂度为O n d22。

假设n<d2,则总的时间复杂度为O nd NI+d3。

4实验
在本章节,我们对2D-LDA方法和2D-LDA+LDA方法的人脸图像识别性能进行了评估,并和广泛应用于人脸识别的PCA+LDA方法进行了比较。

所有实验都是在1GB内存、1.80GHz的Linux机器上进行。

对于所有实验都是使用最邻近算法计算分类精度。

数据集:在实验中,我们使用了三组人脸数据集:PIX,ORL,PIE,PIX包括30个人的300幅图像,图像尺寸是512×512,我们归一化到100×100。

ORL 包括40个人的400幅图像,图像尺寸是92×112。

PIE是CMU—PIE人脸图像集的子集,包括63个人的6615幅图像,图像尺寸是640×480,统一到220×175。

图1 迭代次数对结果的影响(从左至右:PIX,Orl,PIE)
实验1. 研究迭代次数I对结果的影响
在该实验中,我们研究了2D-LDA方法中迭代次数对于算法的影响。

结果如图1所示,X轴表示迭代次数,Y轴表示分类精度。

在算法中,我们通常取d=10。

很显然,对于迭代次数的变换,两个方法的分类精度曲线都是稳定的,不随迭代次数变化而变化。

一般情况下,2D-LDA+LDA方法的精度曲线比2D-LDA更加稳定。

因此,我们只需要在2D-LDA算法中进行一次循环,即取I=1,两个算法的运行时间明显减少。

实验2.研究降维度d对于结果的影响
在本次实验中,我们研究了2D-LDA方法的变换空间中降维度数对于
2D-LDA和2D-LDA+LDA算法的影响。

我们做了大量的实验,对人脸数据集采用不同的降维度数d进行实验。

结果如图2所示,X轴代表降维度数d(1到15),Y轴代表使用最邻近方法进行分类的分类精度。

如图中所示,所有数据集的分类精度曲线都稳定在4到6之间。

实验3.比较两种算法的分类精度和效率
在本次实验中,我们就该算法的分类精度和效率和PCA+LDA算法进行了比较,结果如表1。

我们可以看到,2D-LDA+LDA算法在分类精度方面和PCA+LDA 算法效果差不多,略优于2D-LDA算法。

这说明2D-LDA+LDA算法的LDA阶
段不仅对数据进行可降维,还提高了整个算法的分类精度。

表1中另一个重要结果是2D-LDA算法比PCA+LDA快了将近一个数量级,和2D-LDA+LDA相同。

通过上述实验,我们可以得出,2D-LDA+LDA算法比PCA+LDA算法效率更高。

虽然两种方法在分类精度方面一致,但2D-LDA+LDA算法的时间和空间复杂度明显更低。

5总结
本文提出了一个高效的降维算法,即2D-LDA。

2D-LDA是LDA算法的扩展。

2D-LDA和LDA最主要的不同在于2D-LDA使用矩阵模型表示图像数据,而LDA算法使用向量表示数据。

相比于LDA方法,2D-LDA对内存的需求更小,并且时间复杂度也更低,处理大型人脸数据集更加理想,同时也避免了经典LDA 算法的奇异性问题。

我们也将2D-LDA和LDA进行了结合,即2D-LDA+LDA,通过2D-LDA方法进一步降维数据,效果比LDA更好。

实验表明2D-LDA方法和2D-LDA+LDA方法在分类精度方面和PCA+LDA方法相差无几,而且时间和空间复杂度更低。

图2降维度数对结果的影响(从左至右:PIX,ORL,PIE)
表1几种算法分类精度和效率比较
参考文献
[1] P.N. Belhumeour, J.P. Hespanha, and D.J. Kriegman. Eigenfaces vs. Fisherfaces: Recognition using class specific linear projection. IEEE Transactions on Pattern Analysis and Machine Intelligence, 19(7):711–720, 1997.
[2] R.O. Duda, P.E. Hart, and D. Stork. Pattern Classification. Wiley, 2000.
[3] S. Dudoit, J. Fridlyand, and T. P. Speed. Comparison of discrimination methods for the classification of tumors using gene expression data. Journal of the American Statistical Association, 97(457):77–87, 2002.
[4] K. Fukunaga. Introduction to Statistical Pattern Classification. Academic Press, San Diego, California, USA, 1990.
[5] W.J. Krzanowski, P. Jonathan, W.V McCarthy, and M.R. Thomas. Discriminant analysis with singular covariance matrices: methods and applications to spectroscopic data. Applied Statistics, 44:101–115, 1995.
[6] Daniel L. Swets and Juyang Weng. Using discriminant eigenfeatures for image retrieval. IEEETransactions on Pattern Analysis and Machine Intelligence, 18(8):831–836, 1996.
[7] J. Yang, D. Zhang, A.F. Frangi, and J.Y. Yang. Two-dimensional PCA: a new approach to appearance-based face representation and recognition. IEEE Transactions on Pattern Analysisand Machine Intelligence, 26(1):131–137, 2004.
[8] J. Ye. Generalized low rank approximations of matrices. In ICML Conference Proceedings, pages 887–894, 2004.
[9] J. Ye, R. Janardan, and Q. Li. GPCA: An efficient dimension reduction scheme for image compression and retrieval. In ACM SIGKDD Conference Proceedings, pages 354–363, 2004.。

相关文档
最新文档