主成分分析(PCA)与线性判别分析(LDA)
主成分分析
- 线性、非监督、全局的降维算法
PCA最大方差理论
- 出发点:在信号处理领域,信号具有较大方差,噪声具有较小方差 
- 目标:最大化投影方差,让数据在主投影方向上方差最大 
- PCA的求解方法: - 对样本数据进行中心化处理 
- 求样本协方差矩阵 
- 对协方差矩阵进行特征分解,将特征值从大到小排列 
- 取特征值前d大对应的特征向量\(w_1, w_2, \cdots, w_d\),通过以下变换将n维样本映射到d维 - \[x^{'}_i = \begin{bmatrix} w_1^{T}x_i \\ w_2^Tx_i \\ \cdots \\ w_d^Tx_i \end{bmatrix}\] - 新的\(x^{'}_i\) 的第d维就是\(x_i\)在第d个主成分\(w_d\)方向上的投影 
 
- 局限性: - 线性降维
- 通过核映射对PCA进行扩展得到核主成分分析(KPCA)
 
PCA最小平方误差理论
- 出发目标:找到一个d维超平面,使得数据点到这个超平面的距离平方和最小 
- 优化目标: - \[\begin{aligned} \mathop{\arg\min}_{w_1, \dots, w_d} \sum \limits_{k=1}^{n}||x_k - \tilde{x}_k||_2 \\ s.t. \quad w_i^Tw_j = \begin{cases} 1, i = j \\ 0, i \neq j \end{cases} \end{aligned}\] - \(\tilde{x}_k\)是投影向量 
线性判别分析
二分类
- 监督降维方法(LDA) 
- PCA算法没有考虑到数据标签,可能会导致映射后无法进行分类 
- 中心思想:最大化类间距离和最小化类内距离 
- 对于二分类 - 类间散度矩阵:\(S_B = (\mu_1 - \mu_2)(\mu_1 - \mu_2)^T\) 
- 类内散度矩阵:\(S_w = \sum \limits_{x \in C_i}(x - \mu_i)(x - \mu_i)^T\) 
- 优化目标: - \[J(w) = \frac{w^T S_B w}{w^T S_w w} = \lambda\] 
- \(S_w^{-1}S_Bw = \lambda w\) \(J(w)\)对应了矩阵\(S_w^{-1}S_B\)最大的特征值,而投影方向就是这个特征值对应的特征向量 
 
- 对数据分布做了强假设:每个类数据都是高斯分布、各个类的协方差相等 
- 优点:线性模型对噪声的鲁棒性比较好 
- 缺点:模型简单也有假设,可以通过引入核函数处理分布较复杂的数据 
具有多个类别标签的高维数据LDA方法
- 计算数据集每个类别的均值\(\mu_j\) 和总体均值\(\mu\) 
- 计算类内散度矩阵\(S_w\) ,全局散度矩阵\(S_t\) ,并得到类间散度矩阵\(S_B = S_t - S_w\) 
- 对\(S_w^{-1}S_B\)矩阵进行特征值分解,将特征值从大到小排列 
- 取特征值前d大对应的特征向量\(w_1, w_2, \cdots, w_d\),通过以下变换将n维样本映射到d维 - \[x^{'}_i = \begin{bmatrix} w_1^{T}x_i \\ w_2^Tx_i \\ \cdots \\ w_d^Tx_i \end{bmatrix}\] - 新的\(x^{'}_i\) 的第d维就是\(x_i\)在第d个主成分\(w_d\)方向上的投影 
PCA和LDA的区别与联系
- 联系:求解过程很类似 
- 区别: - 数学原理
- 优化目标
- 应用场景:对无监督任务使用PCA降维,对有监督则使用LDA。
- 从音频中提取语音信号,用PCA过滤掉噪声
- 声纹识别,用LDA使每个人的声音信号具有区分性
 
 
主成分分析(PCA)与线性判别分析(LDA)的更多相关文章
- 机器学习 —— 基础整理(四)特征提取之线性方法:主成分分析PCA、独立成分分析ICA、线性判别分析LDA
		本文简单整理了以下内容: (一)维数灾难 (二)特征提取--线性方法 1. 主成分分析PCA 2. 独立成分分析ICA 3. 线性判别分析LDA (一)维数灾难(Curse of dimensiona ... 
- 运用sklearn进行线性判别分析(LDA)代码实现
		基于sklearn的线性判别分析(LDA)代码实现 一.前言及回顾 本文记录使用sklearn库实现有监督的数据降维技术——线性判别分析(LDA).在上一篇LDA线性判别分析原理及python应用(葡 ... 
- 机器学习理论基础学习3.2--- Linear classification 线性分类之线性判别分析(LDA)
		在学习LDA之前,有必要将其自然语言处理领域的LDA区别开来,在自然语言处理领域, LDA是隐含狄利克雷分布(Latent Dirichlet Allocation,简称LDA),是一种处理文档的主题 ... 
- 线性判别分析LDA原理总结
		在主成分分析(PCA)原理总结中,我们对降维算法PCA做了总结.这里我们就对另外一种经典的降维方法线性判别分析(Linear Discriminant Analysis, 以下简称LDA)做一个总结. ... 
- 线性判别分析LDA详解
		1 Linear Discriminant Analysis 相较于FLD(Fisher Linear Decriminant),LDA假设:1.样本数据服从正态分布,2.各类得协方差相等.虽然 ... 
- 机器学习中的数学-线性判别分析(LDA)
		前言在之前的一篇博客机器学习中的数学(7)——PCA的数学原理中深入讲解了,PCA的数学原理.谈到PCA就不得不谈LDA,他们就像是一对孪生兄弟,总是被人们放在一起学习,比较.这这篇博客中我们就来谈谈 ... 
- 线性判别分析 LDA
		点到判决面的距离 点\(x_0\)到决策面\(g(x)= w^Tx+w_0\)的距离:\(r={g(x)\over \|w\|}\) 广义线性判别函数 因任何非线性函数都可以通过级数展开转化为多项式函 ... 
- PCA主成分分析 ICA独立成分分析 LDA线性判别分析 SVD性质
		机器学习(8) -- 降维 核心思想:将数据沿方差最大方向投影,数据更易于区分 简而言之:PCA算法其表现形式是降维,同时也是一种特征融合算法. 对于正交属性空间(对2维空间即为直角坐标系)中的样本点 ... 
- LDA线性判别分析(转)
		线性判别分析LDA详解 1 Linear Discriminant Analysis 相较于FLD(Fisher Linear Decriminant),LDA假设:1.样本数据服从正态分布,2 ... 
随机推荐
- 团队开发前端VUE项目代码规范
			团队开发前端VUE项目代码规范 2018年09月22日 20:18:11 我的小英短 阅读数 1658 一.规范目的: 统一编码风格,命名规范,注释要求,在团队协作中输出可读性强,易维护,风格一致 ... 
- VueCropper 图片裁剪
			基于vue的图片裁剪vue-cropper 简小咖 关注 0.2 2018.12.12 15:42 字数 164 阅读 3900评论 1喜欢 3 vue-cropper官网http://xyxiao ... 
- Java中堆内存和栈内存有什么区别
			本文链接:https://blog.csdn.net/wangbo1998/article/details/80379016Java把内存分成两种,一种叫做栈内存,一种叫做堆内存 在函数中定义的一些基 ... 
- confluence乱码问题
			1.上传附件需要统一字体,以测试通过:宋体字.雅黑.黑体 2.系统已做编码优化,支持windows字体.如下: 点击查看 3.之前文件有乱码,请重新上传 4.编辑一个 Office 附件文档的要求 当 ... 
- 集合家族——List集合汇总
			一.概述 List继承了Collection,是有序的列表. 可重复数据 实现类有ArrayList.LinkedList.Vector.Stack等 ArrayList是基于数组实现的,是一个数组队 ... 
- MySQL数据分析-(15)表补充:存储引擎
			大家好,我是jacky,很高兴继续跟大家分享<MySQL数据分析实战>,今天跟大家分享的主题是表补充之存储引擎: 我们之前学了跟表结构相关的一些操作,那我们看一下创建表的SQL模型: 在我 ... 
- Flask-CBV模式
			Flask中的CBV模式 ''' flask中的CBV模式: (1)导入views模块: from flask import views (2)定义类,继承views.MethodView类: cla ... 
- [python]打印异常信息的不同方式
			异常捕获 try: execpt Exception as e: print(str(e)) 打印异常信息的方式 1.str(e) 返回字符串类型,只给出异常信息,不包括异常信息的类型,如1/0的异常 ... 
- Spring boot 配置 Tomcat 临时文件缓存目录
			1. 问题现象 spring boot 项目中,Tomcat 接收到 content-type 为 multipart/form-data 的请求时,需要将接收的文件缓存到临时目录(默认下载 /tmp ... 
- I am a legend: Hacking Hearthstone with machine-learning Defcon talk wrap-up
			I am a legend: Hacking Hearthstone with machine-learning Defcon talk wrap-up: video and slides avail ... 
