您好,欢迎来到二三娱乐。
搜索
您的当前位置:首页LDA&PCA

LDA&PCA

来源:二三娱乐

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个特征向量构成的投影矩阵就是能够使得方差最大的矩阵了。

Copyright © 2019- yule263.com 版权所有 湘ICP备2023023988号-1

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务