Let's consider a trained Restricted Boltzmann Machine model. It was trained to maximize P(v). Since it's a generative model, how can I get a probability of an input vector which it is supposed to model? I know for a fact that I can determine one using the following equation, but it is the same as in Boltzmann Machines. Does "restriction" only improve learning?
$$ P(v) = \frac{\sum_{h} e^{-E(v,h)}}{\sum_{u}\sum_{g}e^{-E(u,g)}} $$
My first thought for approximating the numerator was to clamp visible units, see how the hidden units are changing and record the most common value of E. When the visible units are clamped I am at equilibrium. I can do similiar for the denominator, but is there any way around?
EDIT: I found expression for a free energy in Practical GuideA practical guide to training restricted Boltzmann machines (Hinton 2010), but don't understand. May someone explain?