LDA中的“线性判别系数”是什么?


17

在中R,我使用lda库中的函数MASS进行分类。据我了解LDA,输入将被分配标签,这将最大化,对吗?Xÿpÿ|X

但是当我拟合其中我不太了解的输出,

X=大号一种G1大号一种G2
ÿ=d一世[RËCŤ一世Øñ
lda

编辑:要重现下面的输出,请首先运行:

library(MASS)
library(ISLR)

train = subset(Smarket, Year < 2005)

lda.fit = lda(Direction ~ Lag1 + Lag2, data = train)
> lda.fit
Call:
lda(Direction ~ Lag1 + Lag2, data = train)

Prior probabilities of groups:
    Down       Up 
0.491984 0.508016 

Group means:
            Lag1        Lag2
Down  0.04279022  0.03389409
Up   -0.03954635 -0.03132544

Coefficients of linear discriminants:
            LD1
Lag1 -0.6420190
Lag2 -0.5135293

我了解上述输出中的所有信息,但有一件事是LD1什么?我在网上搜索它,它是线性判别分数吗?那是什么,为什么我需要它?

更新

我阅读了几篇文章(例如thisthis),还在网上搜索了DA,现在这就是我对DA或LDA的看法。

  1. 它可以用来进行分类,当达到目的时,我可以使用贝叶斯方法,即为每个类计算后验,然后将归类为具有最高后验性的类。 。通过这种方法,我根本不需要找出区别,对吗?pÿ|Xÿ一世X

  2. 正如我在帖子中看到的那样,DA或至少LDA主要是针对降,对于类和 -dim预测变量空间,我可以将 -dim投影到新的 -dim特征空间,即,可以看作是原始的变换后的特征向量,每个是投影的向量。ķddXķ-1ž

    X=X1Xdž=ž1žķ-1ž一世=w一世ŤX
    žXw一世X

我对上述说法正确吗?如果是,我有以下问题:

  1. 什么是判别式?向量中的每个条目是否都是判别式?还是?ž一世žw一世

  2. 如何使用判别式进行分类?


1
LDA有两个不同的阶段:提取和分类。提取时,形成称为判别式的潜在变量,作为输入变量的线性组合。该线性组合中的系数称为判别系数。这些就是你要问的。在第二阶段,数据点由那些判别而不是原始变量分配给类别。要了解更多信息,请discriminant analysis在此站点上搜索。
ttnphns

2
线性判别分数是判别数据点的值,因此请不要将其与判别系数相混淆,后者类似于回归系数。在这里查看我的详细答案。
ttnphns

@ttnphns,谢谢,我将详细了解DA。顺便说一句,我认为要对输入进行分类,我只需要计算所有类别的后验p y | x ,然后选择后验程度最高的类别,对吗?而且我不明白为什么在后验计算中需要L D 1Xpÿ|X大号d1
牛油果

可以并且可以基于原始变量进行贝叶斯规则分类。但这不是判别分析。LDA的基本部分是降维,它允许您用较少数量的导数分类器(判别式)替换原始变量分类器。请阅读此处的帖子,尤其是我的帖子,它们全面地描述了LDA的思想和数学。
ttnphns 2014年

@ttnphns,我正在阅读您在上述评论中链接的帖子,;-)
avocado

Answers:


5

LDA1-0.6420190×Lag1+-0.5135293×Lag2

下表说明了问题中使用的数据集的得分,后验概率和分类之间的关系。基本模式始终适用于两组LDA:分数与后验概率之间存在一对一映射,并且从后验概率或分数进行预测时,预测是等效的。

得分,后验概率,分类

子问题的答案和其他一些评论

  • 尽管LDA可以用于减少尺寸,但是示例中并没有这样做。对于两组,每个观察仅需要一个分数的原因是这就是全部。这是因为存在于一组中的概率是存在于另一组中的概率的补充(即,它们加1)。您可以在图表中看到:低于-.4的分数被归类为Down,而较高的分数则被预测为Up

  • 有时,分数的向量称为discriminant function。有时系数称为此。我不清楚两者是否正确。我相信MASS discriminant是指系数。

  • MASS软件包的lda功能产生系数的方式与大多数其他LDA软件不同。替代方法为每个组计算一组系数,并且每组系数都有一个截距。利用使用这些系数计算的判别函数(分数),分类基于最高得分,并且无需计算后验概率即可预测分类。我在GitHub上放置了一些LDA代码,该代码是对该MASS函数的修改,但是产生了这些更方便的系数(该包称为Displayr/flipMultivariates,如果使用创建对象,则可以使用LDA提取系数obj$original$discriminant.functions)。

  • 我在这里将R的所有概念代码都发布

  • 没有一个单一的公式可以根据分数计算后验概率。理解这些选项的最简单方法是(无论如何对我来说)使用以下方法查看源代码:

library(MASS) getAnywhere("predict.lda")


I'm not clear on whether either [word use] is correct“判别函数”(也称为“判别函数”)是提取的变量-变量,维。因此,它既可以通过从输入变量中进行评估的系数(权重)来表征,也可以通过分数来表征其值。就像PCA中的PC。因此,“判别系数”和“判别分数”是正确的用法。
ttnphns

@ttnphns,您对术语的使用非常清楚和明确。但是,在该主题的许多帖子和出版物中都没有出现这种用法,这就是我试图提出的重点。仅基于单词含义,对我来说很清楚“判别函数”应该指数学函数(即和积和系数),但是对我来说,这还不是很广泛的用法。
蒂姆(Tim)

@Tim您发布的代码链接已失效,您可以将代码复制到答案中吗?
baxx

0

该功能背后的理论是“区分人群的费舍方法”。我建议在应用多元统计分析(ISBN:9780134995397)中的第11.6章作为参考。

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.