LDA算法入门

2017年9月29日 由 Creater 留言 »
参考
Introduction to LDA
Linear Discriminant Analysis – A Brief Tutorial
http://www.aiaccess.net/English/Glossaries/GlosMod/e_gm_fisher_discriminant.htm
线性判别分析(Linear Discriminant Analysis, LDA)算法分析

一. LDA算法概述:

线性判别式分析(Linear Discriminant Analysis, LDA),也叫做Fisher线性判别(Fisher Linear Discriminant ,FLD),是模式识别的经典算法,它是在1996年由Belhumeur引入模式识别和人工智能领域的。性鉴别分析的基本思想是将高维的模式样本投影到最佳鉴别矢量空间,以达到抽取分类信息和压缩特征空间维数的效果,投影后保证模式样本在新的子空间有最大的类间距离和最小的类内距离,即模式在该空间中有最佳的可分离性。因此,它是一种有效的特征抽取方法。使用这种方法能够使投影后模式样本的类间散布矩阵最大,并且同时类内散布矩阵最小。就是说,它能够保证投影后模式样本在新的空间中有最小的类内距离和最大的类间距离,即模式在该空间中有最佳的可分离性。

下载详细介绍文件文档  以及 文档和代码

四. 算法的物理意义和思考

4.1 用一个例子阐述LDA算法在空间上的意义

下面我们利用LDA进行一个分类的问题:假设一个产品有两个参数来衡量它是否合格,

我们假设两个参数分别为:

参数A

参数B

是否合格

2.95

6.63

合格

2.53

7.79

合格

3.57

5.65

合格

3.16

5.47

合格

2.58

4.46

不合格

2.16

6.22

不合格

3.27

3.52

不合格

实验数据来源:http://people.revoledu.com/kardi/tutorial/LDA/Numerical%20Example.html

所以我们可以根据上图表格把样本分为两类,一类是合格的,一类是不合格的,所以我们可以创建两个数据集类:

cls1_data =

    2.9500    6.6300

    2.5300    7.7900

    3.5700    5.6500

3.1600    5.4700

cls2_data =

    2.5800    4.4600

    2.1600    6.2200

    3.2700    3.5200

其中cls1_data为合格样本,cls2_data为不合格的样本,我们根据公式(1),(2)可以算出合格的样本的期望值,不合格类样本的合格的值,以及总样本期望:

E_cls1 =

3.0525    6.3850

E_cls2 =

2.6700    4.7333

E_all =

2.8886    5.6771

我们可以做出现在各个样本点的位置:

图一

其中蓝色‘*’的点代表不合格的样本,而红色实点代表合格的样本,天蓝色的倒三角是代表总期望,蓝色三角形代表不合格样本的期望,红色三角形代表合格样本的期望。从x,y轴的坐标方向上可以看出,合格和不合格样本区分度不佳。

我们在可以根据表达式(3),(4)可以计算出类间离散度矩阵和类内离散度矩阵:

Sb =

    0.0358    0.1547

0.1547    0.6681

Sw =

    0.5909   -1.3338

   -1.3338    3.5596

我们可以根据公式(7),(8)算出特征值以及对应的特征向量:

L =

    0.0000         0

         0    2.8837

对角线上为特征值,第一个特征值太小被计算机约为0了

与他对应的特征向量为

V =

   -0.9742   -0.9230

0.2256   -0.3848

根据取最大特征值对应的特征向量:(-0.9230,-0.3848),该向量即为我们要求的子空间,我们可以把原来样本投影到该向量后 所得到新的空间(2维投影到1维,应该为一个数字)

new_cls1_data =

   -5.2741

   -5.3328

   -5.4693

   -5.0216

为合格样本投影后的样本值

new_cls2_data =

   -4.0976

   -4.3872

   -4.3727

为不合格样本投影后的样本值,我们发现投影后,分类效果比较明显,类和类之间聚合度很高,我们再次作图以便更直观看分类效果

图二

蓝色的线为特征值较小所对应的特征向量,天蓝色的为特征值较大的特征向量,其中蓝色的圈点为不合格样本在该特征向量投影下来的位置,二红色的‘*’符号的合格样本投影后的数据集,从中个可以看出分类效果比较好(当然由于x,y轴单位的问题投影不那么直观)。

我们再利用所得到的特征向量,来对其他样本进行判断看看它所属的类型,我们取样本点

(2.81,5.46),

我们把它投影到特征向量后得到:result = -4.6947 所以它应该属于不合格样本。

4.2 LDA算法与PCA算法

在传统特征脸方法的基础上,研究者注意到特征值打的特征向量(即特征脸)并一定是分类性能最好的方向,而且对K-L变换而言,外在因素带来的图像的差异和人脸本身带来的差异是无法区分的,特征连在很大程度上反映了光照等的差异。研究表明,特征脸,特征脸方法随着光线,角度和人脸尺寸等因素的引入,识别率急剧下降,因此特征脸方法用于人脸识别还存在理论的缺陷。线性判别式分析提取的特征向量集,强调的是不同人脸的差异而不是人脸表情、照明条件等条件的变化,从而有助于提高识别效果。

 PDF 版本可以这里下http://download.csdn.net/source/2228368 (推荐浙江大学蔡登教授编写的关于LDA的代码:http://www.cad.zju.edu.cn/home/dengcai/Data/code/LDA.m)

广告位

发表评论

你必须 登陆 方可发表评论.