# Forward-Backward Algorithm

A Forward-Backward Algorithm is an dynamic programming-based statistical inference algorithm that calculates the posterior marginal probability of all hidden state variables given an observed sequence.

## References

### 2018a

• (Wikipedia, 2018) ⇒ https://en.wikipedia.org/wiki/Forward–backward_algorithm Retrieved:2018-4-23.
• The forward–backward algorithm is an inference algorithm for hidden Markov models which computes the posterior marginals of all hidden state variables given a sequence of observations/emissions $o_{1:t}:= o_1,\dots,o_t$ , i.e. it computes, for all hidden state variables $X_k \in \{X_1, \dots, X_t\}$ , the distribution $P(X_k\ |\ o_{1:t})$ . This inference task is usually called smoothing. The algorithm makes use of the principle of dynamic programming to efficiently compute the values that are required to obtain the posterior marginal distributions in two passes. The first pass goes forward in time while the second goes backward in time; hence the name forward–backward algorithm.

The term forward–backward algorithm is also used to refer to any algorithm belonging to the general class of algorithms that operate on sequence models in a forward–backward manner. In this sense, the descriptions in the remainder of this article refer but to one specific instance of this class.

### 1972

• (Baum, 1972) ⇒ Leonard E. Baum. (1972). “An equality and associated maximization technique in statistical estimation for probabilistic functions of Markov processes.” In: Inequalities, 3.

### 1970

• (Baum et al., 1970) ⇒ Leonard E. Baum, Ted Petrie, George Soules, and Norman Weiss. (1970). “A maximization technique occurring in the statistical analysis of probabilistic functions of Markov chains.” In: The annals of mathematical statistics 41, no. 1.