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


当前回答

在实践中,模型的使用如下。

在判别模型中,为了从训练例x中预测标签y,你必须评估:

它只是在考虑x的情况下选择最有可能的类别y。这就像我们试图在类别之间建立决策边界的模型。这种行为在神经网络中非常明显,其中计算的权重可以被视为一个复杂形状的曲线,将空间中一个类的元素隔离开来。

现在,用贝叶斯法则,把方程中的替换为。因为你只对arg max感兴趣,你可以擦掉分母,这对每个y都是一样的,所以,你剩下

这是你在生成模型中使用的方程。

在第一种情况下,你有条件概率分布p(y|x),它模拟了类之间的边界,在第二种情况下,你有联合概率分布p(x, y),因为p(x | y) p(y) = p(x, y),它显式地模拟了每个类的实际分布。

对于联合概率分布函数,给定一个y,你可以计算(“生成”)它各自的x。因此,它们被称为“生成”模型。

其他回答

这是一个额外的信息点,与上面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)

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

生成算法对数据如何生成进行建模,以便对信号进行分类。它提出了一个问题:根据我的世代假设,哪个类别最有可能产生这个信号?

判别算法并不关心数据是如何产生的,它只是对给定的信号进行分类。

这篇文章帮助我理解了这个概念。

总之,

两者都是概率模型,这意味着它们都使用概率(准确地说,是条件概率)来计算未知数据的类别。 生成式分类器在数据集上应用联合PDF和贝叶斯定理,并使用这些值计算条件概率。 判别分类器直接在数据集上找到条件概率

一些不错的阅读材料:条件概率,联合PDF

不同的模型归纳如下表:

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

之前的答案都很好,我想再补充一点。

从生成算法模型中,我们可以推导出任何分布;而我们只能从判别算法模型中得到条件分布P(Y|X)(或者我们可以说它们只对判别Y的标签有用),这就是为什么它被称为判别模型。判别模型不假设X是独立的给定Y($X_i \perp X_{-i} | Y$),因此通常更强大的计算条件分布。