Difference between revisions of "Forward-Backward"

From Cohen Courses
Jump to navigationJump to search
Line 21: Line 21:
 
</math>
 
</math>
  
 +
where <math>P_{\theta}(y_i=s_1|\bar{x})</math> is sequence posterior of all possible state sequences where <math>y_i=s_l</math>
  
 
<math>
 
<math>
 
P_{\theta}(\bar{y} | \bar{x}) = \frac{P_{\theta}(\bar{x}, \bar{y})}{P_{\theta}(\bar{x})}
 
P_{\theta}(\bar{y} | \bar{x}) = \frac{P_{\theta}(\bar{x}, \bar{y})}{P_{\theta}(\bar{x})}
 
</math>
 
</math>

Revision as of 23:11, 28 September 2011

Summary

This is a dynamic programming algorithm, used in Hidden Markov Models to efficiently compute the state posteriors over all the hidden state variables.

These values are then used in Posterior Decoding, which simply chooses the state with the highest posterior marginal for each position in the sequence.

The forward-backward algorithm can be computed in linear time, where as, a brute force algorithm that checks all possible state sequences would be exponential over the length of the sequence.

Posterior Decoding

Posterior decoding consists in picking the highest state posterior for each position in the sequence:

where is the state posterior for position . The state posterior is given by:

where is sequence posterior of all possible state sequences where