Introduction
temporary created in order to be referenced by other posts.
Previously I talked about Naive Bayes Classifier. In that case, all variables are observable. However, sometimes there could be some latent variables in some models. EM(Expection-Maximization) algorithm could resolve those models containing latent variables.
Generally speaking, to solve a classification problem, what we need to do is to get the optimal estimation on the posterior:
$$h(x) := \underset{c_k}{\arg \max} , P(Y=c_k|X=x) \tag{1}\label{eq:1}$$
There are 2 general methods to do this. First one is directly modeling the posterior based on training data and to do prediction based on that. This is called Discriminative Model, e.g., BP, LDA, SVM, etc. Another type is generative Models, which calculates $P(Y=c_k|X=x)$ using:
$$P(Y=c_k|X=x) := \frac {P(x,c_k)}{P(x)}\tag{2}\label{eq:2}$$
Naive Bayes Classifier is the second one.