我正在考虑的定义:生成模型学习 p(x,y),而判别模型学习 p(y|x=x)。
我想通过分享以下声明来验证我的理解是否正确。请让我知道我的主张是对还是错(请提供反例)。
权利要求 1:所有生成模型都是使用无监督学习来学习的。
权利要求 2:并非每个无监督学习算法都是生成模型。例如,聚类算法不是生成模型。
权利要求 3:所有判别模型都是使用监督学习来学习的。
权利要求 4:每个监督学习算法都是一个判别模型。
我正在考虑的定义:生成模型学习 p(x,y),而判别模型学习 p(y|x=x)。
我想通过分享以下声明来验证我的理解是否正确。请让我知道我的主张是对还是错(请提供反例)。
权利要求 1:所有生成模型都是使用无监督学习来学习的。
权利要求 2:并非每个无监督学习算法都是生成模型。例如,聚类算法不是生成模型。
权利要求 3:所有判别模型都是使用监督学习来学习的。
权利要求 4:每个监督学习算法都是一个判别模型。
尽管您的正式生成与判别定义被广泛使用且非常有用 [1],但我同意 @shimao 的观点,即当您认为它实际上是一个频谱时,它在某种程度上是一种错误的二分法 [2]甚至在 [3] 之间进行平滑插值,许多流行的模型并没有整齐地落入这种二分法 [4]。此外,它假设有监督学习设置,对于分类无监督或半监督方法的用处不大。
一个更一般(但更非正式)的定义 [5, 6] 来补充它可能是:
考虑到这一点...
TL;DR没有可以将生成/判别模型和无监督/监督方法联系起来的全面声明,因为两者的每一种组合都存在。
| | Generative | Discriminative |
|--------------+------------------------+-----------------------------------------------|
| Supervised | GANs, Naive Bayes, [7] | SVM, logistic regression,deep neural networks |
| Unsupervised | LDA, normalizing flows | monocular depth and optical flow models, [9] |
权利要求 1:错误。许多生成模型——从像朴素贝叶斯这样的基本模型到像 GAN 这样的复杂模型或这种生成的上卷积网络 [7]——都是以监督或半监督的方式学习的。
声明 2.1:正确。无监督学习算法属于生成-判别频谱,例如k-最近邻(kNN)介于生成和判别之间[8](正式生成,非正式判别)。
声明 2.2:错误。许多聚类算法是生成模型,例如潜在狄利克雷分配(LDA)。
主张 3:错误。有在无监督数据集上训练的判别模型,例如 [9],正如@shimao 指出的,单目深度和光流模型。
权利要求 4:错误。在反驳权利要求 1 时,我们展示了一些具有生成模型的监督学习算法示例(朴素贝叶斯,[7])。由于算法!=模型,您的措辞也有点奇怪。“GAN 是使用监督学习来逼近难以处理的成本函数的生成模型”[10]。GAN 与 VAE 一样,具有生成和判别组件,但通常被称为生成。
那么首先我会挑剔你的定义。考虑一个条件 GAN,它给定类别生成类别 x 中进行建模。这可以说不是一个判别模型,但它是根据你的定义。
权利要求 1 的一个反例是像神经场景渲染这样的模型。它是一个具有高度结构化潜在空间的生成模型,只能通过监督学习(因为学习结构化潜在表示通常是一个非常困难的问题)。
3 的反例是单目深度和光流模型可以通过利用几何和时间一致性以无监督的方式学习。(但这些是判别回归模型)
假设所有模型都可以分为生成模型和判别模型以及有监督/无监督模型,则权利要求 4 是权利要求 1 的对立面。对于一个明确的反例,考虑一个以图像类别为条件的 GAN——这将需要标记数据来训练,但它是生成的。