线性判别分析LDA背后的数学原理

电子说

1.2w人已加入

描述

线性判别分析(LDA)是一种降维技术,其目标是将数据集投影到较低维度空间中。线性判别分析也被称为正态判别分析(NDA)或判别函数分析,是Fisher线性判别的推广。

线性判别分析(LDA)和主成分分析(PCA)都是常用的线性变换技术,用于降低数据的维度。

PCA可以描述为“无监督”算法,因为它“忽略”类别标签,其目标是找到最大化数据集方差的方向(所谓的主成分)。

与PCA不同,LDA是“有监督的”,它计算出能够最大化多个类别之间间隔的轴(“线性判别”)。

函数

LDA是如何工作的?

LDA使用Fisher线性判别方法来区分类别。

Fisher线性判别是一种分类方法,它将高维数据投影到一维空间中,并在这个一维空间中进行分类。

投影最大化类别均值之间的距离,同时最小化每个类别内部的方差。

函数

类别:1、2和3

类别均值:µ1、µ2和µ3

类别间散布:SB1、SB2和SB3

类别内散布:SW1、SW2和SW3

数据集均值:µ

它的思想是最大化类别间散布SB,同时最小化类别内散布SW。

数学公式

函数

函数

动机

  • 寻找一个方向,可以放大类间差异。

  • 最大化投影后的均值之间的(平方)差异。

    (通过找到最大化类别均值之间差异的方向,LDA可以有效地将数据投影到一个低维子空间中,其中类别更容易分离)

函数

  • 最小化每个类别内的投影散布

    (通过找到最大化类别均值之间差异的方向,LDA可以有效地将数据投影到一个低维子空间中,其中类别更容易分离)

    函数

散布

函数

函数

均值差异

函数

散布差异

函数

Fischer 指数

函数

函数

这意味着在选择特征值时,我们将始终选择C-1个特征值及其相应的特征向量。其中,C为数据集中的类别数。

例子

**数据集

**

函数

步骤1:计算类内散布矩阵(SW)

函数

计算每个类别的协方差矩阵

类别1:

函数

Class 1

均值矩阵:

函数

协方差:

函数

函数

函数

将S1到 S5加在一起就得到了 Sc1

函数

类别2:

函数

Class 2

均值矩阵:

函数

函数

和 Sc1一样, 将S6 到S10加到一起, 就得到了协方差 Sc2 -

函数

将Sc1和Sc2相加就得到了类内散布矩阵Sw。

函数

步骤2:计算类间散布矩阵(SB)

函数

我们已经有了类别1和类别2每个特征的均值。

函数

步骤3:找到最佳LDA投影向量

与PCA类似,我们使用具有最大特征值的特征向量来找到最佳投影向量。该特征向量可以用以下形式表示。

函数

我们已经计算得到了SB和SW。

函数

解出lambda后,我们得到最高值lambda = 15.65。现在,对于每个lambda值,解出相应的向量。

函数

函数

函数

步骤4:将样本转换到新子空间上。

函数

因此,使用LDA我们进行了如下转换。

函数

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分