线性判别分析LDA的数学原理(二)
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的数学原理(二)相关推荐
- 线性判别分析LDA的数学原理(一)
1.前言 之前我们讨论的PCA.ICA也好,对样本数据来言,可以是没有类别标签y的.回想我们做回归时,如果特征太多,那么会产生不相关特征引入.过度拟合等问题.我们可以使用PCA来降维,但PCA没有将类 ...
- 线性判别分析(LDA)原理及应用详解
前置知识 线性分类 指存在一个线性方程可以把待分类数据分开,或者说用一个超平面能将正负样本区分开,表达式为 . 线性分类器 线性分类器就是用一个"超平面"将两个样本隔离开,如: 二 ...
- 线性分类(二)-- 线性判别分析 LDA
在机器学习领域,LDA是两个常用模型的简称:线性判别分析(Linear Discriminant Analysis) 和隐含狄利克雷分布(Latent Dirichlet Allocation).在自 ...
- 『矩阵论笔记』线性判别分析(LDA)最全解读+python实战二分类代码+补充:矩阵求导可以参考
线性判别分析(LDA)最全解读+python实战二分类代码! 文章目录 一.主要思想! 二.具体处理流程! 三.补充二中的公式的证明! 四.目标函数的求解过程! 4.1.优化问题的转化 4.2.拉格朗 ...
- 07_数据降维,降维算法,主成分分析PCA,NMF,线性判别分析LDA
1.降维介绍 保证数据所具有的代表性特性或分布的情况下,将高维数据转化为低维数据. 聚类和分类都是无监督学习的典型任务,任务之间存在关联,比如某些高维数据的分类可以通过降维处理更好的获得. 降维过程可 ...
- 数据分享|R语言逻辑回归、线性判别分析LDA、GAM、MARS、KNN、QDA、决策树、随机森林、SVM分类葡萄酒交叉验证ROC...
全文链接:http://tecdat.cn/?p=27384 在本文中,数据包含有关葡萄牙"Vinho Verde"葡萄酒的信息(点击文末"阅读原文"获取完整代 ...
- sklearn实现lda模型_运用sklearn进行线性判别分析(LDA)代码实现
基于sklearn的线性判别分析(LDA)代码实现 一.前言及回顾 本文记录使用sklearn库实现有监督的数据降维技术--线性判别分析(LDA).在上一篇LDA线性判别分析原理及python应用(葡 ...
- 【机器学习】机器学习之线性判别分析(LDA)
目录 一.线性判别分析介绍 二.线性判别分析原理 1. 类内散度矩阵(within-class scatter matrix) 2. 类间散度矩阵(between-class scatter matr ...
- lda 吗 样本中心化 需要_机器学习 —— 基础整理(四):特征提取之线性方法——主成分分析PCA、独立成分分析ICA、线性判别分析LDA...
本文简单整理了以下内容: (一)维数灾难 (二)特征提取--线性方法 1. 主成分分析PCA 2. 独立成分分析ICA 3. 线性判别分析LDA (一)维数灾难(Curse of dimensiona ...
最新文章
- 阿里员工哀叹不读书已经没有出路,招聘简历基本都是985
- python划分代码_多分类评价指标python代码
- python2.6更改为Python2.7
- Laravel 学习开篇
- sql根据类别拆分上下级_运用SQL对黑五销售数据进行分析
- 在Anaconda下安装了TensorFlow库,matplotlib库却调用不了了
- 使用layui弹框实现添加时,当添加成功之后如何进行关闭当前窗口刷新父页面的数据
- 从拿到班车手册.xls到搜索附近班车地点
- PAT 乙级 1017. A除以B (20) Java版
- CMD终端关于pip报错,scrapy报错的一种处理方法
- 城市场景车路协同网络需求研究
- SSO单点登录系统的搭建——Keycloak
- 使用代理ip进行反反爬虫——爬取句子迷网站,获取小说龙族经典句子
- 职称论文发表格式要求
- Ubuntu下设置开机启动项
- 王者荣耀静态页面头部代码设计(2)
- resnet修改输出类别
- 好用的wordpress企业主题,Benevolent
- python查找图片
- ROG全家桶 体验报告