1.关于PCA和LDA分类对比

PCA是无类别信息,不知道样本属于哪个类,用PCA通常对全体数据操作。LDA有类别信息投影到类内间距最小&&类间间距最大。
首先我们应该明白这两个算法的原理是不一样的,PCA是选择投影后使得整个数据方差最大的方向来投影,假设就是方差越大,信息量越多,PCA是一种无监督算法,没有类别信息而LDA是选择投影后使得类内方差小而类间方差大的方向来投影,用到了类别信息,所以选择用哪种算法来降维应该是根据具体的目的和场景来的,如果目的就是分类,那么显然LDA的选择标准更合理,如果没有类别信息(无监督),那就只能选PCA,总之,两者选择投影的方向的标准是不一样的,看哪个和你的需要更契合。
下面我们来看一个实例:
通过上面降维结果,我们能过看到:
PCA研究对象是全局数据对象,就是说PCA关心的是原始数据投影后包含信息量的大小,并没有考虑分类信息。
LDA这是以分类信息为目标函数,关心的是投影后的数据,既满足类内间距越小越好,类间间距越大越好。
PCA选择样本点投影具有最大方差的方向,LDA选择分类性能最好的方向。

2.LDA的线性预测能力

LDA既然叫做线性判别分析,应该具有一定的预测功能,比如新来一个样例x,如何确定其类别?
拿二值分类来说,我们可以将其投影到直线上,得到y,然后看看y是否在超过某个阈值y0,超过是某一类,否则是另一类。而怎么寻找这个y0呢?
根据中心极限定理,独立同分布的随机变量符合高斯分布,然后利用极大似然估计求
 然后用决策理论里的公式来寻找最佳的y0,详情请参阅PRML。

3.使用LDA的一些限制

3.1 LDA至多可生成C-1维子空间

LDA降维后的维度区间在[1,C-1],与原始特征数n无关,对于二值分类,最多投影到1维。

3.2 LDA不适合对非高斯分布样本进行降维。

上图中红色区域表示一类样本,蓝色区域表示另一类,由于是2类,所以最多投影到1维上。不管在直线上怎么投影,都难使红色点和蓝色点内部凝聚,类间分离。
这个问题,现在已经有了一些解决办法,那就是利用基于核函数的线性判别分析。关于核函数的设计以及变换技巧,我在SVM系列文章中做过非常详细的分析。

3.3 LDA在样本分类信息依赖方差而不是均值时,效果不好。

图中,样本点依靠方差信息进行分类,而不是均值信息。LDA不能够进行有效分类,因为LDA过度依靠均值信息。

4.参看资料

[1] https://www.zhihu.com/question/35666712/answer/86915281
[2] http://www.cnblogs.com/jerrylead/archive/2011/04/21/2024389.html

线性判别分析LDA的数学原理(二)相关推荐

  1. 线性判别分析LDA的数学原理(一)

    1.前言 之前我们讨论的PCA.ICA也好,对样本数据来言,可以是没有类别标签y的.回想我们做回归时,如果特征太多,那么会产生不相关特征引入.过度拟合等问题.我们可以使用PCA来降维,但PCA没有将类 ...

  2. 线性判别分析(LDA)原理及应用详解

    前置知识 线性分类 指存在一个线性方程可以把待分类数据分开,或者说用一个超平面能将正负样本区分开,表达式为 . 线性分类器 线性分类器就是用一个"超平面"将两个样本隔离开,如: 二 ...

  3. 线性分类(二)-- 线性判别分析 LDA

    在机器学习领域,LDA是两个常用模型的简称:线性判别分析(Linear Discriminant Analysis) 和隐含狄利克雷分布(Latent Dirichlet Allocation).在自 ...

  4. 『矩阵论笔记』线性判别分析(LDA)最全解读+python实战二分类代码+补充:矩阵求导可以参考

    线性判别分析(LDA)最全解读+python实战二分类代码! 文章目录 一.主要思想! 二.具体处理流程! 三.补充二中的公式的证明! 四.目标函数的求解过程! 4.1.优化问题的转化 4.2.拉格朗 ...

  5. 07_数据降维,降维算法,主成分分析PCA,NMF,线性判别分析LDA

    1.降维介绍 保证数据所具有的代表性特性或分布的情况下,将高维数据转化为低维数据. 聚类和分类都是无监督学习的典型任务,任务之间存在关联,比如某些高维数据的分类可以通过降维处理更好的获得. 降维过程可 ...

  6. 数据分享|R语言逻辑回归、线性判别分析LDA、GAM、MARS、KNN、QDA、决策树、随机森林、SVM分类葡萄酒交叉验证ROC...

    全文链接:http://tecdat.cn/?p=27384 在本文中,数据包含有关葡萄牙"Vinho Verde"葡萄酒的信息(点击文末"阅读原文"获取完整代 ...

  7. sklearn实现lda模型_运用sklearn进行线性判别分析(LDA)代码实现

    基于sklearn的线性判别分析(LDA)代码实现 一.前言及回顾 本文记录使用sklearn库实现有监督的数据降维技术--线性判别分析(LDA).在上一篇LDA线性判别分析原理及python应用(葡 ...

  8. 【机器学习】机器学习之线性判别分析(LDA)

    目录 一.线性判别分析介绍 二.线性判别分析原理 1. 类内散度矩阵(within-class scatter matrix) 2. 类间散度矩阵(between-class scatter matr ...

  9. lda 吗 样本中心化 需要_机器学习 —— 基础整理(四):特征提取之线性方法——主成分分析PCA、独立成分分析ICA、线性判别分析LDA...

    本文简单整理了以下内容: (一)维数灾难 (二)特征提取--线性方法 1. 主成分分析PCA 2. 独立成分分析ICA 3. 线性判别分析LDA (一)维数灾难(Curse of dimensiona ...

最新文章

  1. 阿里员工哀叹不读书已经没有出路,招聘简历基本都是985
  2. python划分代码_多分类评价指标python代码
  3. python2.6更改为Python2.7
  4. Laravel 学习开篇
  5. sql根据类别拆分上下级_运用SQL对黑五销售数据进行分析
  6. 在Anaconda下安装了TensorFlow库,matplotlib库却调用不了了
  7. 使用layui弹框实现添加时,当添加成功之后如何进行关闭当前窗口刷新父页面的数据
  8. 从拿到班车手册.xls到搜索附近班车地点
  9. PAT 乙级 1017. A除以B (20) Java版
  10. CMD终端关于pip报错,scrapy报错的一种处理方法
  11. 城市场景车路协同网络需求研究
  12. SSO单点登录系统的搭建——Keycloak
  13. 使用代理ip进行反反爬虫——爬取句子迷网站,获取小说龙族经典句子
  14. 职称论文发表格式要求
  15. Ubuntu下设置开机启动项
  16. 王者荣耀静态页面头部代码设计(2)
  17. resnet修改输出类别
  18. 好用的wordpress企业主题,Benevolent
  19. python查找图片
  20. ROG全家桶 体验报告

热门文章

  1. 需要我们了解的SQL Server阻塞原因与解决方法 - sym_cn
  2. 【开卷故意】记录一次高并发下的死锁解决思考过程
  3. KBMMW 4.6 正式版发布
  4. poj 3797(状态压缩dp)
  5. error: 'for' loop initial declarations are only allowed in C99 mode
  6. JSP简单练习-获取表单数据
  7. NYOJ 7 街区最短路径问题
  8. hdu 2159 FATE 二维背包
  9. Golang之错误处理
  10. 字符与字符串3——char 的大小