线性判别分析(Linear Discriminant Analysis,LDA)
一、LDA的基本思想
线性判别式分析(Linear Discriminant Analysis, LDA),也叫做Fisher线性判别(Fisher Linear Discriminant ,FLD),是模式识别的经典算法,它是在1996年由Belhumeur引入模式识别和人工智能领域的。线性鉴别分析的基本思想是将高维的模式样本投影到最佳鉴别矢量空间,以达到抽取分类信息和压缩特征空间维数的效果,投影后保证模式样本在新的子空间有最大的类间距离和最小的类内距离,即模式在该空间中有最佳的可分离性。
如下图所示,根据肤色和鼻子高低将人分为白人和黑人,样本中白人的鼻子高低和皮肤颜色主要集中A组区域,黑人的鼻子高低和皮肤颜色主要集中在B组区域,很显然A组合B组在空间上明显分离的,将A组和B组上的点都投影到直线L上,分别落在直线L的不同区域,这样就线性的将黑人和白人分开了。一旦有未知样本需要区分,只需将皮肤颜色和鼻子高低代入直线L的方程,即可判断出未知样本的所属的分类。
因此,LDA的关键步骤是选择合适的投影方向,即建立合适的线性判别函数(非线性不是本文的重点)。
二、LDA的计算过程
1、代数表示的计算过程
设已知两个总体A和B,在A、B两总体分别提出m个特征,然后从A、B两总体中分别抽取出
、
个样本,得到A、B两总体的样本数据如下:
和
假设存在这样的线性函数(投影平面),可以将A、B两类样本投影到该平面上,使得A、B两样本在该直线上的投影满足以下两点:(1)两类样本的中心距离最远;(2)同一样本内的所有投影距离最近。我们将该线性函数表达如下:
将A总体的第个样本点
投影到
平面上得到投影点
,即
A总体的样本在平面投影的重心为
其中
同理可以得到B在平面上的投影点
以及B总体样本在平面投影的重心为
其中
按照Fisher的思想,不同总体A、B的投影点应尽量分开,用数学表达式表示为,而同一总体的投影点的距离应尽可能的小,用数学表达式表示为
,
,合并得到
求从而使得
得到最大值,分别对
进行求导即可,详细步骤不表。
2、向量表示的计算过程
上述LDA判别的代数表述方法直观,单较为复杂,而且两个以上的样本总体不适用,向量和矩阵包含更丰富的信息,表达能力更强,本小结将介绍LDA的向量表示的计算过程。
假设对于一个维空间有
个样本分别为
即 每个样本
是一个
行的矩阵,其中
表示属于
类的样本个数,假设有一个有c个类,则
。
约定数学符号和表达式如下:
-- 第
类的样本个数;
--第
个样本;
--所有样本的均值;
--类
的样本均值;
-- 类间离散度矩阵,协方差矩阵;
-- 第
类内离散度矩阵;
-- 所有类的类内离散程度总和;
-- 第
类的样本个数;
--第
个样本;
我们可以知道矩阵的实际意义是一个协方差矩阵,这个矩阵所刻画的是该类与样本总体之间的关系,其中该矩阵对角线上的函数所代表的是该类相对样本总体的方差(即分散度),而非对角线上的元素所代表是该类样本总体均值的协方差(即该类和总体样本的相关联度或称冗余度),所以
把所有样本中各个样本根据自己所属的类计算出样本与总体的协方差矩阵的总和,这从宏观上描述了所有类和总体之间的离散冗余程度。同理,
为分类内各个样本和所属类之间的协方差矩阵之和,它所刻画的是从总体来看类内各个样本与类之间(这里所刻画的类特性是由是类内各个样本的平均值矩阵构成)离散度,其实从中可以看出不管是类内的样本期望矩阵还是总体样本期望矩阵,它们都只是充当一个媒介作用,不管是类内还是类间离散度矩阵都是从宏观上刻画出类与类之间的样本的离散度和类内样本和样本之间的离散度。
LDA做为一个分类的算法,我们当然希望它所分的类之间耦合度低,类内的聚合度高,即类内离散度矩阵的中的数值要小,而类间离散度矩阵中的数值要大,这样的分类的效果才好。这里我们引入Fisher鉴别准则表达式:
其中为任一
维列矢量。Fisher线性鉴别分析就是选取使得
达到最大值的矢量
作为投影方向,其物理意义就是投影后的样本具有最大的类间离散度和最小的类内离散度。我们把公式
和公式
代入公式
得到:
重点来了(给它加100个粗,哈哈),设矩阵,其中
可以看成是一个空间(相当于代数表达式里的
),也就是说
就是矩阵
构成的低维空间
(超平面)的投影,联想一下特征值的表达式
。
也可表示为
,而当样本为列向量时,
即表示
在
空间的几何距离的平方。所以可以推出fisher线性鉴别分析表达式的分子即为样本在投影
空间下的类间几何距离的平方和,同理也可推出分母为样本在投影
空间下的类内几何距离的平方差,所以分类问题就转化到找一个低维空间使得样本投影到该空间下时,投影下来的类间距离平方和与类内距离平方和之比最大,即最佳分类效果。
所以根据上述思想,即通过最优化下面的准则函数找到有一组最优鉴别矢量构成的投影矩阵(这里我们也可以看出1/m可以通过分子分母约掉,所以前面所提到的第一组公式和第二组公式所表达的效果是一样的).
可以证明,当为非奇异(一般在实现LDA算法时,都会对样本做一次PCA算法的降维,消除样本的冗余度,从而保证
是非奇异阵,当然即使
为奇异阵也是可以解的,可以把
或
对角化,这里不做讨论,假设都是非奇异的情况)时,最佳投影矩阵
的列向量恰为下来广义特征方程
的d个最大的特征值所对应的特征向量(矩阵
的特征向量),且最优投影轴的个数d<=c-1。
根据式可以推出
又由于
把式代入
式可得:
所以根据公式意义来看,要使max最大则只要取即可,所可得到如下结论:投影矩阵
的列向量为d(自取)个最大特征值对应的特征向量,其中
三、LDA的应用实例分析
R语言的MASS包中有实现LDA的函数,函数名为lda,具体的应用实例请参考文章:
http://xccds1977.blogspot.tw/2011/12/r_27.html
------------------------------------
文中的内容大部分来自网络,仅作为本人的学习笔记
线性判别分析(Linear Discriminant Analysis,LDA)的更多相关文章
- 线性判别分析(Linear Discriminant Analysis, LDA)算法分析
原文来自:http://blog.csdn.net/xiazhaoqiang/article/details/6585537 LDA算法入门 一. LDA算法概述: 线性判别式分析(Lin ...
- 线性判别分析(Linear Discriminant Analysis, LDA)算法初识
LDA算法入门 一. LDA算法概述: 线性判别式分析(Linear Discriminant Analysis, LDA),也叫做Fisher线性判别(Fisher Linear Discrimin ...
- Linear Discriminant Analysis Algorithm
线性判别分析算法. 逻辑回归是一种分类算法,传统上仅限于两类分类问题. 如果有两个以上的类,那么线性判别分析算法是首选的线性分类技术.LDA的表示非常直接.它包括数据的统计属性,为每个类计算.对于单个 ...
- 机器学习: Linear Discriminant Analysis 线性判别分析
Linear discriminant analysis (LDA) 线性判别分析也是机器学习中常用的一种降维算法,与 PCA 相比, LDA 是属于supervised 的一种降维算法.PCA考虑的 ...
- Max-Mahalanobis Linear Discriminant Analysis Networks
目录 概 主要内容 Pang T, Du C, Zhu J, et al. Max-Mahalanobis Linear Discriminant Analysis Networks[C]. inte ...
- 线性判别分析(Linear Discriminant Analysis)转载
1. 问题 之前我们讨论的PCA.ICA也好,对样本数据来言,可以是没有类别标签y的.回想我们做回归时,如果特征太多,那么会产生不相关特征引入.过度拟合等问题.我们可以使用PCA来降维,但PCA没有将 ...
- 线性判别分析(Linear Discriminant Analysis)
1. 问题 之前我们讨论的PCA.ICA也好,对样本数据来言,可以是没有类别标签y的.回想我们做回归时,如果特征太多,那么会产生不相关特征引入.过度拟合等问题.我们可以使用PCA来降维,但PCA没有将 ...
- 高斯判别分析 Gaussian Discriminant Analysis
如果在我们的分类问题中,输入特征xx是连续型随机变量,高斯判别模型(Gaussian Discriminant Analysis,GDA)就可以派上用场了. 以二分类问题为例进行说明,模型建立如下: ...
- [ML] Linear Discriminant Analysis
虽然名字里有discriminat这个字,但却是生成模型,有点意思. 判别式 pk 生成式 阅读:生成方法 vs 判别方法 + 生成模型 vs 判别模型 举例: 判别式模型举例:要确定一个羊是山羊还是 ...
随机推荐
- CodeForces 489D Unbearable Controversy of Being
题意: 给出一个n个节点m条边的有向图,求如图所示的菱形的个数. 这四个节点必须直接相邻,菱形之间不区分节点b.d的个数. 分析: 我们枚举每个a和c,然后求出所有满足a邻接t且t邻接c的节点的个数记 ...
- Jqgrid入门-别具特色的Pager Bar (四)
Pager Bar位于表格最下边.默认情况下,分为三部分.如图: 第一部分:导航按钮栏(Navigator) 第二部分:页码栏(Pager) 第三部分:记录信息栏(Record) 要实 ...
- I.MX6 开启 1000Mb/s interface
/*********************************************************************** * I.MX6 开启 1000Mb/s interfa ...
- apache开源项目 -- Wicket
[infoq] Apache Wicket是一个功能强大.基于组件的轻量级Web应用框架,能将展现和业务逻辑很好地分离开来.你能用它创建易于测试.调试和支持的高质量Web 2.0应用.假设其他团队交付 ...
- Linux常用设置
1.文件夹操作 创建-->mkdir NAME 删除-->rm NAME -i 删除前逐一询问确认 -f 直接删除,不确认 -r 将目录即以下档案逐一删除 例:删除所有C语言程序文档,删除 ...
- 【jQuery】鼠标接触按钮后改变图片
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"% ...
- Oracle 课程九之绑定变量
课程目标 完成本课程的学习后,您应该能够: •变量绑定的目的 •父子游标 •游标共享 •绑定窥探 •SQL语句处理流程 •硬解析.软解析.软软解析 •变量绑定的应用场景 1.游标 游标可以理解为S ...
- <译>Selenium Python Bindings 1 - Installation
Installation Introduction Selenium Python bindings 提供了一个简单的API来使用Selenium WebDriver编写使用功能/验收测试.通过Sel ...
- 跟我学机器视觉-HALCON学习例程中文详解-FUZZY检测用于开关引脚测量
跟我学机器视觉-HALCON学习例程中文详解-FUZZY检测用于开关引脚测量 * This example program demonstrates the basic usage of a fuzz ...
- select的option异常的总结
来源:http://www.ido321.com/1189.html 昨天,在项目中碰到了option显示异常的原因,截图如下: Firefox中用css控制之后效果 chrome和IE中css不奏效 ...