Using generative models for classification I think I never saw a generative model used for a classification task: usually a discriminative model is used; Sometimes (AFAIK, with deep neural networks) a generative model is created as a pre-training step, but then it is used to build a discriminative model - which usually performs better in classification tasks.
Can we use P(Y=label,X=data) to classify any given data using a generative model? How are generative models used in classification tasks? If they are not used, why is it so?
 A: Generative model is widely used!
Here are some widely used examples


*

*Naive Bayes

*Mixture of Gaussian

*Bayesian Network (and other probablistic graphical models)

*... many more


Your math is incorrect. For both generative model and discriminate model we are trying to get $P(Y|X)$.


*

*Discriminate model directly gets $P(Y|X)$ from data.

*Generative model gets $P(Y|X)$ from the joint $P(X,Y)$, and the joint is calculated from $P(Y)$ and $P(X|Y)$.


Here is the intuitive explanation: let us assume we want to use a car's weight, to predict the car's transmission type, i.e., manual or automatic. (check mtcars[,c('wt','am')] in R to see how data looks like.)


*

*The discriminate model will think about where should we set the threshold on weight to have better results. And setting the threshold is essentially specify $P(Y|X)$.

*Generative model will first look at training data for how may manual car and automatic car we have (This is $P(Y)$) and what's the characteristic/weights of for different cars (This is $P(X|Y)$), and eventually calculate $P(Y|X)$.
