机器学习】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个\mu_i\mu不是线性无关的, 前k-1个\mu_i\mu可以表示线性表出第k个\mui ),因此的秩最大为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      -------------------------------------

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

        线性判别分析LDA原理总结 http://www.cnblogs.com/pinard/p/6244265.html(非常棒!本文很多内容选自其中)



本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/481003.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

科普 | 动态本体简介

本文转载自知乎专栏知识图谱和智能问答。 1 近年来&#xff0c;随着语义Web的兴起&#xff0c;本体技术受到了广泛关注。很多大型跨国公司都开始研究本体技术。谷歌于2012年提出了知识图谱的项目&#xff0c;旨在利用本体技术来提高搜索的精度和更智能化的知识浏览。国内的互联…

文本匹配相关方向打卡点总结

Motivation前不久小夕在知乎上写了一个回答《NLP有哪些独立研究方向》[1]&#xff0c;于是有不少小伙伴来问分类和匹配的参考资料了&#xff0c;鉴于文本分类的资料已经超级多了&#xff0c;就不写啦&#xff08;不过分类相关的tricks可以看之前写的这篇文章《文本分类重要tric…

深入理解K-Means聚类算法

版权声明&#xff1a;本文为博主原创文章&#xff0c;未经博主允许不得转载。 https://blog.csdn.net/taoyanqi8932/article/details/53727841 </div><link rel"stylesheet" href"https://csdnimg.cn/release/phoenix/template/css/ck_htmledit…

刘挺 | 从知识图谱到事理图谱

本文转载自 AI科技评论。 在“知识图谱预见社交媒体”的技术分论坛上&#xff0c;哈尔滨工业大学刘挺教授做了题为“从知识图谱到事理图谱”的精彩报告。会后AI科技评论征得刘挺教授的同意&#xff0c;回顾和整理了本次报告的精彩内容。 刘挺教授 刘挺教授的报告内容分为四部分…

我对JVM的理解

一、JVM简介 JVM总体上是由类装载子系统&#xff08;ClassLoader&#xff09;、运行时数据区、执行引擎、内存回收这四个部分组成。 其中我们最为关注的运行时数据区&#xff0c;也就是JVM的内存部分则是由方法区&#xff08;Method Area&#xff09;、JAVA堆&#xff0…

【LeetCode】4月4日打卡-Day20-接雨水

描述 给定 n 个非负整数表示每个宽度为 1 的柱子的高度图&#xff0c;计算按此排列的柱子&#xff0c;下雨之后能接多少雨水。 上面是由数组 [0,1,0,2,1,0,1,3,2,1,2,1] 表示的高度图&#xff0c;在这种情况下&#xff0c;可以接 6 个单位的雨水&#xff08;蓝色部分表示雨水&a…

算法与数据结构--空间复杂度O(1)遍历树

大家好~我叫「小鹿鹿鹿」&#xff0c;是本卖萌小屋的第二位签约作&#xff08;萌&#xff09;者&#xff08;货&#xff09;。和小夕一样现在在从事NLP相关工作&#xff0c;希望和大家分享NLP相关的、不限于NLP的各种小想法&#xff0c;新技术。这是我的第一篇试水文章&#xf…

PCA主成分分析学习总结

大概主成分分析&#xff08;Principal components analysis&#xff0c;以下简称PCA&#xff09;是最重要的降维方法之一。在数据压缩消除冗余和数据噪音消除等领域都有广泛的应用。一般我们提到降维最容易想到的算法就是PCA&#xff0c;下面我们就对PCA的原理做一个总结。首先…

技术动态 | 大规模中文概念图谱CN-Probase正式发布

本文转载自公众号知识工场。 历时多年的研发&#xff0c;复旦大学知识工场实验室正式推出大规模中文概念图谱——CN-Probase&#xff0c;用于帮助机器更好的理解人类语言。概念图谱中包含实体&#xff08;比如“刘德华”&#xff09;、概念&#xff08;比如“演员”&#xff09…

生产Docker应用重启排查经历

一、现象描述 近期&#xff0c;生产云平台监控发生Docker应用重启次数过多事故报警&#xff0c;经观察发现某些Docker应用不定期地出现重启现象&#xff0c;已严重影响服务正常提供 生产应用重启的判断条件&#xff1a;健康检查连续3次检查不通过 生产健康检查间隔时间设置为…

【Java】深入理解Java线程

1 相关概念 并发&#xff1a;两个或多个事件在同一时间段内发生【多个任务交替执行】 并行&#xff1a;两个或多个事件在同一时刻发生【多个任务同时执行】 进程&#xff1a;进入内存的程序 内存&#xff1a;所有应用程序都要进入到内存中执行 临时存储RAM 线程&#xff1a;进…

机器学习——多元线性回归分析(multiple regression)及应用

版权声明&#xff1a;本文为博主原创文章&#xff0c;未经博主允许不得转载。 https://blog.csdn.net/loveliuzz/article/details/78006493 </div><link rel"stylesheet" href"https://csdnimg.cn/release/phoenix/template/css/ck_htmledit_vi…

肖仰华 | 知识图谱研究的回顾与展望

本文转载自公众号知识工场。 本文整理自2017年10月19日肖仰华教授在知识图谱前沿技术课程&#xff08;华东师范大学站&#xff09;所做的报告&#xff0c;报告的题目为《知识图谱研究的回顾与展望》。 大家好&#xff0c;很多人在对知识图谱的研究或者落地方面都表现出了极大的…

Java应用性能调优工具介绍及实践

一、背景 &#xff08;1&#xff09;、随着微服务架构的逐渐推广&#xff0c;一个大型的单个应用程序被拆分为数个微服务系统&#xff0c;这为研发人员的本地调试跟踪带来困难 &#xff08;2&#xff09;、在微服务架构中&#xff0c;由于业务的复杂性&#xff0c;常常一个业务…

Google、MS和BAT教给我的面试真谛

大家好呀&#xff0c;我是「小鹿鹿鹿」&#xff0c;我又来啦&#xff5e;&#xff5e;趁大家还有依稀印象赶紧乘热打铁&#xff5e;&#xff5e;这次聊一聊关于面试的一些小想法&#xff0c;希望和大家交流交流&#xff5e;&#xff5e;虽然资历尚浅&#xff0c;但是也面过不少…

AAAI 2018 论文 | 蚂蚁金服公开最新基于笔画的中文词向量算法

导读&#xff1a;词向量算法是自然语言处理领域的基础算法&#xff0c;在序列标注、问答系统和机器翻译等诸多任务中都发挥了重要作用。词向量算法最早由谷歌在2013年提出的word2vec&#xff0c;在接下来的几年里&#xff0c;该算法也经历不断的改进&#xff0c;但大多是仅适用…

甲子光年 | 为什么知识图谱终于火了?

本文转载自公众号甲子光年。如果知识是人类进步的阶梯&#xff0c;知识图谱就是AI进步的阶梯。作者&#xff5c;金丝猴编辑&#xff5c;甲小姐设计&#xff5c;孙佳栋微信&#xff5c;甲子光年 (ID:jazzyear)“知识图谱”相较于AI其他分支&#xff0c;似乎是最后一个热起来的赛…

Java多线程并发编程

一、线程池 1.1、什么是线程池 线程池是一种多线程的处理方式&#xff0c;利用已有线程对象继续服务新的任务&#xff08;按照一定的执行策略&#xff09;&#xff0c;而不是频繁地创建销毁线程对象&#xff0c;由此提高服务的吞吐能力&#xff0c;减少CPU的闲置时间。具体组成…

Step-by-step to Transformer:深入解析工作原理(以Pytorch机器翻译为例)

大家好&#xff0c;我是青青山螺应如是&#xff0c;大家可以叫我青青&#xff0c;工作之余是一名独立摄影师。喜欢美食、旅行、看展&#xff0c;偶尔整理下NLP学习笔记&#xff0c;不管技术文还是生活随感&#xff0c;都会分享本人摄影作品&#xff0c;希望文艺的技术青年能够喜…

知识图谱与智能问答基础理解

什么是知识图谱&#xff1f; 知识图谱本质上是语义网络&#xff0c;是一种基于图的数据结构&#xff0c;由节点(Point)和边(Edge)组成。在知识图谱里&#xff0c;每个节点表示现实世界中存在的“实体”&#xff0c;每条边为实体与实体之间的“关系”。知识图谱是关系的最有效的…