机器学习降维算法二:LDA(Linear Discriminant Analysis)
Linear Discriminant Analysis (也有叫做Fisher Linear Discriminant)是一种有监督的(supervised)线性降维算法。与PCA保持数据信息不同,LDA是为了使得降维后的数据点尽可能地容易被区分!
假设原始数据表示为X,(m*n矩阵,m是维度,n是sample的数量)
既然是线性的,那么就是希望找到映射向量a,使得 a'X后的数据点能够保持以下两种性质:
1、同类的数据点尽可能的接近(within class)
2、不同类的数据点尽可能的分开(between class)
来看一个例子:两堆点会这样被降维
再看上次PCA用的这张图,如果图中两堆点是两类的话,那么我们就希望他们能够投影到轴1去(PCA结果为轴2),这样在一维空间中也是很容易区分的。
接下来是推导,因为这里写公式很不方便,我就引用Deng Cai老师的一个ppt中的一小段图片了:
a是投影向量,z是映射后的数据,x是原始数据,μ是一类点的质心(平均值)。
思路还是非常清楚的,目标函数就是最后一行J(a),μ(一飘)就是映射后的中心用来评估类间距,s(一飘)就是映射后的点与中心的距离之和用来评估类内距。J(a)正好就是从上述两个性质演化出来的。
因此两类情况下:
加上a'a=1的条件(类似于PCA)
可以拓展成多类:
以上公式推导可以具体参考pattern classification书中的相应章节,讲fisher discirminant的
OK,计算映射向量a就是求最大特征向量,也可以是前几个最大特征向量组成矩阵A=[a1,a2,....ak]之后,就可以对新来的点进行降维了:
y = A'X
(线性的一个好处就是计算方便!)
可以发现,LDA最后也是转化成为一个求矩阵特征向量的问题,和PCA很像,事实上很多其他的算法也是归结于这一类,一般称之为谱(spectral)方法。
线性降维算法我想最重要的就是PCA和LDA了,后面还会介绍一些非线性的方法。
机器学习降维算法二:LDA(Linear Discriminant Analysis)相关推荐
- 机器学习(三十一)——Linear Discriminant Analysis
Linear Discriminant Analysis 在<机器学习(十六)>中,我们已经讨论了一个LDA,这里我们来看看另一个LDA. Linear Discriminant Anal ...
- LDA(Linear Discriminant Analysis)的原理详解
什么是LDA LDA是一种监督学习的降维技术,也就是说它的数据集的每个样本是有类别输出的.这点和PCA不同.PCA是不考虑样本类别输出的无监督降维技术.LDA的思想可以用一句话概括,就是"投 ...
- 线性判别分析LDA(linear discriminant analysis)与二次判别分析QDA(quadratic discriminant analysis)
文章目录 什么是LDA LDA与PCA 相同 不同 LDA python实现 使用sklearn实现LDA 再进一步QDA QDA数学原理 QDA与LDA比较 Source: Python Machi ...
- 机器学习算法系列(十)-线性判别分析算法(一)(Linear Discriminant Analysis Algorithm)
阅读本文需要的背景知识点:拉格朗日乘数法.一丢丢编程知识 一.引言 前面学习了一种用回归的方式来做分类的算法--对数几率回归算法,下面再来学习另一种分类算法--线性判别分析算法1(Linear D ...
- 四大机器学习降维算法:PCA、LDA、LLE、Laplacian Eigenmaps
四大机器学习降维算法:PCA.LDA.LLE.Laplacian Eigenmaps 引言 机器学习领域中所谓的降维就是指采用某种映射方法,将原高维空间中的数据点映射到低维度的空间中.降维的本质是学习 ...
- 邻域线性判别《Neighborhood linear discriminant analysis》
模式识别与机器学习老师留了作业说是让找一篇线性判别的论文,所以就记录一下论文(<Neighborhood linear discriminant analysis>)吧,虽然只是一些翻译. ...
- 使用LDA(Linear Discriminant Analysis)进行降维(dimention reduction)详解和实战
使用LDA(Linear Discriminant Analysis)进行降维(dimention reduction)详解和实战 LDA也可被视为一种监督降维技术.不同于PCA(Principle ...
- 机器学习:Linear Discriminant Analysis(过程详解+实例代码MATLAB实现
目录 LDA概念 线性判别分析(LDA)-二分类 LDA二分类过程 举个例子 线性判别分析-多分类 LDA多分类过程 Experiment 3: Linear Discriminant Analysi ...
- 线性判别分析(Linear Discriminant Analysis, LDA)算法分析
LDA算法入门 一. LDA算法概述: 线性判别式分析(Linear Discriminant Analysis, LDA),也叫做Fisher线性判别(Fisher Linear Discrimin ...
最新文章
- asp.net窗体操作总结
- Linux命令中的rpm安装命令
- hbase 页面访问_HBase
- tool vmmap 配置符号文件 symbolic file
- Linux下tomcat的服务器自启动配置
- PyMOTW-3 (Python 3 Module of the Week) 翻译团队召集
- rs485数据线接反_终于有人把RS485通讯的正确接线方式讲明白了,网友:这下好办了...
- mac 谷歌浏览器翻译问题
- 关于VM虚拟机一启动就会使电脑重启的问题
- python sasl_Pyhive、SASL和Python 3.5
- 云服务器微信faq,微信公众平台常见问题FAQ
- 罗技无线鼠标接收器无法配对的详细解决办法
- umi+dva dva全局的dispatch方法
- 大数加法(测试数据不完全,可能会有出错个例)
- IOC之bean之间的关系讲解
- 就这样,我走完了程序员的前五年,共勉!
- 从功能测试到自动化测试,我在阿里的这7年
- linux运行md文件,Linux常用的18个命令.md
- NXP(imx8qxp)上android11的EG25-G(4G)模块调试记录
- python中单竖线是什么意思_Python中使用的符号和竖线字符在哪里?