PCA(主成分分析)和LDA(线性判别分析)的异同处及应用场景
在机器学习领域,PCA和LDA都可以看成是数据降维的一种方式。但是PCA是无监督的,也就是说不需要知道样本对应的标签,而LDA是有监督的,需要知道每一个数据点对应的标签。
图的左边是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和LDA都是经典的降维算法;
- PCA和LDA都假设数据是符合高斯分布的;
- PCA和LDA都利用了矩阵特征分解的思想
不同点:
- PCA是无监督(训练样本无标签)的,LDA是有监督(训练样本有标签)的;
- PCA是去掉原始数据冗余的维度,LDA是选择一个最佳的投影方向,使得投影后相同类别的数据分布紧凑,不同类别的数据尽量相互远离。
- LDA最多可以降到k-1维(k是训练样本的类别数量,k-1是因为最后一维的均值可以由前面的k-1维的均值表示);
- LDA可能会过拟合数据。
PCA(主成分分析)和LDA(线性判别分析)的异同处及应用场景相关推荐
- 第八章 采用PCA(主成分分析)或LDA(线性判别分析)的人脸识别(一)
该文章是转载,原转载的链接已经失效,但是为了表示对原作者的尊重,还是将链接贴出来. [原文:http://blog.csdn.net/raby_gyl/article/details/12611861 ...
- 机器学习】LDA线性判别分析
[机器学习]LDA线性判别分析 1. LDA的基本思想 2. LDA求解方法 3. 将LDA推广到多分类 4. LDA算法流程 5. LDA和PCA对比 [附录1]瑞利商与广义瑞利商 线性判别分析 ( ...
- 史上最好的LDA(线性判别分析)教程
一.前言 最近由于研究需要,要用到线性判别分析(LDA).于是找了很多资料来看,结果发现大部分讲的都是理论知识,因此最后还是看的一知半解,后来终于找到了个英文的文档,作者由PCA引入LDA,看过后豁然 ...
- ML:基于自定义数据集利用Logistic、梯度下降算法GD、LoR逻辑回归、Perceptron感知器、SVM支持向量机、LDA线性判别分析算法进行二分类预测(决策边界可视化)
ML:基于自定义数据集利用Logistic.梯度下降算法GD.LoR逻辑回归.Perceptron感知器.支持向量机(SVM_Linear.SVM_Rbf).LDA线性判别分析算法进行二分类预测(决策 ...
- R语言LDA线性判别分析
LDA线性判别分析 R语言中LDA的实现过程 lda()函数理解 lda()用法 lda()参数介绍 lda示例 可视化结果 应用前景 最流行或最成熟的机器学习技术之一是线性判别分析 (LDA) ...
- 脑电信号(EEG)处理中的机器学习方法总结——回归模型,SVM、K近邻、人工神经网络、朴素贝叶斯、决策树和随机森林、集成学习、模糊逻辑、LDA线性判别分析、K-means聚类、强化学习、迁移学习
本文归纳总结了机器学习在脑电分析中的应用,并详细介绍回归模型,SVM.K近邻.人工神经网络.朴素贝叶斯.决策树和随机森林.集成学习.模糊逻辑.LDA线性判别分析.K-means聚类.强化学习.迁移学习 ...
- LDA(线性判别分析)详解 —— matlab
目录 前言 正题 1.LDA的思想 2. 瑞利商(Rayleigh quotient)与广义瑞利商(genralized Rayleigh quotient) 3. 二类LDA原理 4.多类LDA原理 ...
- LDA(线性判别分析(普通法))详解 —— python
在这里和大家道个歉,因为我有一篇matlab的LDA和这篇内容大致相同,我就犯懒了,直接复制,没想到公式复制过来全变成了图片,然后造成了,排版有问题,非常难看,真的很抱歉!!!以后大家督促哈,我再犯懒 ...
- LDA线性判别分析原理
这里我们就对另外一种经典的降维方法线性判别分析(Linear Discriminant Analysis, 以下简称LDA)做一个总结.LDA在模式识别领域(比如人脸识别,舰艇识别等图形图像识别领域) ...
最新文章
- .net 基于Jenkins的自动构建系统开发
- 洛谷P1006 传纸条 (棋盘dp)
- java.security.InvalidKeyException:illegal Key Size
- beta book读书俱乐部的构思
- VC++中的char,wchar_t,TCHAR(转载)
- 深入理解JavaScript系列(18):面向对象编程之ECMAScript实现
- 《基于MFC的OpenGL编程》Part 14 Quadrics
- Yii防注入攻击笔记
- 2019年企业数据生产力调研报告,90%的人都没看过
- Web 前端常用插件
- 11g oracle 客户端驱动_oracle odbc driver configuration(oracle 11g odbc驱动程序) 64位/32位
- md5修改器v1.0
- 计算机组成原理ACC中文含义,计算机组成原理答案.ppt
- 多序列比对---ClustalX比对GeneDoc美化
- 最后的最后的一场考试
- FastDFS和GFS以及NFS的对比
- linux efi启动,在linux环境中利用efibootmgr管理efi启动项
- 修改Github仓库中项目语言类型
- 【渝粤教育】电大中专中药鉴定学作业 题库
- Windows下解压分卷压缩方法