On 06/11/2012 12:20 PM, Anja wrote: > Hi everyone, > > I am doing some discrete optimisation in my problem and I obtain some marginal probabilities as the following expression: > > P(x) = exp(-E(x)) / (exp(-E(x)) + exp(-E(y)) + exp(-E(z)) + ...) > > Where E(v) is the energy that the system takes for some configuration v. > > Now, my issue is that these energy values can take very large numbers and hence this P(x) expression affectively becomes 0. If I scale all the energy values by say E(x), so that the expression becomes > > P(x) = exp(-1) / (exp(-1) + exp(-E(y)/E(x)) + exp(-E(z)/E(x)) + ...) then usually these numbers get too close and the probability takes a value very close to 1 and does not say anything useful.
Hold it. Your algebra seems all messed up. You should scale by exp(E(x)), and then your expression turns into
However, with your given numbers this is a value too close to 1 to distinguish it in any meaningful way. I suspect that you have other errors as well.
> Can someone suggest how I can scale this data in a way, so that it becomes easy to calculate and the probabilities are still something useful. > > As an example, in the last problem, the values were something like: > > E(x) = 17247 > E(y) = 20425 > E(z) = 26487 > > What would be ideal is if I could somehow scale everything so that the probabilities also make sense. > > If I scale everything by E(x), I get probabilities of 0.4 for the most likely configuration but if I scale by 02.*E(x), then the probability for the most likely configuration jumps to 0.68... So it is really tricky... > > Thanks, > Anja >