Baum-Welch Algorithm
The Baum-Welch algorithm is an expectation-maximization (EM) algorithm for learning the parameters of a hidden Markov model from unlabeled observation sequences. It iteratively refines the transition matrix A, emission matrix B, and initial distribution π by computing expected counts of state transitions and emissions using the forward and backward probabilities.
The algorithm is a local optimization procedure: it is guaranteed to increase the likelihood of the training data but not to find the global optimum. It is widely used in speech recognition, bioinformatics, and natural language processing for training HMMs when the true state sequences are unknown.
The Baum-Welch algorithm is a demonstration of a general principle: when you cannot observe the latent structure directly, you can still learn its parameters by iterating between inference (what would the hidden states look like?) and estimation (what parameters would make those states probable?). This EM structure appears wherever hidden variables must be estimated from incomplete data, not just in HMMs but in Gaussian mixture models and even in some forms of deep learning.