降维方法-LDA线性判别分析

降维-LDA线性判别分析

【机器学习】LDA线性判别分析

1. LDA的基本思想

2. LDA求解方法

3. 将LDA推广到多分类

4. LDA算法流程

5. LDA和PCA对比

【附录1】瑞利商与广义瑞利商

线性判别分析 (Linear Discriminant Analysis,LDA)是一种经典的线性学习方法,在二分类问题上因为最早由[Fisher,1936]提出,亦称"Fisher判别分析"。(严格说来LDA与Fisher判别分析稍有不同,LDA假设了各类样本的协方差矩阵相同且满秩。)

1. LDA的基本思想

LDA的基本思想是: 给定训练样例集,设法将样例投影到一条直线上,使得同类样例的投影点尽可能接近、异类样例的投影点尽可能远离,在对新样本进行分类时,将其投影到同样的这条直线上,再根据投影点的位置来确定新样本的类别。图3.3给出了一个二维示意图。

2. LDA求解方法

问:LDA最终要求什么?

求投影空间W。 假设要投影到d维空间,W为这最大的d个特征值对应的特征向量张成的矩阵。所以问题转化为求解特征向量w

求解过程如下:

给定数据集,,令Xi、цi、∑i分别表示第i∈{0,1}类示例的集合、均值向量、协方差矩阵。

若将数据投影到直线w上,则两类样本的中心在直线上的投影分别为;若将所有样本点都投影到直线上,则两类样本的协方差分别为

由于直线是一维空间,因此

本着同类样例的投影点尽可能接近、异类样例的投影点尽可能远离的原则,欲使同类样例的投影点尽可能接近,可以让同类样例投影点的协方差尽可能小,即尽可能小;而欲使异类样例的投影点尽可能远离,可以让类中心之间的距离尽可能大,即尽可能大。同时考虑二者,则可得到欲最大化的目标

定义"类内散度矩阵"

以及"类间散度矩阵"

则式 (3.32)可重写为

这就是LDA欲最大化的目标,即Sw与Sb的"广义瑞利商" (Rayleigh)。根据广义瑞利商的性质,我们知道我们的J(w)最大值为矩阵的最大特征值,而对应的为的最大特征值对应的特征向量!(具体的瑞利商的知识见【附录1】)

如何求解w呢?(w向量决定投影方向)

如何确定ω呢? 注意到式(3.35)的分子和分母都是关于ω的二次项,因此式(3.35)的解与ω的长度无关,只与其方向有关。(why? 二次项的性质,若w是一个解,则对于任意常数α,αw也是式(3.35)的解.)

不失一般性,令,则式(3.35)等价于

由拉格朗日乘子法,上式等价于

其中λ是拉格朗日乘子。注意到的方向恒为,不妨令

代入式 (3.37) 即得

3. 将LDA推广到多分类

如何将LDA推广到多分类任务中?

假定存在N个类,且第i类示例数为,我们先定义"全局散度矩阵"

其中μ是所有示例的均值向量。将类内散度矩阵重定义为每个类别的散度矩阵之和,即:

其中,

例如:三类问题如下直观图所示:

显然,多分类 LDA 可以有多种实现方法:使用 三者中的任何两个即可。

常见的一种实现是采用优化目标:

其中的tr()为矩阵的迹,一个n×n的对角矩阵A的主对角线(从左上方至右下方的对角线)上各个元素的总和被称为矩阵A的迹(或迹数),一般记作tr(A)。 这个优化目标实际上等价于求解N-1个w(特征向量)组合成W。

若将W视为一个投影矩阵,则多分类LDA将样本投影到N-1维空间,N-1通常远小于数据原有的属性数(维度)。于是,可通过这个投影来减小样本点的维数,且投影过程中使用了类别信息,因此LDA也常被视为一种经典的监督降维技术(可用于特征提取)。

附:另一种多类推广原理解释:

问: LDA是什么?基本原理?

LDA是线性判别分析,LDA的基本思想是: 给定训练样例集,设法将样例投影到一条直线上,使得同类样例的投影点尽可能接近、异类样例的投影点尽可能远离,在对新样本进行分类时,将其投影到同样的这条直线上,再根据投影点的位置来确定新样本的类别。

问:LDA最终要求什么?

求投影空间W。

问:W是如何构成的?

假设要投影到d维空间,W为这最大的d个特征值对应的特征向量张成的矩阵。

分析一下,既然LDA的二分类的训练过程,是将训练样本点投影到一条直线上(降维到一维),那么投影空间就是一条直线,W=(w1)是最大特征值对应的特征向量,代表这条直线一维空间(W=(w1)=n*1维度)。如果是多分类情况,多分类LDA将样本投影到d维空间,d通常远小于数据原有的属性数(维度),那么投影空间W=(w1,w2,…w(d) )为最大的d个特征值对应的特征向量张成的矩阵,则投影矩阵W=n*d维度。

注意:上述w1是向量,在样本是n维向量,类别数为k时,w1应是n维向量,则投影到d维空间时,投影空间W=(w1,w2,…w(d) )=n*d维度

问:LDA降维最多降到多少?(类别数为k)

LDA降维最多降到类别数k-1的维数。由于投影矩阵W是一个利用了样本的类别得到的投影矩阵(n*d,一般d<<n),而的秩最大为k-1(具体分析见下一问),,所以最多有k-1个非0的特征值,即最多有k-1个特征向量。因此它降维的维度d最大值为k-1。

再问:为什么最大维度不是类别数k呢?

因为的秩最大为k-1,即特征向量最多有k-1个。 因为中每个的秩为1,因此各类的协方差矩阵相加后最大的秩为k(矩阵的秩小于等于各个相加矩阵的秩的和),但是由于如果我们知道前k-1个后,最后一个可以由前k-1个线性表示(这是由于k个不是线性无关的, 前k-1个可以表示线性表出第k个i ),因此的秩最大为k-1,所以的秩最大也为k-1。即特征向量最多有k-1个。

4. LDA算法流程

以上就是使用LDA进行降维的算法流程。

实际上LDA除了可以用于降维以外,还可以用于分类。一个常见的LDA分类基本思想是假设各个类别的样本数据符合高斯分布,这样利用LDA进行投影后,可以利用极大似然估计计算各个类别投影数据的均值和方差,进而得到该类别高斯分布的概率密度函数。当一个新的样本到来后,我们可以将它投影,然后将投影后的样本特征分别带入各个类别的高斯分布概率密度函数,计算它属于这个类别的概率,最大的概率对应的类别即为预测类别。

5. LDA和PCA对比

LDA用于降维,和PCA有很多相同,也有很多不同的地方,因此值得好好的比较一下两者的降维异同点。

   首先我们看看相同点:

    1)两者均可以对数据进行降维。

    2)两者在降维时均使用了矩阵特征分解的思想。(求特征值、特征向量)

    3)两者都假设数据符合高斯分布。

   我们接着看看不同点:

    1)LDA是有监督的降维方法,而PCA是无监督的降维方法

    2)LDA降维最多降到类别数k-1的维数,而PCA没有这个限制。

    3)LDA除了可以用于降维,还可以用于分类。

    4)LDA选择分类性能最好的投影方向,而PCA选择样本点投影具有最大方差的方向。

    这点可以从下图形象的看出,在不同数据分布下LDA和PCA降维的优势不同。二者各有优缺。

   

 附: LDA算法的主要优点有:

    1)在降维过程中可以使用类别的先验知识经验,而像PCA这样的无监督学习则无法使用类别先验知识。

    2)LDA在样本分类信息依赖均值而不是方差的时候,比PCA之类的算法较优。

  LDA算法的主要缺点有:

    1)LDA不适合对非高斯分布样本进行降维,PCA也有这个问题。

    2)LDA降维最多降到类别数k-1的维数,如果我们降维的维度大于k-1,则不能使用LDA。当然目前有一些LDA的进化版算法可以绕过这个问题。

    3)LDA在样本分类信息依赖方差而不是均值的时候,降维效果不好。

    4)LDA可能过度拟合数据。

---------------------------------------------- 附录 ------------------------------------------------

【附录1】瑞利商与广义瑞利商

首先来看看瑞利商的定义。瑞利商是指这样的函数:

其中为非零向量,而为的Hermitan矩阵。所谓的Hermitan矩阵就是满足共轭转置矩阵和自己相等的矩阵,即

。 如果我们的矩阵A是实矩阵,则满足的矩阵即为Hermitan矩阵。

瑞利商有一个非常重要的性质,即它的最大值等于矩阵A 最大的特征值,而最小值等于矩阵A 的最小的特征值,也就是满足:

当向量x 是标准正交基时,即满足  时,瑞利商退化为:  。 这个形式在谱聚类和PCA中都有出现。

以上就是瑞利商的内容,现在我们再看看广义瑞利商。广义瑞利商是指这样的函数:

其中x为非零向量,而A,B为n*n的Hermitan矩阵。B为正定矩阵。

它的最大值和最小值是什么呢?其实我们只要通过将其通过标准化就可以转化为瑞利商的格式。我们令

则分母转化为:

而分子转化为:

利用前面的瑞利商的性质,我们可以很快的知道 的最大值为矩阵的最大特征值,或者说矩阵

的最大特征值。而最小值为矩阵的最小特征值。

-------------------------------------------         END      -------------------------------------

参考:周志华《机器学习》

原文地址:https://www.cnblogs.com/yumoye/p/10332156.html

时间: 2024-11-08 13:03:16

降维方法-LDA线性判别分析的相关文章

LDA 线性判别分析

http://blog.csdn.net/porly/article/details/8020696 1. LDA是什么 线性判别式分析(Linear Discriminant Analysis),简称为LDA.也称为Fisher线性判别(Fisher Linear Discriminant,FLD),是模式识别的经典算法,在1996年由Belhumeur引入模式识别和人工智能领域. 基本思想是将高维的模式样本投影到最佳鉴别矢量空间,以达到抽取分类信息和压缩特征空间维数的效果,投影后保证模式样本

线性判别分析(LDA),二次判别分析(QDA)和正则判别分析(RDA)

判别分析包括可用于分类和降维的方法.线性判别分析(LDA)特别受欢迎,因为它既是分类器又是降维技术.二次判别分析(QDA)是LDA的变体,允许数据的非线性分离.最后,正则化判别分析(RDA)是LDA和QDA之间的折衷. 本文主要关注LDA,并探讨其在理论和实践中作为分类和可视化技术的用途.由于QDA和RDA是相关技术,我不久将描述它们的主要属性以及如何在R中使用它们. 线性判别分析 LDA是一种分类和降维技术,可以从两个角度进行解释.第一个是解释是概率性的,第二个是更多的程序解释,归功于费舍尔.

线性判别分析(Linear Discriminant Analysis-LDA)

Linear Discriminant Analysis(LDA线性判别分析) 用途:数据预处理中的降维,分类任务 目标:LDA关心的是能够最大化类间区分度的坐标轴成分,将特征空间(数据集中的多维样本)投影到一个维度更小的k维子空间中,同时保持区分类别的信息. 原理:投影到维度更低的空间中,使得投影后的点,会形成按类别区分,一簇一簇的情况,相同类别的点,将会在投影后的空间中更接近方法 监督性:LDA是"有监督"的,它计算的是另一类特定的方向 投影:找到更合适分类的空间 与PCA不同,更

机器学习 —— 基础整理(四):特征提取之线性方法——主成分分析PCA、独立成分分析ICA、线性判别分析LDA

本文简单整理了以下内容: (一)维数灾难 (二)特征提取--线性方法 1. 主成分分析PCA 2. 独立成分分析ICA 3. 线性判别分析LDA (一)维数灾难(Curse of dimensionality) 维数灾难就是说当样本的维数增加时,若要保持与低维情形下相同的样本密度,所需要的样本数指数型增长.从下面的图可以直观体会一下.当维度很大样本数量少时,无法通过它们学习到有价值的知识:所以需要降维,一方面在损失的信息量可以接受的情况下获得数据的低维表示,增加样本的密度:另一方面也可以达到去噪

机器学习——降维(主成分分析PCA、线性判别分析LDA、奇异值分解SVD、局部线性嵌入LLE)

机器学习--降维(主成分分析PCA.线性判别分析LDA.奇异值分解SVD.局部线性嵌入LLE) 以下资料并非本人原创,因为觉得石头写的好,所以才转发备忘 (主成分分析(PCA)原理总结)[https://mp.weixin.qq.com/s/XuXK4inb9Yi-4ELCe_i0EA] 来源:?石头?机器学习算法那些事?3月1日 主成分分析(Principal components analysis,以下简称PCA)是最常用的降维方法之一,在数据压缩和消除冗余方面具有广泛的应用,本文由浅入深的

【降维】线性判别分析LDA

降维,线性判别分析 本博客根据 百面机器学习,算法工程师带你去面试 一书总结归纳,公式都是出自该书. 本博客仅为个人总结学习,非商业用途,侵删. 网址 http://www.ptpress.com.cn 目录 LDA推导 LDA扩展到多维度 PCA与LDA的区别 LDA原理 线性判别分析(Linear Discriminant Analysis, LDA) 是一种有监督学习算 法, 同时经常被用来对数据进行降维. 在PCA中, 算法没有考虑数据的标签(类别) , 只是把原数据映射到一些方差比较大

降维算法中的线性判别方法LDA

线性判别分析(Linear?Discriminant?Analysis,?LDA),有时也称Fisher线性判别(Fisher?Linear?Discriminant?,FLD),?这种算法是Ronald?Fisher?于?1936年发明的,是模式识别的经典算法.在1996年由Belhumeur引入模式识别和人工智能领域的.基本思想是将高维的模式样本投影到最佳鉴别矢量空间,以达到抽取分类信息和压缩特征空间维数的效果,投影后保证模式样本在新的子空间有最大的类间距离和最小的类内距离,即模式在该空间中

(转)机器学习中的数学(4)-线性判别分析(LDA), 主成分分析(PCA)

版权声明: 本文由LeftNotEasy发布于http://leftnoteasy.cnblogs.com, 本文可以被全部的转载或者部分使用,但请注明出处,如果有问题,请联系[email protected] 前言: 第二篇的文章中谈到,和部门老大一宁出去outing的时候,他给了我相当多的机器学习的建议,里面涉及到很多的算法的意义.学习方法等等.一宁上次给我提到,如果学习分类算法,最好从线性的入手,线性分类器最简单的就是LDA,它可以看做是简化版的SVM,如果想理解SVM这种分类器,那理解L

机器学习中的数学(4)-线性判别分析(LDA), 主成分分析(PCA)

机器学习中的数学(4)-线性判别分析(LDA), 主成分分析(PCA) 版权声明: 本文由LeftNotEasy发布于http://leftnoteasy.cnblogs.com, 本文可以被全部的转载或者部分使用,但请注明出处,如果有问题,请联系[email protected] 前言: 第二篇的文章中谈到,和部门老大一宁出去outing的时候,他给了我相当多的机器学习的建议,里面涉及到很多的算法的意义.学习方法等等.一宁上次给我提到,如果学习分类算法,最好从线性的入手,线性分类器最简单的就是