线性降维之LDA与PCA
来源:互联网 发布:mac真三国无双5修改器 编辑:程序博客网 时间:2024/05/16 01:55
1.前言
如果我只说LDA,那么对于自然语言处理的人来讲,可能更熟悉的是LDA主题模型。但是一旦我跟上PCA了,那么这两个兄弟,我相信从事机器学习相关的同学就会知道,这是在讲——线性降维。
2. 摘要
我们这里首先给出LDA和PCA之间的区别与联系,然后我们再详细讲解两个线性降维方法。因为实际上,scikit-learning机器学习工具包中就已经包含了LDA和PCA降维的实现,因此我们如果在应用时,可以直接拿来用。细节部分我们稍后介绍。
LDA和PCA都是线性降维处理的常用方法,但是他们的目标基本上是相反的,下表给出了LDA与PCA之间的区别。
下图给出了对于同一个样例,两种降维方法得到的不同的结果,很直观的,对吧。
3. LDA
LDA(Linear Discriminant Analysis)称为是线性判别分析,是一种常用的线性降维方法,而线性降维的原理就是通过一个函数H,把原空间X映射到空间Y,使得|Y|<|X|即达到降维目的,但是降维的好坏要看映射后空间Y对于原数据的表现能力是否优于原空间X。
LDA是线性分类器,因此它的模样其实长得很大众化:
这个东西在神经网络中实在是再熟悉不过了。但事实上,每一个线性分类器只能二元分类(包括SVM),因此想K类分类的话,需要有K个线性函数。
回顾我们上面讲的,LDA的目标是保证映射后的样本类别内距离越近越好,类别间距离越远越好。可是这个目标比较宽泛,我们如何根据他来确定最终的线性分类器呢。
首先需要定义这么几个值;
类别i的原始中心点(均值)为:
类别i投影后的中心点为:
衡量类别i投影后,类别点之间的分散程度(方差)为:
最终一个二分类问题就可以得到下面的目标优化函数:
我们定义一个投影前的各类别分散程度的矩阵,其意思是,如果某一个分类的输入点集
这样,二分类的分母就可以是:
同样,分子就变成了:
因此目标函数就变成了:
这样就可以使用拉格朗日乘子法了,不过为了限制无穷节,这里使用一个小技巧,那就是将分母限制长度为1,并作为拉格朗日乘子法的限制条件,带入就可以得到:
这样式子就是一个求广义特征值的问题了,如果
w为矩阵的特征向量,这个公式就被称为Fisher linear discrimination。
让我们观察一下:
那么:
由于对w扩大缩小任何倍不影响结果,因此可以约去两边的未知常数
至此,我们只需要求出原始样本的均值和方差就可以求出最佳的方向w。
对于N(N>2)分类问题,我们可以直接写出以下结论:
这同样是一个求广义特征值的问题,求出的第i大的特征向量,即为对应的
最后,计算映射向量w就是求最大特征向量,也可以是前几个最大特征向量组成矩阵
可以发现,LDA最后也是转化成为一个求矩阵特征向量的问题,和PCA很像,事实上很多其他的算法也是归结于这一类,一般称之为谱(spectral)方法。
更多的可以参考《LDA 线性判别分析》和《LDA算法的中心思想》及《LDA线性判别分析详解》和《线性判别分析LDA与主成分分析PCA》。
4. PCA
PCA(Principal Component Analysis)被称为是主成分分析法。它的目标是通过某种线性投影,将高维的数据映射到低维的空间中表示,并期望在所投影的维度上数据的方差最大,以此使用较少的数据维度,同时保留住较多的原数据点的特性。
通俗的理解,如果把所有的点都映射到一起,那么几乎所有的信息(如点和点之间的距离关系)都丢失了,而如果映射后方差尽可能的大,那么数据点则会分散开来,以此来保留更多的信息。可以证明,PCA是丢失原始数据信息最少的一种线性降维方式。(实际上就是最接近原始数据,但是PCA并不试图去探索数据内在结构)
说实话,如果把原来的数据变为一个矩阵,那么PCA就是通过线性变换,成为一个线性无关的矩阵。但是这种方式有很多,该如何选取一个合适的变换呢?
如果还记得线性代数里的协方差,那么就好办多了。
如果将选取的第一个线性组合即第一个综合变量记为
中所选取的
为什么要用方差大的作为主信息呢,而这一切,都要从最大方差理论说起:在信号处理中认为信号具有较大的方差,噪声有较小的方差,信噪比就是信号与噪声的方差比,越大越好。因此我们认为,最好的k维特征是将n维样本点转换为k维后,每一维上的样本方差都很大。
因此这个理论认为方差最大的才是有效信息。我们要求的是最佳的直线,是的投影后样本点方差最大。设投影后样本点为
其中:
S就是样本特征的协方差矩阵,令u为单位向量,即u^Tu=1,用拉格朗日乘子法可得:
将上式求导,使之为0,得到
var取得最大值的条件就是入最大,也就是取得最大的特征值的时候。假设我们是要将一个D维的数据空间投影到M维的数据空间中
因此,我们只需要对协方差矩阵进行特征值分解,得到的前k大特征值对应的特征向量就是最佳的k维新特征,而且这k维新特征是正交的。
更多的细节可以参照《PCAPPT》和《PCA的数学原理》以及《主元分析(PCA)理论分析及应用》。
5. 小结
今天我们主要介绍了2个线性降维的方法,而且有很多公式推导,比较烧脑。后面可以慢慢体会。
- 线性降维之LDA与PCA
- 线性降维方法PCA和LDA
- LDA(线性判别式分析)以及与PCA降维之间的区别
- 数据降维之LDA&PCA
- 线性判别分析(LDA)与主成分分析(PCA)
- 机器学习之线性判别分析(LDA) 主成分分析(PCA)
- 数据降维的作用PCA与LDA
- 学习笔记一LDA降维与PCA的区别
- 浅析LDA与PCA
- PCA与LDA
- PCA降维——主成分分析(principal component analysis,PCA)与LDA(线性判别分析)
- LDA与PCA的对比
- LDA与PCA都是常用的降维方法,二者的区别
- LDA与PCA算法与应用
- 降维算法:线性判别分析LDA
- PCA&LDA
- LDA PCA
- LDA & PCA
- 超分辨率重建最新算法总结
- mybatis 批量增加 报异常 Parameter '__frch_item_0' not found. Available parameters are [list]
- apicloud使用api.execScript在frame与win中传值
- ubuntu install jdk
- 【树状数组--二维】poj 2029 Get Many Persimmon Trees
- 线性降维之LDA与PCA
- 在ssm项目中引入shiro
- 无线视频传输系统的启动文件
- 算法系列——3Sum
- 关于《Ubuntu16.04+cuda8.0+caffe安装教程》这篇文章中的一些个人配置建议
- LightOj1341_Aladdin and the Flying Carpet_算数基本定理
- pat 1025. 反转链表
- 总结HDFS的IO操作
- vim shortcut list