之前说到的PCA,它主要的目的是寻找数据variance变化最大的轴。通过删去数据中variance变化不大的轴来压缩数据的维数。PCA没有办法很好的解决数据分类的问题(classification

LDA or Fisher Discriminate Analysis 是一种用于分类数据的分析方法。他的目的是寻找到一条直线,当把所有数据点投影到直线上之后,尽可能的分开不同类别的训练数据。

很容易想到,每个类别训练数据投影到直线后的平均数的差可以做为衡量这条直线好坏的一个标准。

再考虑到不同类数据的variance之后,最终的cost function被定义为:

Scatter就是variance乘以n。n是这个类数据的个数。

我们可以定义Within the class matrix

Sw = S1 + S2;(这里的s1和s2是投影前的scatter)

定义between class matrix为:

SB = (u1-u2)(u1-u2)t

定义V为我们要找的直线的unit vector

重新整理cost function后,得到:(这里就不细讲了)

我们的目标就是最大化J(v)。

同样的,我们取J(v)的微分:

又是一个eigenvector的问题。

已知:

所以:

当Sw是full rank的时候,

下面是matlab测试结果:

上下两个绿色的点就是两团数据在直线上投影的点的平均数,LDA就是找出一条线,尽量让投影的平均数的差(除以scatter)最大化。中间的绿点是上下两个绿点的平均数。过中间绿点垂直于LDA line的线就可以做为separating line,用来对test sample进行分类。

LDA (Linear Discriminate Analysis)Fisher Criteria相关推荐

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

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

  2. 机器学习降维算法二:LDA(Linear Discriminant Analysis)

    Linear Discriminant Analysis (也有叫做Fisher Linear Discriminant)是一种有监督的(supervised)线性降维算法.与PCA保持数据信息不同, ...

  3. 线性判别分析(Linear Discriminant Analysis)(一)

     线性判别分析(Linear Discriminant Analysis)(一) 1. 问题 之前我们讨论的PCA.ICA也好,对样本数据来言,可以是没有类别标签y的.回想我们做回归时,如果特征太 ...

  4. LDA(Latent Dirichlet allocation)

    目录 1. 贝叶斯网络 2. 主题模型 2.1 主题模型的直观理解 2.2 共轭先验分布 2.3 二项分布及其共轭先验--Beta分布 2.3.1 Bete分布 2.3.2 二项分布与其先验分布 2. ...

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

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

  6. 【Learning Notes】PLDA(Probabilistic Linear Discriminant Analysis)

    PLDA 是一个概率生成模型,最初是为解决人脸识别和验证问题而被提出[3,5],之后也被广泛应用到声纹识别等模式识别任务中.学者从不同的动机出发,提出了多种 PLDA 算法,文献[2] 在统一的框架下 ...

  7. 主成分分析(Principal components analysis)-最大方差解释(转)

    在这一篇之前的内容是<Factor Analysis>,由于非常理论,打算学完整个课程后再写.在写这篇之前,我阅读了PCA.SVD和LDA.这几个模型相近,却都有自己的特点.本篇打算先介绍 ...

  8. PCA(Principal Component Analysis)的原理、算法步骤和实现。

    PCA的原理介绍:  PCA(Principal Component Analysis)是一种常用的数据分析方法.PCA通过线性变换将原始数据变换为一组各维度线性无关的表示,可用于提取数据的主要特征分 ...

  9. R语言使用caret包的preProcess函数进行数据预处理:对所有的数据列进行独立成分分析ICA(Independent components analysis)、设置method参数为ica

    R语言使用caret包的preProcess函数进行数据预处理:对所有的数据列进行独立成分分析ICA(Independent components analysis).设置method参数为ica 目 ...

最新文章

  1. 【计算机网络】物理层 : 总结 ( 物理层特性 | 码元速率 | 通信方式 | 数据传输方式 | 信号类型 | 编码与调制 | 奈氏准则 | 香农定理 | 传输介质 | 物理层设备 ) ★★★
  2. 【工具】13 款 Linux 实用工具推荐,个个是神器!(附下载链接)
  3. python 海象运算符,Python3.8新特性-- 海象操作符
  4. 比较两个时间字符串的大小
  5. 前端学习(558):margin重叠
  6. 第三方 搜索 聚合 百度 php,百度小偷-搜索引擎聚合源码-寄生虫源码
  7. 安卓加密软件_(安卓)微信聊天加密软件
  8. ※部分VB文章汇总A※
  9. Linux 小知识翻译 - 目录 (完结)
  10. MDK5新建stm32l0xx(Cortex-M0)工程步骤
  11. python decorate 的秘密
  12. 计算机桌面图标怎么变形了,教您电脑桌面图标变大了怎么办
  13. C#实战008:Excel操作-创建新的Excel工作表
  14. (初学笔记1)python读多波段遥感影像并存到三维数组中
  15. Android Junit 单元测试 Method wrap in org.json.JSONObject not mocked
  16. 图片怎么自定义裁剪?图片如何裁出想要的大小?
  17. 计算机操作人员眼睛离屏幕多远,最新中小学生安全知识竞赛问答
  18. 基于Echarts实现可视化数据大屏水质情况实时监测预警系统
  19. veloview读二维雷达数据_【SLAM】之Velodyne VLP16 激光雷达使用
  20. 老男孩教育 | 0基础转行学运维,收获薪资13K Offer!

热门文章

  1. 5月5日——更改手机状态栏的背景颜色
  2. ​选择云服务器的小窍门
  3. html和url两种录制方式
  4. kohana框架的入门学习 2.0版本的
  5. Cracking the Coding Interview(Stacks and Queues)
  6. [转载] 羽毛球——学打羽毛球 08 接发球 发球
  7. python搭建博客系统_基于python3.7和django2.1的多人博客系统
  8. 在 ASP.NET Core 5.0 中访问 HttpContext
  9. Spring Boot(十三):整合Redis哨兵,集群模式实践
  10. 14.面向对象-----UML类图