Difference between revisions of "Forward-Backward"

From Cohen Courses
Jump to navigationJump to search
Line 15: Line 15:
 
</math>
 
</math>
  
where <math>\gamma_i</math> is the state posterior for position <math>i</math>.
+
where <math>\gamma_i</math> is the state posterior for position <math>i</math>. The state posterior is given by:
 +
 
 +
<math>
 +
\gamma_i()
 +
</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 20:56, 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: