线性判别分析(LDA)与Fisher判别分析(FDA)降维原理

在故障诊断中,我们常常会面对大量的且维数很高的数组,通过我们需要先对数据集进行划分及预处理,而预处理阶段极为重要的一步就是对数据进行降维特征提取,通过某种数学变换将原始高维空间转变成一个低维的子空间。


然鹅,我们常用到的基本就只有两个,一个是主成分分析(PCA),另一个则是今天所要介绍的Fisher判别分析(Fisher Discriminant Analysis,FDA)。


主成分分析的基本思想:设法将原来众多具有一定相关性(比如P个指标,即主成分),重新组合成一组新的互相无关的综合指标来代替原来的指标。通过寻找在最小均方误差(Mean Square Error,MSE)下的最具代表性的投影向量,再用这些向量来表示数据。

Fisher判别分析的基本思想:利用已知类别的样本建立判别模型,对未知类别的样本进行分类。在最小均方误差(也就是最小二乘法MSE)意义下,寻找最能分开各个类别的最佳方向。

最先的是提出的线性判别法(Linear Discriminant Analysis,LDA),这还是一种经典的线性学习方法。在降维方面LDA是最著名的监督学习降维方法。但是,在二分类问题上,因为最早是有(Fisher,1936)提出的,因此也被称为是“Fisher判别分析(Fisher Discriminant Analysis,FDA)”。


其实LDA和FDA两种判别分析方法,是略有不同的。其中LDA则假设了各类样本数据的协方差矩阵相同,且满秩。


线性判别分析(LDA)及Fisher判别分析(FDA)

LDA的思想:由所给定的数据集,设法将样例数据投影在一条直线上,使得同类数据的投影点尽可能的接近、而异类数据的投影点之间将可能间隔更远。在我们做新样本数据的分类时,将其投影到同样的直线上,再根据投影点的位置来确定新样本的类别。如下图(源自周志华《机器学习》)所示:


这里的投影直线也用到了最小二乘的思想,所有数据样本垂直投影在直线上,只是我们的约束条件表为了不同数据样本之间的投影在直线上的距离度量。

我们需要寻找到在投影方向w ww上,使得数据样本满足两个条件:1) 相同数据之间投影距离最小;2)不同数据之间投影点位置最大(可通过求其不同数据的投影中心点来判别)


线性判别分析(LDA)与Fisher判别分析(FDA)降维原理

线性判别分析(LDA)与Fisher判别分析(FDA)降维原理

LDA二维示意图

图中,“+”和“-”代表的是两种不同的数据簇,而椭圆表示数据簇的外轮廓线,虚线表示其投影,红色实心圆●和红色实心三角形△分别代表的两类数据簇投影到w ww方向上的中心点。


线性判别分析(LDA)与Fisher判别分析(FDA)降维原理

线性判别分析(LDA)与Fisher判别分析(FDA)降维原理

线性判别分析(LDA)与Fisher判别分析(FDA)降维原理

线性判别分析(LDA)与Fisher判别分析(FDA)降维原理

为什么说这里是一维空间呢?可以看上图,假设每个样本都是d维向量(上图为二维x 1 、 x 2 坐标系)。现在就简单一点,想用一条直线w ww表示这些样本,称之为样本集合的一维表达。所以这里说的一维讲的是投影到一条直线上以后的数据,在直线上是属于一维空间表达的。

下面思考另一个问题,如何让同类的数据样本投影点尽可能的靠近,而使得不同样本投影点离得更远呢?


这里需要引入协方差的概念,小小复习一下协方差及样本方差的知识(因为本菜鸡数学基础差)


协方差(Covariance)在概率论和统计学中用于衡量两个变量的总体误差。而方差是协方差的一种特殊情况,即当两个变量是相同的情况。

上面的Σ 0 、 Σ 1因为是自协方差也就是代表方差(也即为样本方差)。


方差:当数据分布比较分散(即数据在平均数附近波动较大)时,各个数据与平均数的差的平方和较大,方差就较大;当数据分布比较集中时,各个数据与平均数的差的平方和较小。

总的说来:方差越大,数据的波动越大;方差越小,数据的波动就越小。


协方差表示的是两个变量的总体的误差,这与只表示一个变量误差的方差不同。 如果两个变量的变化趋势一致,也就是说如果其中一个大于自身的期望值,另外一个也大于自身的期望值,那么两个变量之间的协方差就是正值。 如果两个变量的变化趋势相反,即其中一个大于自身的期望值,另外一个却小于自身的期望值,那么两个变量之间的协方差就是负值。

简而言之:两个变量之间差距越大,协方差就越小;相反,两个变量越相似变化趋势一致,则协方差越大。


复习完协方差、样本方差的知识后,解决上面的问题应该不难。


线性判别分析(LDA)与Fisher判别分析(FDA)降维原理

线性判别分析(LDA)与Fisher判别分析(FDA)降维原理

线性判别分析(LDA)与Fisher判别分析(FDA)降维原理

引入一下类内和间散度矩阵的知识:


类间散度矩阵用于表示各样本点围绕均值的散布情况。

类内散度矩阵用于表示样本点围绕均值的散步情况,关于特征选择和提取的结果,类内散布矩阵的积越小越好。

具体可参考这里,还有这里。

首先,我们来定义“类内散度矩阵”(within-class scatter matrix)

线性判别分析(LDA)与Fisher判别分析(FDA)降维原理

“类间散度矩阵”(between-class scatter matrix):

线性判别分析(LDA)与Fisher判别分析(FDA)降维原理

然后我们的J 可以表示为

线性判别分析(LDA)与Fisher判别分析(FDA)降维原理

线性判别分析(LDA)与Fisher判别分析(FDA)降维原理

关于“广义瑞利商”(generalizad Rayleigh quotient)的解释,可以参考这里这里

瑞利商经常出现在降维和聚类任务中,因为降维聚类任务往往能导出最大化最小化瑞利熵的式子,进而通过特征值分解的方式找到降维空间

大体内容如下:

线性判别分析(LDA)与Fisher判别分析(FDA)降维原理

下面开始构建我们的函数及约束条件。

线性判别分析(LDA)与Fisher判别分析(FDA)降维原理

线性判别分析(LDA)与Fisher判别分析(FDA)降维原理

由拉格朗日乘数法(具体可参考CCA中Lagrange的应用)可得,

线性判别分析(LDA)与Fisher判别分析(FDA)降维原理

其中,λ \lambdaλ为拉格朗日乘子。

线性判别分析(LDA)与Fisher判别分析(FDA)降维原理

线性判别分析(LDA)与Fisher判别分析(FDA)降维原理

线性判别分析(LDA)与Fisher判别分析(FDA)降维原理

线性判别分析(LDA)与Fisher判别分析(FDA)降维原理

线性判别分析(LDA)与Fisher判别分析(FDA)降维原理

线性判别分析(LDA)与Fisher判别分析(FDA)降维原理

线性判别分析(LDA)与Fisher判别分析(FDA)降维原理

线性判别分析(LDA)与Fisher判别分析(FDA)降维原理

LDA还可从贝叶斯决策理论的角度来描述(关于贝叶斯可参考这里),可证明,当两类数据同先验、满足高斯分布(正态分布)且协方差相等时,LDA可以达到最优的分类效果。

上述讲了这么多都是二分类问题,那么关于多分类任务。

LDA推广(多分类任务)

线性判别分析(LDA)与Fisher判别分析(FDA)降维原理

线性判别分析(LDA)与Fisher判别分析(FDA)降维原理

其中,μ \muμ代表所有示例的均值向量。

线性判别分析(LDA)与Fisher判别分析(FDA)降维原理

线性判别分析(LDA)与Fisher判别分析(FDA)降维原理

其中,

线性判别分析(LDA)与Fisher判别分析(FDA)降维原理

同理,这里的μ i也代表每一类的均值向量。


由上式可得到,

线性判别分析(LDA)与Fisher判别分析(FDA)降维原理

线性判别分析(LDA)与Fisher判别分析(FDA)降维原理

线性判别分析(LDA)与Fisher判别分析(FDA)降维原理

线性判别分析(LDA)与Fisher判别分析(FDA)降维原理

上式可由如下的广义特征值问题求解:

线性判别分析(LDA)与Fisher判别分析(FDA)降维原理

注意:这里的W 和上面二分类问题时的w 相同,W 则是多类问题下的投影直线。故我们需要找到这样在多个类下使得满足第一部分的约束条件的直线W 。

线性判别分析(LDA)与Fisher判别分析(FDA)降维原理

线性判别分析(LDA)与Fisher判别分析(FDA)降维原理

从上图中可容易理解PCA和LDA。可看出PCA多满足高斯分布,投影了最具代表性的主成分分量;而LDA如上所述,投影下来使其更容易区分出各类别之间的最佳方向。

上一篇:线性与非线性数据降维方法汇总(Python代码实现)


下一篇:<LeetCode天梯>Day047 汉明距离(位运算+内置函数) | 初级算法 | Python