LDA&PCA

作者: 活体检测业余爱好 | 来源:发表于2017-07-07 20:38 被阅读52次

LDA(有的资料也称作Fishers Linear Discriminant)

LDA的全称是Linear Discriminant Analysis(线性判别分析),是一种supervised learning。有些资料上也称为是Fisher’s Linear Discriminant。(发明于1936年)

LDA是在目前机器学习、数据挖掘领域经典且热门的一个算法,据我所知,百度的商务搜索部里面就用了不少这方面的算法。

LDA原理:点映射到低维空间,使得同类的点尽量聚集,不同类的点尽量分散

两类线性判别分析

类别i的原始中心点为:(Di表示属于类别i的点)

类别i投影后的中心点为:

衡量类别i投影后,类别点之间的分散程度(方差)为:

最终我们可以得到一个下面的公式,表示LDA投影到w后的损失函数:

希望投影之后类内部的方差越小越好,投影后两类样例中心尽量地分离,即越大越好

若记:

所以这样损失函数可以化成下面的形式:

这样就可以用最喜欢的拉格朗日乘子法了,但是还有一个问题,如果分子、分母是都可以取任意值的,那就会使得有无穷解,我们将分母限制为长度为1(这是用拉格朗日乘子法一个很重要的技巧,在下面将说的PCA里面也会用到,如果忘记了,请复习一下高数),并作为拉格朗日乘子法的限制条件,带入得到:

注意:求导时可以简单地把

当做

看待

这样的式子就是一个求特征值的问题了。

如果有一个新的样本,则计算

,大于u(u是所有样本的均值)则属于第一类,小于则属于第二类;

多类线性判别分析

假设有C个类别,降以一维已经不能满足分类要求了,我们需要k个基向量来做投影,W=[w1|w2|...|wk]。样本点在这k维投影后的结果为[y1,y2,...,yk]

这同样是一个求特征值的问题,我们求出的第i大的特征向量,就是对应的Wi了。(why?,因为上述求得是最大化的,而且可以根据上式如下推断(我自己想的)

则相当于求

实际上原因是特征值大的对应的特征向量分割性好)

补充:

1、特征值表示的是矩阵的性质,当我们取到矩阵的前N个最大的特征值的时候,我们可以说提取到的矩阵主要的成分(这个和之后的PCA相关,但是不是完全一样的概念)。

2、下图是图像识别中广泛用到的特征脸(eigen face),提取出特征脸有两个目的,首先是为了压缩数据,对于一张图片,只需要保存其最重要的部分就是了,然后是为了使得程序更容易处理,在提取主要特征的时候,很多的噪声都被过滤掉了。

PCA

主成分分析(PCA)与LDA有着非常近似的意思,LDA的输入数据是带标签的,而PCA的输入数据是不带标签的,所以PCA是一种unsupervised learning。LDA通常来说是作为一个独立的算法存在,给定了训练数据后,将会得到一系列的判别函数(discriminate function),之后对于新的输入,就可以进行预测了。

原理:将原本的数据降低维度,而使得降低了维度的数据之间的方差最大

假设我们还是将一个空间中的点投影到一个向量中去。首先,给出原空间的中心点:

假设u1为投影向量,投影之后的方差为:

上面这个式子如果看懂了之前推导LDA的过程,应该比较容易理解,如果线性代数里面的内容忘记了,可以再温习一下,优化上式等号右边的内容,还是用拉格朗日乘子法:

将上式求导,使之为0,得到:

这是一个标准的特征值表达式了,λ对应的特征值,u对应的特征向量。上式的左边取得最大值的条件就是λ1最大,也就是取得最大的特征值的时候。假设我们是要将一个D维的数据空间投影到M维的数据空间中(M < D), 那我们取前M个特征向量构成的投影矩阵就是能够使得方差最大的矩阵了。

相关文章

  • LDA&PCA

    LDA(有的资料也称作Fisher’s Linear Discriminant) LDA的全称是Linear Di...

  • 降维PCA&LDA&数据预处理(preproce

    封装函数 使用各种模型 对 各种处理后的 数据 进行测试 选择 使用 哪一种 预处理方式 normal肯定是不用了...

  • 2020-08-25--PCA降维01

    主要内容 PCA简介 使用梯度上升法解决PCA问题 1.PCA简介 PCA(Principal Component...

  • PCA降维

    参考:如何理解主元分析(PCA)?PCA的数学原理转自:python实现PCA ★ PCA思路: 我们的初始矩阵为...

  • PCA

    PCA PCA KPCA 代码详见:https://github.com/AresAnt/ML-DL PCA: P...

  • 12-机器学习练习与特征工程、评价指标

    一.使用PCA识别手写数字 PCA:Principal Component Analysis(主成分分析)PCA通...

  • PCA在R语言中的实现

    PCA 简介 PCA(Principal Component Analysis),即主成分分析。PCA是一种研究数...

  • 浅谈PCA降维原理

    PCA是什么 PCA(Principal Component Analysis)是一种常用的数据分析方法PCA通过...

  • PCA 的数学原理和可视化效果

    本文结构: 什么是 PCA 数学原理 可视化效果 1. 什么是 PCA PCA (principal compon...

  • PCA

    PCA降维 一、算法原理 降维算法 还原算法 二、算法实现 三、scikit-learn PCA 四、PCA降噪 ...

网友评论

      本文标题:LDA&PCA

      本文链接:https://www.haomeiwen.com/subject/ilerhxtx.html