主成分分析(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 ...
随机推荐
- DP(第二版)
第一版请见:直通 话不多说,直接上题 1.P1040 加分二叉树 直通 思路: 已知中序遍历,相当于一段区间了,所以我们枚举一个k,如果以k为根节点,能够将分数更新,那么这段区间的根节点就置为k,最后 ...
- Vue2 响应式原理
我们经常用vue的双向绑定,改变data的某个属性值,vue就马上帮我们自动更新视图,下面我们看看原理. Object的响应式原理: 可以看到,其实核心就是把object的所有属性都加上getter. ...
- tesseract 安装及使用
安装软件 tesseract下载地址:https://digi.bib.uni-mannheim.de/tesseract/ 安装即可! 安装完成tesseract-ocr后,需要做一下配置 . 在P ...
- ubuntu 14.04 安装ntp
安装 sudo apt-get install ntp 修改ntp.conf配置文件 sudo vi /etc/ntp.conf 修改为如下内容 # Enable this if you want s ...
- 解决oracle服务占用内存过高的问题
其实这是因为安装Oracle时,为了均衡电脑性能和数据库性能,默认内存大小为物理内存的1/8,自身内存比较大时,oracle所占的内存也会变大.而通常,我们自己的环境并不需要分配那么大的内存来支持Or ...
- 重读APUE(4)-fcntl和ioctl的区别
fcntl(File Control)-文件控制 ioctl(In/Out Control)-I/O控制 1. fcntl作用于文件,提供对文件的基础控制:ioctl作用于文件和设备对象,一般用来向设 ...
- 通过sqlserver用户操作远程服务器
USE masterGORECONFIGURE --先执行一次刷新,处理上次的配置GOEXEC sp_configure 'show advanced options',1 --启用xp_cmdshe ...
- golang list使用 双层 循环 删除 遍历
queue队列: import ( "container/list" "sync" ) type Queue struct { l *list.List m s ...
- arcgis python 删除一个数据库所有数据
# -*- coding: cp936 -*- import xlrd # must init xlrd import arcpy import os def main(): arcpy.env.wo ...
- mysql数据库学习二
最近又复习了mysql中的一些概念:视图,触发器,存储过程,函数,事务,记录下. 1.视图 视图是一个虚拟表,本身并不存储数据,当sql在操作视图时所有数据都是从其他表中查出来的,因此其本质是:根据S ...