我目前正在尝试用C实现Baum Welch算法,但我遇到了以下问题:gamma函数:
gamma(i,t) = alpha(i,t) * beta(i,t) / sum over `i` of(alpha(i,t) * beta(i,t))
Run Code Online (Sandbox Code Playgroud)
不幸的是,对于足够大的观察集,α随着t增加迅速下降到0 ,并且β随着下降迅速下降到0 t,这意味着,由于向下舍入,从来没有α和β都非零的点,这使得事情很有问题.
有没有解决这个问题的方法,还是我应该尝试提高值的精确度?我担心如果我尝试这种方法,问题可能会再次出现,因为每次观察的α和β下降约一个数量级.