A note about the generative-discriminative dichotomy
Although your formal generative-vs-discriminative definition is widely used and very useful [1], I agree with @shimao that it's somewhat of a false dichotomy [2] which starts falling apart when you consider that it's in fact a spectrum which you can even smoothly interpolate between [3], and many popular models do not neatly fall into this dichotomy [4]. Furthermore, it assumes the supervised learning setting and is less useful for classifying unsupervised or semi-supervised methods.
A more general (but more informal) definition [5, 6] to complement it might be:
- Discriminative models learn the boundary between classes
- Generative models learn the distribution of data
With that in mind...
Addressing the claims
TL;DR There is no blanket claim that can be made linking generative/discriminative models and unsupervised/supervised methods, since every combination of the two exists.
| | Generative | Discriminative |
|--------------+------------------------+-----------------------------------------------|
| Supervised | GANs, Naive Bayes, [7] | SVM, logistic regression,deep neural networks |
| Unsupervised | LDA, normalizing flows | monocular depth and optical flow models, [9] |
Claim 1: False. Many generative models---from the basic like Naive Bayes to complex like a GAN or this generative up-convolutional network [7]---are learnt in a supervised or semi-supervised fashion.
Claim 2.1: True. Unsupervised learning algorithms fall all across the generative-discriminative spectrum, e.g. k-nearest neighbours (kNN) is somewhere in between generative and discriminative [8] (formally generative, informally discriminative).
Claim 2.2: False. Many clustering algorithms are generative models, e.g. latent Dirichlet allocation (LDA).
Claim 3: False. There are discriminative models trained on unsupervised datasets, e.g. [9], and as @shimao pointed out, monocular depth and optical flow models.
Claim 4: False. In disproving Claim 1 we showed some examples of supervised learning algorithms with generative models (Naive Bayes, [7]). Also your phrasing is a bit strange since algorithm != model.
"GANs are generative models that use supervised learning to approximate an intractable cost function" [10]. GANs, like VAEs, have both generative and discriminative components, but are commonly referred to as generative.
Sources
- Possibly originating from "Machine Learning - Discriminative and Generative" (Tony Jebara, 2004).
- The Generative-Discriminative Fallacy
- "Principled Hybrids of Generative and Discriminative Models" (Lasserre et al., 2006)
- @shimao's question
- benhammer's answer
- raegtin's answer
- "Learning to Generate Chairs, Tables and Cars with Convolutional Networks" (Dosovitskiy et al., 2017) trains a generative upsampling CNN in a supervised fashion.
- Binu Jasim's answer
- "Discriminative Unsupervised Feature Learning with Convolutional Neural Networks" (Dosovitskiy et al., 2014)
- Goodfellow, Ian (2016). NIPS 2016 GAN tutorial.