I'm currently trying to implement the Baum Welch algorithm in C, but I ran into the following problem: gamma function:
gamma(i,t) = alpha(i,t) * beta(i,t) / sum over `i` of(alpha(i,t) * beta(i,t))
Unfortunately, for sufficiently large observation sets, alpha drops to 0 at t, and beta quickly drops to 0 when decreasing t, which means that due to rounding, there are never spots where both alpha and beta are nonzero, which makes things pretty problematic .
Is there a way around this problem or am I just trying to increase the accuracy of the values? I am afraid that the problem may appear again if I try this approach, since the alpha and beta drops are about one order of magnitude per observation.
source
share