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)相关推荐

  1. 机器学习(三十一)——Linear Discriminant Analysis

    Linear Discriminant Analysis 在<机器学习(十六)>中,我们已经讨论了一个LDA,这里我们来看看另一个LDA. Linear Discriminant Anal ...

  2. LDA(Linear Discriminant Analysis)的原理详解

    什么是LDA LDA是一种监督学习的降维技术,也就是说它的数据集的每个样本是有类别输出的.这点和PCA不同.PCA是不考虑样本类别输出的无监督降维技术.LDA的思想可以用一句话概括,就是"投 ...

  3. 线性判别分析LDA(linear discriminant analysis)与二次判别分析QDA(quadratic discriminant analysis)

    文章目录 什么是LDA LDA与PCA 相同 不同 LDA python实现 使用sklearn实现LDA 再进一步QDA QDA数学原理 QDA与LDA比较 Source: Python Machi ...

  4. 机器学习算法系列(十)-线性判别分析算法(一)(Linear Discriminant Analysis Algorithm)

    阅读本文需要的背景知识点:拉格朗日乘数法.一丢丢编程知识 一.引言   前面学习了一种用回归的方式来做分类的算法--对数几率回归算法,下面再来学习另一种分类算法--线性判别分析算法1(Linear D ...

  5. 四大机器学习降维算法:PCA、LDA、LLE、Laplacian Eigenmaps

    四大机器学习降维算法:PCA.LDA.LLE.Laplacian Eigenmaps 引言 机器学习领域中所谓的降维就是指采用某种映射方法,将原高维空间中的数据点映射到低维度的空间中.降维的本质是学习 ...

  6. 邻域线性判别《Neighborhood linear discriminant analysis》

    模式识别与机器学习老师留了作业说是让找一篇线性判别的论文,所以就记录一下论文(<Neighborhood linear discriminant analysis>)吧,虽然只是一些翻译. ...

  7. 使用LDA(Linear Discriminant Analysis)进行降维(dimention reduction)详解和实战

    使用LDA(Linear Discriminant Analysis)进行降维(dimention reduction)详解和实战 LDA也可被视为一种监督降维技术.不同于PCA(Principle ...

  8. 机器学习:Linear Discriminant Analysis(过程详解+实例代码MATLAB实现

    目录 LDA概念 线性判别分析(LDA)-二分类 LDA二分类过程 举个例子 线性判别分析-多分类 LDA多分类过程 Experiment 3: Linear Discriminant Analysi ...

  9. 线性判别分析(Linear Discriminant Analysis, LDA)算法分析

    LDA算法入门 一. LDA算法概述: 线性判别式分析(Linear Discriminant Analysis, LDA),也叫做Fisher线性判别(Fisher Linear Discrimin ...

最新文章

  1. asp.net窗体操作总结
  2. Linux命令中的rpm安装命令
  3. hbase 页面访问_HBase
  4. tool vmmap 配置符号文件 symbolic file
  5. Linux下tomcat的服务器自启动配置
  6. PyMOTW-3 (Python 3 Module of the Week) 翻译团队召集
  7. rs485数据线接反_终于有人把RS485通讯的正确接线方式讲明白了,网友:这下好办了...
  8. mac 谷歌浏览器翻译问题
  9. 关于VM虚拟机一启动就会使电脑重启的问题
  10. python sasl_Pyhive、SASL和Python 3.5
  11. 云服务器微信faq,微信公众平台常见问题FAQ
  12. 罗技无线鼠标接收器无法配对的详细解决办法
  13. umi+dva dva全局的dispatch方法
  14. 大数加法(测试数据不完全,可能会有出错个例)
  15. IOC之bean之间的关系讲解
  16. 就这样,我走完了程序员的前五年,共勉!
  17. 从功能测试到自动化测试,我在阿里的这7年
  18. linux运行md文件,Linux常用的18个命令.md
  19. NXP(imx8qxp)上android11的EG25-G(4G)模块调试记录
  20. python中单竖线是什么意思_Python中使用的符号和竖线字符在哪里?

热门文章

  1. python的empty函数_python中numpy.empty()函数的用法
  2. 数学分析闭区间套定理_【缠论基础】区间套
  3. linux那些事之LRU(3)
  4. 数据定义语言DDL之数据库操作
  5. ECharts 浙江地图实践
  6. JAVA 中JDK下载安装
  7. npm run dev (明明有.vue文件),却报错 cannot GET
  8. 地摊叫卖、超市播音工具-简洁的文字转语音播音软件
  9. 基于java语言轻量级实时风控引擎
  10. 纯CSS实现非常好看的图片轮播演示