可生成式和可生成式的区别是什么 有识别力的算法?


当前回答

不同的模型归纳如下表:

图片来源:监督学习小抄-斯坦福CS 229(机器学习)

其他回答

下面是CS299课堂讲稿中最重要的部分(作者:Andrew Ng),它帮助我理解了判别学习算法和生成学习算法之间的区别。

假设我们有两类动物,大象(y = 1)和狗(y = 0), x是动物的特征向量。

给定一个训练集,像逻辑回归或感知器算法这样的算法(基本上)试图找到一条直线——也就是一个决策边界——将大象和狗分开。然后,分类 一种新动物,比如大象或狗,它会检查它的哪一边 决定其所处的边界,并据此做出预测。我们称之为判别学习算法。

这里有一个不同的方法。首先,看看大象,我们可以建立一个 大象的模型。然后,看着狗,我们可以建立一个 单独的狗狗模型。最后,为了给一种新动物分类, 我们可以将新动物与大象模型相匹配,并将其与 狗的模型,看看新动物是否更像大象 或者更像我们在训练场上看到的狗。我们称之为生成式学习算法。

想象一下,你的任务是将演讲分类为一种语言。

你可以通过以下任何一种方式:

学习每一种语言,然后用你刚刚学到的知识对它进行分类

or

在不学习语言的情况下确定语言模型的差异,然后对语音进行分类。

第一种是生成方法,第二种是判别方法。

查看参考资料了解更多细节:http://www.cedar.buffalo.edu/~srihari/CSE574/Discriminative-Generative.pdf。

生成算法模型将完全从训练数据中学习,并预测响应。

判别算法的工作就是对两种结果进行分类或区分。

这是一个额外的信息点,与上面StompChicken的回答相吻合。

判别模型和生成模型的根本区别在于:

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

编辑:

生成式模型是可以生成数据的模型。它同时对特征和类(即完整的数据)建模。

如果我们对P(x,y)建模:我可以使用这个概率分布来生成数据点——因此所有建模P(x,y)的算法都是生成的。

如。生成模型

朴素贝叶斯模型P(c)和P(d|c) -其中c是类,d是特征向量。 P(c,d) = P(c) * P(d|c) 因此,某些形式的朴素贝叶斯模型,P(c,d) 贝叶斯网 马尔可夫网

判别模型是指只能用于对数据点进行判别/分类的模型。 你只需要在这种情况下建模P(y|x),(即给定特征向量的类别概率)。

如。关于判别模型:

逻辑回归 神经网络 条件随机场

一般来说,生成式模型比判别式模型需要更多的建模,因此有时不那么有效。事实上,大多数(不确定是否全部)无监督学习算法,如聚类等,可以被称为生成式,因为它们建模P(d)(并且没有类:P)

附言:部分答案来源于原文

不同的模型归纳如下表:

图片来源:监督学习小抄-斯坦福CS 229(机器学习)