判别分析的三种版本:差异及其使用方法


26

谁能解释差异并给出具体示例如何使用这三种分析?

  • LDA-线性判别分析
  • FDA-Fisher的判别分析
  • QDA-二次判别分析

我到处搜索,但找不到具有真实值的真实示例来查看如何使用这些分析和计算数据,只有大量公式,如果没有任何真实示例就很难理解。我试图理解,很难区分哪些方程式/公式属于LDA,哪些属于FDA。

例如,假设有这样的数据:

x1 x2 class
1  2  a
1  3  a
2  3  a
3  3  a
1  0  b
2  1  b
2  2  b

并说一些测试数据:

x1 x2
2  4
3  5
3  6

那么,如何通过这三种方法使用此类数据?最好看看如何手动计算所有内容,而不是使用一些数学软件包来计算幕后的所有内容。

PS我只找到了本教程:http : //people.revoledu.com/kardi/tutorial/LDA/LDA.html#LDA。它显示了如何使用LDA。

Answers:


23

“ Fisher的判别分析”只是在2类情况下的LDA。当只有2类时,手工计算是可行的,并且分析与多元回归直接相关。LDA是Fisher的思想在任何类别情况下的直接扩展,并使用矩阵代数设备(例如本征分解)进行计算。因此,“ Fisher的判别分析”一词如今已被视为过时。应改为使用“线性判别分析”。另请参阅。通过其算法,具有2个以上类别(多类别)的判别分析是典型的(将判别式提取为典型变量);罕见术语“规范判别分析”

在计算了判别函数之后,Fisher使用了所谓的“ Fisher分类函数”对对象进行分类。如今,LDA过程中使用了更通用的贝叶斯方法对对象进行分类。

根据您对LDA的解释要求,我可以向您提供我的答案:LDA中的提取,LDA中的分类LDA在相关程序中。也是这个这个这个问答。

就像ANOVA要求均方差相等的假设一样,LDA也要求类均等方差-协方差矩阵(在输入变量之间)的假设。该假设对于分析的分类阶段很重要。如果矩阵大不相同,则观察结果将倾向于分配给变异性较大的类别。为了克服这个问题,发明了QDA。QDA是对LDA的修改,它允许类的协方差矩阵具有上述异质性。

如果你有异质性(如框并购试验中,例如检测),你不手头有QDA,你仍然可以使用LDA在使用的各个协方差矩阵(而不是合并矩阵)的政权判别的分类。这部分地解决了该问题,尽管效果不如QDA,因为-正如刚刚指出的那样-这些是判别式之间的矩阵,而不是原始变量之间的矩阵(这些矩阵有所不同)。

让我自己分析一下示例数据。


回复@zyxue的答案和评论

LDA是您定义FDA的答案。LDA 首先提取线性构造(称为判别式),以使之间的分离最大化,然后使用它们进行(高斯)分类。如果(如您所说)LDA与提取判别式的任务无关,那么LDA似乎只是一个高斯分类器,则根本不需要名称“ LDA”。

在该分类阶段,LDA假设类的正态性方差-协方差同质性。LDA 的提取或“降维”阶段假设线性方差-协方差同质性,这两个假设共同使“线性可分离性”可行。(我们使用单个合并的矩阵来生成判别式,因此这些判别式具有同一类合并在类内的协方差矩阵,这使我们有权将同一组判别式应用于所有类别。如果所有相同,则在内部-类协方差都是相同的,相同的;使用它们的权利就变成绝对的。)SwSw

高斯分类器(LDA的第二阶段)使用贝叶斯规则将判别式的观测值分配给类别。可以通过直接利用原始特征的所谓Fisher线性分类函数来实现相同的结果。但是,贝叶斯基于判别式的方法有些通用,因为除了默认的使用判别式协方差矩阵的默认方法以外,它还将允许使用单独的类判别协方差矩阵。同样,它将允许基于判别子集进行分类。

当只有两个类别时,LDA的两个阶段可以在一次通过中一起描述,因为“潜伏提取”和“观测分类”然后减少到同一任务。


我想我记得在我的机器学习课程中学习过,高斯2类LDA假设高斯密度并使用贝叶斯MPE规则,而Fisher的LDA则不做高斯假设,而是更改最优准则以最大化SNR。这与您的答案一致吗?
奥斯丁

1
@Jake也对此感兴趣,在此答案中:stats.stackexchange.com/questions/87975/…,结果是一样的。评论?
多尔

您确定““ Fisher的判别分析”只是在两类情况下的LDA”吗?
zyxue

@ zyxue,95%肯定,但是无论如何我觉得这个词已经过时了。请在stats.stackexchange.com/q/190806/3277中查看我的脚注。
ttnphns

@ ttnphns,fyi,根据youtu.be/hGKt0yy9q_E?t=3010,文献中经常将FDA和LDA混淆。区分两者的一种方法是,FDA是一种特征提取方法,而LDA和QDA是分类技术。
zyxue

1

我发现很难同意FDA是@ttnphns建议的两类LDA。

我推荐Ali Ghodsi教授就此主题进行两场非常有益而又优美的演讲:

  1. LDA和QDA。此外,《统计学习的要素》pdf)一书第108页还对LDA进行了与讲座一致的描述。
  2. FDA

对我来说,LDA和QDA都是相似的,因为它们都是具有高斯假设的分类技术。两者之间的主要区别在于LDA假设两个类别的特征协方差矩阵相同,这导致了线性决策边界。相反,QDA不太严格,并且针对不同的类别允许使用不同的特征协方差矩阵,从而导致二次决策边界。请参见scikit-learn的下图,以了解二次决策边界的外观。

对子图的一些评论

  • 第一行:当协方差矩阵在数据中确实相同时,LDA和QDA导致相同的决策边界。
  • 下排:当协方差矩阵不同时,LDA会导致性能下降,因为其假设变得无效,而QDA的分类效果要好得多。

另一方面,FDA是一个非常不同的物种,与高斯假设无关。FDA试图做的是找到一个线性变换,以最大化类间平均距离,同时最小化类内方差。第二堂课很好地解释了这个想法。与LDA / QDA相比,FDA不进行分类,尽管FDA发现转换后获得的特征可以用于分类,例如使用LDA / QDA或SVM或其他。


2
请在我的回答中看到我对您回答的答复。我尚未观看您链接到的视频课程,所以不能说我是否同意。我不同意您在答案中给出的解释/定义(LDA与FDA)。但是,这两个术语的定义对我来说不是很重要的话题。了解所有工作原理更为重要。
ttnphns

2
如果按照您的理解,FDA doesn't do classification, although the features obtained after transformation found by FDA could be used for classification我会说这就是我所说的“ LDA提取阶段”。当然,这些提取的功能(判别函数)-您可以随意使用它们。在标准LDA分类中,它们用作高斯分类器。
ttnphns

我很好奇您在哪里读到“ LDA首先提取线性结构(称为判别式)”?我认为这被称为线性判别式,因为决策边界是线性的,这是假设特征协方差矩阵对于不同类别是相同的结果。类似地,QDA具有二次决策边界。这些也显示在嵌入式图中。除了上述影片,我引用统计学习的要素PDF格式,在108页,它开始描述没有提到的特征提取LDA。
zyxue

毕竟,我认为我们正在谈论同一件事,但这只是一种命名方式。您认为LDA = feature_extraction +分类,但是根据我的参考资料,LDA只是关于分类。这里的feature_extraction部分称为FDA。重要的是,这里与所涉及的类数无关。LDA和FDA都可以处理两个以上的类别。
zyxue

我们可能还会坚持使用我们所使用的定义。无论如何,应该注意的是,“线性结构”和“线性决策边界”是相关的,在DA的背景下,它们是同一回事。以决策边界为直线看您的图片。将太类转换为椭圆形时,判别函数将与边界精确垂直。实际上,这里的“主要”事物是判别函数,变量,维度,而决策边界是空间中取决于其方向的边界。12月边界为“次要”。
ttnphns
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.