LDA与PCA的一些区别总结
2014-05-17 12:14
204 查看
LDA,基本和PCA是一对双生子,它们之间的区别就是PCA是一种unsupervised的映射方法而LDA是一种supervised映射方法,这一点可以从下图中一个2D的例子简单看出
![](file:///d:/软件/360se6/USERDA~1/Temp/114542~1.PNG)
![](http://img.blog.csdn.net/20140517121408203?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdTAxMzQ4ODU2Mw==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
图的左边是PCA,它所作的只是将整组数据整体映射到最方便表示这组数据的坐标轴上,映射时没有利用任何数据内部的分类信息。因此,虽然做了PCA后,整组数据在表示上更加方便(降低了维数并将信息损失降到最低),但在分类上也许会变得更加困难;图的右边是LDA,可以明显看出,在增加了分类信息之后,两组输入映射到了另外一个坐标轴上,有了这样一个映射,两组数据之间的就变得更易区分了(在低维上就可以区分,减少了很大的运算量)。
在实际应用中,最常用的一种LDA方法叫作Fisher Linear Discriminant,其简要原理就是求取一个线性变换,是的样本数据中“between classes scatter matrix”(不同类数据间的协方差矩阵)和“within classes scatter matrix”(同一类数据内部的各个数据间协方差矩阵)之比的达到最大。
两者都是为了在对原始数据降维之后进行分类。PCA是无监督的方式,它没有分类标签,降维之后需要采用K-Means或自组织映射网络等无监督的算法进行分类。LDA是有监督的方式,它先对训练数据进行降维,然后找出一个线性判别函数。
在这里,引申一点内容:搞清楚什么叫判别分析?Discriminant Analysis就是根据研究对象的各种特征值判别其类型归属问题的一种多变量统计分析方法。
根据判别标准不同,可以分为距离判别、Fisher判别、Bayes判别法等。比如在KNN中用的就是距离判别,当然这里的“距离”又有好几种:欧氏距离、街区距离、甚至可以用皮尔森相关系数等。朴素贝叶斯分类用的就是Bayes判别法。本文要讲的线性判别分析就是用是Fisher判别式。
根据判别函数的形式,可以分为线性判别和非线性判别。
图的左边是PCA,它所作的只是将整组数据整体映射到最方便表示这组数据的坐标轴上,映射时没有利用任何数据内部的分类信息。因此,虽然做了PCA后,整组数据在表示上更加方便(降低了维数并将信息损失降到最低),但在分类上也许会变得更加困难;图的右边是LDA,可以明显看出,在增加了分类信息之后,两组输入映射到了另外一个坐标轴上,有了这样一个映射,两组数据之间的就变得更易区分了(在低维上就可以区分,减少了很大的运算量)。
在实际应用中,最常用的一种LDA方法叫作Fisher Linear Discriminant,其简要原理就是求取一个线性变换,是的样本数据中“between classes scatter matrix”(不同类数据间的协方差矩阵)和“within classes scatter matrix”(同一类数据内部的各个数据间协方差矩阵)之比的达到最大。
两者都是为了在对原始数据降维之后进行分类。PCA是无监督的方式,它没有分类标签,降维之后需要采用K-Means或自组织映射网络等无监督的算法进行分类。LDA是有监督的方式,它先对训练数据进行降维,然后找出一个线性判别函数。
在这里,引申一点内容:搞清楚什么叫判别分析?Discriminant Analysis就是根据研究对象的各种特征值判别其类型归属问题的一种多变量统计分析方法。
根据判别标准不同,可以分为距离判别、Fisher判别、Bayes判别法等。比如在KNN中用的就是距离判别,当然这里的“距离”又有好几种:欧氏距离、街区距离、甚至可以用皮尔森相关系数等。朴素贝叶斯分类用的就是Bayes判别法。本文要讲的线性判别分析就是用是Fisher判别式。
根据判别函数的形式,可以分为线性判别和非线性判别。
相关文章推荐
- 对C和C++区别的一些零散总结
- VC6和VS2005(及2010)的一些区别总结
- Html 中表单提交的一些知识总结——防止表单自动提交,以及submit和button提交表单的区别
- LDA(线性判别式分析)以及与PCA降维之间的区别
- 基于PCA的人脸识别_Matlab实现(个人研读之后的一些总结)
- 转:js中的Object和function的一些比较,typeof和constructor总结 区别
- LDA与PCA都是常用的降维方法,二者的区别
- 总结ORACLE和MYSQL的一些区别
- PCA与LDA区别与联系
- java基础知识,一些概念的区别总结
- VC6和VS2005(及2010)的一些区别总结
- 面向对象__阶段总结__【覆盖与重载的区别】【继承,多态的一些细节】
- 人脸识别PCA LDA等方法的一些讨论
- 关于Java中equal函数和==的一些区别做一个总结,以供自己随时查看复习。
- PCA与LDA的区别与联系
- VC6和VS2005(及2010)的一些区别总结
- 关于IAR的一些总结 -- ARM调试和Flash调试的区别
- 总结下MySQL存储引擎的区别和性能优化的一些方法
- PCA & LDA 区别
- PCA(主成成分分析)和LDA(线性判别分析)详解-共性和区别