生成与区分


153

我知道生成式意思是“基于 ”,判别式意思是“基于 ”,但是我对以下几点感到困惑:P(x,y)P(y|x)

  • 维基百科(以及网络上的许多其他热门文章)将诸如SVM和决策树之类的内容归类为歧视性内容。但是这些甚至没有概率解释。区别在这里是什么意思?区别对待只是意味着没有生成能力吗?

  • 朴素贝叶斯(NB)具有生成性,因为它捕获和,因此您拥有(以及)。是不是小事做,比方说,回归(海报男孩判别模型的)“生成”通过简单的计算在类似的方式(同独立的假设为NB,使得,其中的MLE 只是频率)?P(x|y)P(y)P(x,y)P(y|x)P(x)P(x)=P(x0)P(x1)...P(xd)P(xi)

  • 我知道判别模型往往胜过生成模型。生成模型的实际用途是什么?能够生成/模拟数据被引用了,但是什么时候出现呢?我个人只有回归,分类和协作的经验。过滤结构化数据,那么这里的用法与我无关吗?“缺少数据”参数(缺少)似乎只为您提供训练数据的优势(当您实际上知道且无需对进行边际化以获得相对笨拙时),无论如何您都可以直接估算出),即使这样,插补也更加灵活(不仅可以基于预测P(xi|y)xiyP(y)P(xi)y但其他也是如此)。xi

  • 维基百科上完全矛盾的引用是什么?“在表示复杂学习任务中的依存关系方面,生成模型通常比判别模型更灵活”与“区分模型通常可以表达观察到的目标变量之间更复杂的关系”

相关问题让我开始思考。


5
(+1)我认为术语令人困惑,并且我认为模型相对于SVM具有条件分布的生成性,也就是说,仅为纯判别性建模此条件分布的各个方面目的。正如您第二点要指出的那样,可以将模型扩充为完全生成的模型。从学习的角度来看,这种区别是相关的,因为我们可以建模并计算或建模。P(y|x)P(y|x)P(x,y)P(y|x)P(y|x)
NRH

2
我认为您关于SVM的说法是不正确的:“但是这些甚至都没有概率解释。” 通过找到合适PDF的MAP配置,可以清楚地从概率意义上解释具有损失函数的任何事物。
gmatt 2015年

Answers:


135

判别模型和生成模型之间的根本区别是:

  • 判别模型学习类之间的(硬或软)边界
  • 生成模型对单个类的分布进行建模

要回答您的直接问题:

  • SVM和决策树具有区别性,因为它们了解类之间的显式边界。SVM是最大余量分类器,这意味着它在给定内核的情况下,学习一个决策边界,该边界使两个类的样本之间的距离最大化。样本与学习的决策边界之间的距离可用于使SVM成为“软”分类器。DT通过以最大化信息增益(或其他标准)的方式递归划分空间来学习决策边界。

  • 以这种方式可以生成逻辑回归的生成形式。但是请注意,您并未使用完整的生成模型来进行分类决策。

  • 取决于应用,生成模型可能具有许多优势。假设您正在处理非平稳分布,其中在线测试数据可能由与培训数据不同的基础分布生成。与针对SVM中的决策边界进行检测相比,检测分布变化并相应地更新生成模型通常更直接,尤其是在无需监督在线更新的情况下。判别模型通常也不能用于离群值检测,尽管生成模型通常会起作用。当然,应该基于该应用程序评估最适合特定应用程序的内容。

  • (这个报价很复杂,但这是我想说的。)生成模型通常被指定为概率图形模型,它提供了数据集中独立关系的丰富表示。判别模型没有提供数据集中要素与类之间关系的清晰表示。他们没有使用资源来对每个类进行完全建模,而是专注于对类之间的边界进行丰富的建模。给定相同的容量(例如,执行该模型的计算机程序中的位),则判别模型可能会比生成模型产生更复杂的边界表示。


一个简单的评论:随着增加,簇之间的边界越来越难标绘/理解/测量。因此,例如k聚类(被视为判别模型)变得更加嘈杂和特别。(例如:比较两党制与德国的五党制的政治)。(k2)kk
denis

63

(hamner的答案很好,因此只需将我的答案从MetaOptimize交叉发布以确保完整性。)

我认为生成算法为实际生成数据提供了一个模型(我认为它们为您提供了和,而不是,尽管我猜想这是等效的),但判别算法只是提供分类分裂(不一定以概率方式)。P(X|Y)P(Y)P(X,Y)

比较例如高斯混合模型和k均值聚类。在前者中,我们有一个很好的概率模型来说明如何生成点(以某种概率拾取一个组件,然后通过从该组件的高斯分布中采样来发出一个点),但是关于后者,我们真的无话可说。

请注意,生成算法具有判别属性,因为一旦拥有和(根据贝叶斯定理),您就可以获得),尽管判别算法实际上并没有生成属性。P(Y|X)P(X|Y)P(Y)

1:区分算法允许您对点进行分类,而无需提供实际生成点的模型。所以这些可能是:

  • 概率算法尝试学习(例如,逻辑回归);P(Y|X)
  • 或尝试直接从点到类的映射的非概率算法(例如,感知器和SVM仅为您提供一个单独的超平面,但没有生成新点的模型)。

因此,是的,区分性分类器是任何非生成性的分类器。

对此的另一种思考方式是,生成算法对模型进行某种结构假设,而判别算法则进行较少的假设。例如,朴素贝叶斯假定条件是您的要素具有条件独立性,而逻辑回归(朴素贝叶斯的区别“对等”)则不然。

2:是的,朴素贝叶斯具有生成性,因为它捕获和。例如,如果我们知道和以及英语和法语单词的概率,那么我们现在可以通过首先选择文档的语言来生成新文档(英语的概率为0.7,法语的概率为0.3),然后根据所选语言的单词概率生成单词。P(X|Y)P(Y)P(Y=English)=0.7P(Y=French)=0.3

是的,我想您可以通过这种方式使逻辑回归生成,但这只是因为您要向逻辑回归添加一些尚不存在的东西。也就是说,当您执行朴素贝叶斯分类时,您是在直接计算(右侧的项和,是允许您生成新文档的内容);但是,当您在逻辑回归中计算时,您没有在计算这两件事,您只是将逻辑函数应用于点积。P(Y|X)P(X|Y)P(Y)P(X|Y)P(Y)P(Y|X)

3:在较小的数据集上,生成模型通常胜过区分模型,因为生成假设会在您的模型上放置一些结构,以防止过度拟合。例如,让我们考虑朴素贝叶斯与逻辑回归。朴素贝叶斯假设当然很少满足,因此随着数据集的增长,逻辑回归往往会优于朴素贝叶斯(因为它可以捕获朴素贝叶斯无法做到的依赖性)。但是,当您只有一个很小的数据集时,逻辑回归可能会发现实际上并不存在的虚假模式,因此,朴素贝叶斯充当模型上的一种正则化函数,可以防止过拟合。吴安德(Andrew Ng)和迈克尔·乔丹(Michael Jordan)发表了一篇关于判别式与生成式分类器的论文,详细讨论了这一点。

4:我认为这意味着,如果正确指定模型且模型实际成立,则生成模型实际上可以学习数据的底层结构,但是如果不满足生成假设,则区别模型可能会胜过(因为区别算法是减少与特定结构的联系,而现实世界则是混乱的,而且无论如何都很难完全满足假设。(如果它们引起混淆,我可能会忽略它们。)

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.