I wish to optimize the following likelihood function for parameter $\Theta$:
$$p(D|\Theta)=\int_X\int_Y p(x, y, D|\Theta)dydx$$ where $X$ and $Y$ are latent variables and only $D$ is observed. I would like to use the Expectation-Maximization (EM) algorithm. If I understand it correctly, the E-step of the algorithm would be:
$$Q(\Theta|\Theta^{(t)})=\mathbb E_{X, Y|D,\Theta^{(t)}}[\log(p(X, Y, D|\Theta))]$$
However, I can only get samples from $p(X, Y|D,\Theta^{(t)})$ using Markov Chain Monte Carlo. So, I did the following:
$$Q(\Theta|\Theta^{(t)})=\mathbb E_{X, Y|D,\Theta^{(t)}}[\log(p(X, Y|D,\Theta))]+\log(p(D|\Theta))$$
Since $D$ is observed, I can calculate $\log(p(D|\Theta))$ from the data. Now here's my question: is it correct? And would you recommend any other way to do it or any other algorithm to use here?