Introduction to Markov systems


 Felicity Sutton
 3 months ago
 Views:
Transcription
1 1. Introduction Up to now, we have talked a lot about building statistical models from data. However, throughout our discussion thus far, we have made the sometimes implicit, simplifying assumption that our individual data samples (or trials) are statistically independent. Let, { X 1, X 2, } (1) be a sequence of discrete random variables. hen the { X j } only if, random variables are said to be independent if and PX ( t x t X t 1 x t 1, X t 2 x t 2,, X 1 x 1 ) PX ( t x t ) (2) (Equation (2) generalizes trivially to sequences of continuous and multivariate random variables.) Some classic examples of independent events are (1) a series of coin tosses, (2) a series of dice rolls, etc. In many instances, however, the independence assumption is not a good assumption, especially when we deal with sequential data generated over time. Consider, for example, the following random variables: 1. A person s weight. 2. Acoustic signals in speech recognition. 3. Hand gestures. 4. Robot trajectories. 5. he weather. 6. he state of a dynamic system. In each of the above examples, knowledge of the random variable at previous times { t 1, t 2, } gives us useful information about the random variable at time t. If I know that my weight on day ( t 1) is 150 lb., then my weight on day t is clearly constrained to be in some interval around 150 lb. Similarly, if I measure the position of my mobile robot at time t 1, ( x t 1, y t 1 ), then the measurement of the robot s position at time t is constrained to be in some neighborhood of ( x t 1, y t 1 ), ( x t, y t ) ( x t 1, y t 1 ) ±( δx, δy) where δx and δy are determined by the robot s maximum acceleration and the robot s sensor noise models. When statistical independence is not a good assumption, the following approximation is often made: (3) PX ( t x t X t 1 x t 1, X t 2 x t 2,, X 1 x 1 ) PX ( t x t X t 1 x t 1 ) (4) In other words, we assume that the outcome of the t th measurement (or trial) is dependent on the outcome of the ( t 1) th measurement, but is conditionally independent of the outcomes of all previous measurements at times { t 2, t 3,, 1} given the outcome of the ( t 1) th measurement. his property is universally known as the Markov property. (he Russian mathematician Andrei Andreivich Markov was the first to extensively study stochastic systems with property (4) in the early part of the 20th century.) ote that although the Markov assumption in equation (4) only relaxes the independence assumption in equation (2) slightly, it proves to be a remarkably powerful tool in modeling data with sequential dependencies. Many real systems have been modeled very successfully using the Markov property, even when the Markov assumption is only an approximation of reality (as is the case for many real systems). A recent query of the ISPEC database of scientific and engineering abstracts generated 25,000 hits for the keyword Markov. Models that make use of the Markov property can be broadly classified into four categories along two dimensions: (1) observability and (2) actions. Markov models that are fully observable and involve no actions (i.e are passive) are called Markov chains or observable Markov models. Markov chains that are only partially observable (i.e. the state of the system is observable only indirectly) are called hidden Markov models (HMMs)
2 Figure 1 below gives simple examples of a Markov chain, and a hidden Markov model, respectively. In the Markov chain, the { S i } represent observable states of the system at a given time step, and the { a ij } represent probabilistic transitions between the states. In the hidden Markov model (HMM), the states { S i } are not directly observable (i.e. are hidden), but are only indirectly observed through a stochastic output observable (in this case, the color red or blue). he probability of observing a given observable (e.g red or blue) is statedependent; in the figure below, for example, there is a onethird probability of observing red and a twothird probability of observing blue in state S 1. a 22 a 12 a 11 a 22 a 12 a 11 S2 S 1 a 21 a 21 a 23 a 13 a 42 a 32 a 24 a 14 a 31 a 41 a 23 a 13 a 42 a 32 a 24 a 14 a 31 a 41 a 43 a 43 S 3 S 4 a 34 a 33 a 44 a 34 a 33 a 44 fourstate observable Markov model Figure 1 fourstate, twoobservable HMM Markov systems were actions (by some agent) influence the state of the system at the next time step are studied in the broad area of reinforcement learning and are referred to as Markov Decision Processes. he table below summarizes the different types of Markov systems. Actions Passive Choose actions Observability Fully observable Partially observable Observable Markov Models Hidden Markov Models (HMMs) Markov Decision Processes (MDPs) Partially Observable Markov Decision Processes (POMDPs) Before formalizing the notion of a Markov chain and a hidden Markov model, we list some of the successful realworld applications of HMMs: 1. Speech recognition 6. Human skill modeling (e.g. surgical procedures) 2. Language modeling 7. Human control strategy analysis (e.g. driving) 3. Gesture recognition (e.g. sign language) 8. Robot control (e.g. autonomous driving) 4. Handwriting recognition 9. And others Facialexpression recognition (e.g. sign language)  2 
3 2. Observable Markov models A. Definitions Consider a system that consists of distinct states, { S i }, i { 1,,, (5) with the following properties. At regularly spaced, discretetime intervals, the system undergoes a change of state (possibly back to its present state). Defining { q t }, t { 12,, }, as the state of the system at time t, assume that the state transitions of this system are governed by firstorder Markov stateconditional probabilities, such that, Pq ( t S j q t 1 S i, q t 2 S k, ) Pq ( t S j q t 1 S i ). (6) Moreover, assume that the statetransition probabilities are stationary, such that, Pq ( t S j q t 1 S i ) Pq ( s S j q s 1 S i ), s, t > 1. (7) ogether, equations (5), (6) and (7) define a discrete, stationary, firstorder Markov chain, or alternatively, an observable Markov model. For notational convenience, let, a ij Pq ( t S j q t 1 S i ), ij, { 1,,, (8) let the statetransition matrix A be defined by, a 11 a 12 a 1 A a 21 a 22 a 2 : : : (9) a 1 a 2 a where, 0 a ij 1, ij, { 1,,, (10) a ij 1, i { 1,,, (11) j 1 and let the length initialstate probability vector π { π i }, i { 1,,, π i Pq ( 1 S i ), i { 1,, (12) define the initial ( t 1 ) state probability distribution. hen, the Markov chain λ is completely defined by { A, π}. B. Example Consider Figure 2 below. It graphically describes a fully connected threestate Markov model ( 3 ). (Fully connected means that a ij > 0, i, j.) his model could, for example, be a simple meteorological model. Assume that once a day at high noon, the weather conditions are observed and classified into one of three distinct states { S 1, S 2, S 3 } where, S 1 rain or snow, S 2 cloudy, and S 3 sunny. (13) Furthermore, assume that the weather on any given day t is dependent only on the weather on the previous day ( t 1). hen a possible statetransition matrix A might be,  3 
4 a 22 a 12 a 11 S 2 S 1 a 21 a 32 a 13 a 23 a 31 S 3 a 33 Figure 2 A (14) which is illustrated graphically in Figure 3 below S 2 S S Figure 3 C. Probability of observation sequences Given a Markov model λ { A, π}, and an observation sequence O, O { q 1, q 2,, q } (15) of length, the probability of the observation sequence O, given the model λ, POλ ( ), is given by, POλ ( ) Pq ( 1 ) Pq ( 2 q 1 ) Pq ( q 1 ) POλ ( ) π q1 a q1 q a 2 q 1 q (16) (17) (ote that in equation (17), the q t subscripts denote the index of the state at time t.) Example: For the example in Section 2B, what is the probability of the observation sequence O,  4 
5 O { S 3, S 3, S 3, S 1, S 1, S 3, S 2, S 3 } (18) given that at time From the question,, the weather is sunny? π 1 π 2 0, π 3 Pq ( 1 S 3 ) 1. (19) herefore, t 1 POλ ( ) π 3 a 33 a 33 a 31 a 11 a 13 a 32 a 23 POλ ( ) POλ ( ) (20) (21) (22) D. Expected length of samestate sequences Given that at time t the state of the model λ { A, π} is S i, the probability that the model will stay in that state for exactly d time steps is given by, where, ow, where, PO ( d λ), (23) O d { q t S i, q t + 1 S i,, q t+ d 1 S i, q t+ d S j }, j i. (24) t+ d 1 PO ( d λ) Pq ( t S i ) Pq τ S i q τ 1 S i Pq ( t+ d S i q t+ d 1 S i ) τ t + 1 Pq ( t S i ) 1 (given), (26) (25) Pq ( τ S i q τ 1 S i ) a ii Pq ( t+ d S i q t+ d 1 S i ) 1 Pq ( t+ d S i q t+ d 1 S i ) 1 a ii (27) (28) so that, PO ( d A) a( d 1) ii ( 1 a ii ) (29) he expected value of d is given by, Ed [ ] d P( O d A) d 1 Ed [ ] d a( d 1) ii ( 1 a ii ) d 1 (30) (31) Ed [ ] ( 1 a ii ) (32) Example: For the example in Section 2B, Ed [ ] S1 5 3 days of rain or snow, (33)  5 
6 Ed [ ] S2 5 2 days of cloud cover, (34) Ed [ ] S3 5 days of sunshine. (35) E. Probability of being in a given state at time t Given a Markov model λ { A, π}, the probability of being in state S j at time t, Pq ( t S i ) can be computed inductively, Pq ( 1 S i ) π i (by definition) (36) Pq ( t S j ) Pq t 1 S i, t { 23,, } ij (37) i 1 Alternatively, we can write, Pq ( t S j ) [ π'a ( t 1) ] () j (38) where, [ v] () i denotes the i th element of the vector v. F. Fully connected Markov chains Fully connected (finitestate) Markov chains ( a ij > 0, i, j ) are ergodic. hat is, the limit Pq ( t S j ) as t approaches infinity exists and is independent of the initial state probability vector π, lim Pq ( t S j ) lim [ π'a ( t 1) ] () j PS ( j ), π (39) t t Example: he limit in equation (39) typically converges for relatively small values of t. For the Markov chain in Section 2B, for example, equation (39) converges to, PS ( 1 ) PS ( 2 ) PS ( 3 ) (rain or snow) (40) (cloudy) (41) (sunny) (42) for different initial values of π and t 20, as illustrated in Figure 4, for example, with π (his weather model is clearly not for Pittsburgh, PA, where sunshine is a rare occurrence indeed.) PS ( j ), j { 123,, } t Figure 46 
7 Example: he limit in equation (39) need not be well defined if some Markov model in Figure 5 below: he corresponding A matrix is given by, a ij 0. Consider the twostate A (43) ote that for A in equation (43), A 2t 10, A ( 2t 1) 01, t { 12,, } (44) herefore, the limit in equation (39) does not exist. 1 S 2 S 1 1 Figure 5 G. Partially connected Markov chains When some transition probabilities a ij 0, states may become transient or absorbing. A transient state S j is defined by the property, lim Pq ( t S j ) t 0, (45) while an absorbing state S j is defined by the property, lim Pq ( t S j ) t 1 (46) Example: Consider the threestate Markov model in Figure 6 below, where 0 < a 11, a 12, a 21, a 22, a 23 < 1, a 13 a 31 a 32 0, and a he states S 1 and S 2 are transient, while the state S 3 is absorbing. a 11 a 22 1 a 21 S 1 S 2 S 3 a 12 a 23 Figure 6 H. Maximumlikelihood estimation for observable Markov models Given an observation sequence O, O { q 1, q 2,, q } (47) he maximumlikelihood estimate of the parameters in the Markov model λ { A, π} is given by, a ij number of transitions from state S i to state S j number of transitions from state S i (48) 1, if q 1 S i π i 0, otherwise (49)  7 
8 Example: he following observation sequence O, O { } (50) of length 100 was generated from the Markov model in Section 2B, with π For each a ij, we have to count the number of transitions from state S i to state S j. he matrix Â gives those frequencies: Â (51) ormalizing the rows of Â, we get that the maximumlikelihood estimate of A is given by, A (52) Comparing A in equation (52) to A in equation (14), we see that A is a reasonable approximation of A. Of course, for longer observation sequences (more data), the approximation of A will improve asymptotically. Figure 7 below plots the error between the actual model [equation (14)] and the estimated model, e RMS ( a ij a ij ) 2 ij, averaged over 20 randomly generated observation sequences, as the length becomes large. (53) of the observation sequences e RMS Figure 78 
9 3. Hidden Markov models (HMMs) A. Introduction As we have seen, in Markov chains (or observable Markov models), it is assumed that we can observe the state q t at each time step t. In hidden Markov models, we remove that condition. In other words, we assume that the state at each time step is not observable; rather, we can only observe the state at each time step t indirectly through some observable O t, which is related to the state q t at time step t through some output probability distribution. hat is, a hidden Markov model is a doubly stochastic model, where both state transitions as well as output observables are governed by probabilistic distributions. Before we formalize this notion, let us look at a simple example. #1 #2 #3 Figure 8 Suppose that we have large urns (bowls), that are filled with differently colored balls. In Figure 2, 3, and there are three colors: (1) white, (2) gray and (3) black. We now generate a sequence of balls using the following procedure. We first pick one of the three urns at random, according to some stationary (fixed) probability distribution. ext, we pick a ball a random from that urn, and observe it s color. he ball is then put back in the urn from which it was selected. Subsequently, a new urn is selected according to some stationary probability distribution associated with the current urn. hat is, which urn is selected next is conditional on only the current urn. Once again, we pick a ball from the new urn, and the process is repeated to generate an observation sequence { O t }, t { 12,,, } of colors. A typical observation sequence is plotted in Figure 9 for 15. Figure 9 Graphically, we can represent this process as a hidden Markov model (HMM), as shown in Figure 10. Each urn is represented by a state that is connected to all other states through probabilistic transitions. Each state also has some output probability distribution (e.g. ratio of black, gray and white balls in each urn) associated with it. his output probability distribution for each state is indicated graphically in Figure 10. For example, in state 1 (the leftmost state), there are 1/4 white balls, 1/4 gray balls and 1/2 black balls. Figure
10 ote, that in this process, we can only observe the color of each ball, not the urn from which the ball was picked. Hence the name hidden Markov model, indicating that we cannot directly observe the underlying sequence of states that generated the observation sequence. For the sample observation sequence shown above, many different underlying state sequences are possible. In fact, there are a total of total possible sequences. B. Definition of an HMM While the above example may appear contrived, it does have all the necessary properties of a hidden Markov model. In order to define the notion of an HMM formally, we introduce the following nomenclature: S i v k q t state i, (54) kth observable, (55) state of the system at time step t, (56) O t observable that is observed at time step t, t { 1,, }. (57) Given this notation, a discreteoutput 1 HMM λ is completely defined by λ { ABπ,, }, where, L # of states in the model, (58) # of possible observables ( M in Rabiner tutorial paper [1]), (59) A state transition matrix with elements { a ij }, (60) { a ij } Pq ( t + 1 S j q t S i ), ij, { 1,,, (61) B L output probability distribution matrix with elements { b kj } { b j ( k) }, (62) { b j ( k) } PO ( t v k q t S j ), j { 1,,, k { 1,, L} (63) π length initial state probability vector with elements π i, (64) { π i } Pq ( 1 S i ), i { 1,, (65) he parameters (probabilities) of the hidden Markov model are stationary (independent of time). hus, the hidden Markov model is different from the observable Markov model in that we have added the output probability distribution matrix B. his makes it a much more powerful parametric formalism for modeling sequential, Markovian processes, since B can model any arbitrary discrete distribution. Of course, the B matrix also adds a large number of parameters to the model, so typically, more data is required to reliably train hidden Markov models vs. observable Markov models. For example, if 5 and L 100, the observable Markov model has, free parameters, (66) while, the hidden Markov model has, L 530 free parameters. (67) [ote that for an observable Markov model, the B matrix would be given by, B I ( identity matrix), (68) and the observables v i would be the states, so that v i S i.] 1. here are also HMMs for continuous (continuousvalued) observables. hese will be discussed later
11 For the urn HMM, the output probability distribution matrix B is given by, B ( white) ( gray) ( black) (69) 4. hree fundamental problems for HMMs We can define three fundamental problems for hidden Markov models: (1) the evaluation problem, (2) the decoding problem and (3) the training problem. A. Problem #1: Evaluation problem Given an observation sequence O { O t }, t { 1,, }, and a hidden Markov model λ { ABπ,, }, how do we efficiently compute POλ ( ) (i.e. probability of the observation sequence O given the HMM λ )? B. Problem #2: Decoding problem Given an observation sequence O { O t }, t { 1,, }, and a hidden Markov model λ { ABπ,, }, how do we efficiently compute the best (most likely) state sequence Q { q t }, t { 1,, } (i.e. the state sequence that best explains the observation sequence O given λ )? C. Problem #3: raining problem Given an observation sequence O { O t }, t { 1,, }, the number of states, and the number of possible observables L (implicitly defined by O ), how do we efficiently compute the maximumlikelihood estimate of the parameters of the hidden Markov model λ { ABπ,, }? In other words, what HMM λ maximizes POλ ( )? D. Discussion Before we derive the solutions for these three problems, it is worthwhile to examine where each of the three problems would come up in a realworld application of hidden Markov models. Historically, one of the first application areas of HMMs was in speech recognition, so we will choose that as our example. Specifically, we will be looking at isolated spoken word recognition, as illustrated in Figure 11 on the following page. In this context, we can assign physical meaning to the hidden states as the phonemes of the words in the vocabulary of the word recognizer. A simple isolated spokenword recognizer can be constructed as follows. First, we decide which words { W i }, i { 1,, M}, we would like our system to be able to recognize. For example, we might be interested in recognizing the 10 spoken words corresponding to zero, one,..., and nine, for an automated phone system application. ext, we record hundreds or thousands of labeled examples of different individuals saying each of the words out loud. hese data will serve as our training data. For each word W i we train a corresponding HMM λ i to model that word (problem #3 above). Before using the discrete hidden Markov models, we first have to decide how we will convert the timesampled, continuousvalued acoustic speech signals to sequences of discrete observables. his conversion typically involves two steps: (1) windowing and spectral preprocessing followed by (2) vector quantization. Windowing partitions the acoustic signal into possibly overlapping segments, each of which is then filtered through some spectral preprocessor (linear predictive coding, fast Fourier transform, etc.). he acoustic speech signal is thus converted to a sequence of continuousvalued spectral feature vectors { v t }, which are then quantized to discrete observables { O t } through vector quantization. It is important to realize that the spectral preprocessing and VQ codebook have to be the same for all spoken words in our training data. herefore, the VQ codebook is typically trained (using, for example, the LBG algorithm) on all the training data. ow, suppose that we now want to recognize an unknown utterance by some individual. We first convert that acoustic signal to a sequence of observables { O t } following the same conversion procedure as in the training
12 acoustic speech signal Spectral feature vectors Observation sequence O Figure 11 spectral preprocessing { v t } Vector Quantization { O t } HMMs trained offline on many instances of word #M HMM for word #1 λ 1 HMM for word #2 λ 2 HMM for word #M λ M POλ ( 1 ) POλ ( 2 ) POλ ( M ) recognized word select maximum evaluation or decoding
13 phase. hen, we evaluate either POλ ( i ) (problem #1 above), or POQ (, i λ i ), where Q i represents the most likely state sequence (phoneme sequence) for O given λ i (problem #2). Finally, whichever HMM λ l yields the largest probability will correspond to the most likely word W l. As we shall see later, although different HMM applications vary in detail and complexity, the diagram on the previous page contains many of the essential components that make up an HMMbased system: (1) spectral preprocessing, (2) vector quantization and (3) a bank of HMMs. 5. Solution to the evaluation problem (problem #1) Problem statement: Given an observ ation sequence O { O t }, t { 1,, }, and a hidden Mark ov model λ { ABπ,, }, how do we efficiently compute POλ ( ) (i.e. the probability of the observation sequence O given the HMM λ )? A. Introduction In hidden Markov models, the principal problem in computing POλ ( ), O { O t }, t { 1,, }, (70) λ { ABπ,, }, (71) is that we do not know what underlying state sequence Q, Q { q t }, t { 1,, } (72) generated the given observation sequence O. If we assume a specific underlying state sequence Q, then the problem is much simpler, since, POQλ (, ) PO t q t, λ b qt ( O t ). (73) t 1 t 1 [Recall that in the definition of hidden Markov models, the observation at time t, O t, is dependent only on the state at time t, q t.] he probability of any specific state sequence Q can be expressed in terms of the HMM parameters as, PQλ ( ) π q1 a q1 q a 2 q2 q a 3 q 1 q π q1 a qt 1 t 2 [his is identical to observable Markov models.] he joint probability of O and Q given λ can be written as, q t (74) POQλ (, ) POQλ (, )PQλ ( ) (75) so that, POλ ( ) POQλ (, ) Q Q POQλ (, )PQλ ( ) Although equation (76) gives a computable expression for POλ ( ), it does not offer a practical algorithm for computing POλ ( ). Since there are possible state sequences, each of which requires order 2 operations, equation (76) requires on the order of 2 total operations. Even for very moderately sized problems this is unreasonable. For example, if 5 and 100, we would require approximately, (76) operations. (77) Clearly, we require a more efficient formulation for evaluating POλ ( ). he forward algorithm, described below, does just that. A related algorithm, the backward algorithm, while not explicitly used to compute POλ ( ), will be used later to efficiently solve the training problem, and is therefore also presented below. ogether, these two algorithms are sometimes referred to as the forwardbackward algorithm
14 B. he forward algorithm Let s define the following forward variable α t () i : α t () i PO ( 1,, O t, q t S i λ), (78) which denotes the probability of the partial observation sequence { O 1,, O t } and being in state S i at time step t given the model λ. he α t () i variables can be computed inductively, and from them, POλ ( ) is easily evaluated. he forward algorithm is defined below: 1. Initialization: α 1 () i PO ( 1, q 1 S i λ) α 1 () i PO ( 1 q 1 S i, λ)p( q 1 S i λ) (79) (80) α 1 () i π i b i ( O 1 ), i { 1,,. (81) 2. Induction: α t + 1 () j PO ( 1,, O t + 1, q t + 1 S j λ) α t + 1 () j PO (, 1 O t q t S i )Pq t + 1 S j q t S i, λ PO ( t + 1 q t + 1 S j, λ) i 1 (82) (83) α t + 1 () j α t ()a i ij bj ( O t + 1 ), t { 1,, }, j { 1,,. (84) i 1 3. Completion: POλ ( ) α () i [by definition (78)] (85) i 1 he computation of α t + 1 () j in the induction step above (step 2) accounts for all possible state transitions to state S j from time step t to time step t + 1, and the observable O t + 1 at time step t + 1. Figure 12 below illustrates the induction step graphically. For the same values of and as before ( 5, 100 ), the computation of POλ ( ) now only takes on the order of, t t + 1 S 1 S 2 a 1j a 2j S j a j S α t () i α t + 1 () j Figure
15 operations, (86) as opposed to operations. hus, the forward algorithm offers a practical and efficient means for solving the evaluation problem in hidden Markov models. 1 C. he backward algorithm While the backward algorithm is not used explicitly to solve the evaluation problem, it will be used later for solving the training problem in conjunction with the forward algorithm. Because of its similarity to the forward algorithm, it is presented now, however. First, we define the backward variables β t () i (similar to the forward variables) to be, β t () i PO ( t + 1,, O q t S i, λ) (87) which denotes the probability of the partial observation sequence { O t + 1,, O } given that at time step t the model is in state S i and given the model λ. As with the forward variables α t () i, the backward variables β t () i can be computed inductively. he backward algorithm is defined below: 1. Initialization: β () i 1, i { 1,, (88) ote that equation (88) arbitrarily defines such that, POλ ( ) α t ()β i t () i, t { 1,, } (89) 2. Induction: i 1 β () i β t () i a ij b j ( O t + 1 )β t + 1 () j, t { 1, 2,, 1}, i { 1,,. (90) j 1 Equation (90) is similar to the induction step of the forward algorithm, except that now we propagate the values back from the end of the observation sequence, rather than forward from the beginning of O. his is illustrated graphically in Figure 13 below. As with the forward algorithm, the backward algorithm requires on the order of 2 operations. t t + 1 S 1 a i1 S 2 a i2 S i a i β t () i S β t + 1 () j Figure As we shall see later, this algorithm will require slight modification through scaling for implementation on finiteprecision computers in order to prevent numerical underflow
16 6. Solution to the training problem (problem #3) 1 Problem statement: Given an observation sequence O { O t }, t { 1,, }, the number of states, and the number of possible observables L (implicitly defined by O ), how do we efficiently compute the maximumlikelihood estimate of the parameters in the hidden Markov model λ { ABπ,, }? In other words, what HMM λ maximizes POλ ( )? A. Introduction Baum and his colleagues developed the BaumWelch algorithm for training hidden Markov models in the late 1960s and early 1970s. he development of their algorithm precedes the publication by Dempster, et. al. [2] of the general ExpectationMaximization (EM) algorithm (1977). It is interesting to note, however, that the BaumWelch algorithm is simply a special case of the EM algorithm. Intuitively, we see why the EM algorithm may be applicable here, since hidden Markov models clearly have hidden information (the underlying state sequence Q { q t } corresponding to the observable sequence O { O t }). herefore, in developing the BaumWelch algorithm for training HMMs, we will do so within the EM framework. B. Initial formulation Suppose that we knew the value of the underlying state sequence Q { q t }, t { 12,,, }. hen, the maximumlikelihood estimate of λ { ABπ,, } given O is straightforward and given below: a ij number of transitions from state S i to state S j number of transitions from state S i (same as for observable Markov models) (91) b j ( k) number of times in state S j and observing symbol v k number of times in state S j π i ( number of times in state S i at time t 1) (92) (93) Unfortunately, we don t know the state sequence Q ; however, if we have a current estimate of λ { ABπ,, }, then we can compute the expected number of... for each of the numerators and denominators in equations (91), (92) and (93) (EM rears its ugly head again). hus, assuming a current estimate of the hidden Markov model λ { ABπ,, }, a better (or equally good) estimate λ { ABπ,, } will be given by, a ij expected number of transitions from state S i to state S j expected number of transitions from state S i (94) b j ( k) expected number of times in state S j and observing symbol v k expected number of times in state S j (95) π i ( expected number of times in state S i at time t 1) (96) where the righthand sides of equations (94), (95) and (96) can be expressed as we shall see shortly in terms of { ABπ,, } (i.e. the current model parameter estimates). C. Detailed derivation In order to compute the quantities in equations (94), (95) and (96), we need to define some hidden variables similar to the mixtureofgaussian problem. hus, let s define the following hidden variables for the reestimation of the statetransition matrix A : 1. We first look at problem #3 rather than problem #2 (the decoding problem) because the solution of problem #3 makes extensive use of the forwardbackward algorithm (i.e. solution to problem #1)
17 y t ( ij, ) 1, at time t, the system transitions from S i to S j 0, otherwise yij (, ) number of transitions from state S i to state S j (97) (98) so that, 1 yij (, ) y t ( ij, ). (99) t 1 Let us also define, y t () i 1, at time t, the system transitions from state S i 0, otherwise yi () number of transitions from state S i (100) (101) so that, 1 yi () y t () i. (102) t 1 Similarly, let us define the following hidden variables for the reestimation of the outputprobability distribution matrix B : z t ( jk, ) 1, at time t, the system is in state S j with output observable v k 0, otherwise zjk (, ) number of times in state S j and observing symbol v k (103) (104) so that, zjk (, ) z t ( jk, ). (105) t 1 Let us also define, z t () j 1, at time t, the system is in state S j 0, otherwise zj () number of times in state S j (106) (107) so that, zj () z t () j. (108) t 1 In terms of the above definitions, equations (94), (95) and (96) can be written as, Eyij [ (, )] a ij (109) Eyi [ ()] b j ( k) Ezjk [ (, )] Ezj [ ()] (110)
18 π i Ey [ 1 () i ] (111) where E [ ] denotes the expectation operator. o complete the derivation, we need to compute the expected values in equations (109), (110) and (111). First, consider Eyij [ (, )]: 1 Eyij [ (, )] E y t ( ij, ) t 1 1 Ey [ t ( ij, )] t 1 (112) 1 Eyij [ (, )] [ 0 Py ( t ( ij, ) 0) + 1 Py ( t ( ij, ) 1) ] Let us define t 1 1 Eyij [ (, )] Py ( t ( ij, ) 1) ξ t ( ij, ) t 1 as, ξ t ( ij, ) Ey [ t ( ij, )] (113) (114) (115) so that, ξ t ( ij, ) Py ( t ( ij, ) 1) Pq ( t S i, q t + 1 S j O, λ) (116) ξ t ( ij, ) Pq ( t S i, q t + 1 S j, O λ) POλ ( ) (117) We can compute ξ t ( ij, ) in terms of the forward and backward variables. Figure 14 below illustrates how this is done graphically. Recall from Section 5 that, α t () i PO ( 1,, O t, q t S i λ), and (118) β t + 1 () j PO ( t + 2,, O q t + 1 S j, λ) (119) so that, t 1 t t + 1 t + 2 α t () i β t + 1 () j S i a ij b j ( O t + 1 ) S j Figure
19 ξ t ( ij, ) α t ()a i ij b j ( O t + 1 )β t + 1 () j POλ ( ) (120) In the numerator of equation (120), the forward variable α t () i and the backward variable β t + 1 () j account for the entire observation sequence except for the observation O t + 1 at time t + 1 and the transition from state S i to S j from t to t + 1. hese are taken care of by multiplication of b j ( O t + 1 ) and a ij, respectively. [From the definition of ξ t ( ij, ), we require that, ξ t ij, 1 i 1j 1 herefore, it must be true that, POλ ( ) α t ()a i ij b j ( O t + 1 )β t + 1 () j i 1j 1 ote from equation (90) [reprinted below as equation (123)], β t () i a ij b j ( O t + 1 )β t + 1 () j j 1 that this is consistent with equation (89) [reprinted below as equation (124)], (121) (122) (123) POλ ( ) α t ()β i t () i.] (124) i 1 ext, we consider Eyi [ ()]: Eyi [ ()] Ey [ t () i ] Py t () i 1 Pq ( t S i O, λ) t 1 t 1 t 1 Let us define γ t () i as, γ t () i Ey [ t () i ] (125) (126) so that, γ t () i Pq ( t S i O, λ) Pq ( t S i, q t + 1 S j O, λ) j 1 (127) γ t () i ξ t ( ij, ) j 1 Combining equations (109), (112), (115), (125) and (126), we arrive at the following iterative EM update rule for the statetransition matrix A : a ij 1 1 ξ t ( ij, ) γ t () i t 1 t 1 where ξ t ( ij, ) is given in equation (120) in terms of the current model parameters, and γ t () i is given in equation (128) in terms of ξ t ( ij, ). he iterative EM update rule for the outputprobabilitydistribution matrix B can be similarly derived. he numerator in equation (110) can be expressed as, (128) (129)
20 Ezjk [ (, )] Pz t ( jk, ) 1 Pq ( t S j, O t v k O, λ) t 1 t 1 Ezjk [ (, )] γ t () j t O t v k (130) (131) Similarly, the denominator in equation (110) can be expressed as, so that, Ezj [ ()] Pz t () j 1 Pq ( t S j O, λ) t 1 t 1 Ezj [ ()] γ t () j t 1 b j ( k) γ t () j γ t () j t t 1 O t v k (132) (133) (134) Finally, from equation (111), we get that, π i Ey [ 1 () i ] γ 1 () i. (135) D. Summary of results We have now derived the BaumWelch algorithm for iteratively training the parameters of a hidden Markov model. Given a current estimate of the HMM λ { ABπ,, } and an observation sequence O { O t }, t { 1,, }, the new estimate of the HMM is given by λ { ABπ,, }, where, a ij 1 1 ξ t ( ij, ) γ t () i, ij, { 1,, (136) t 1 t 1 b j ( k) γ t () j γ t () j, j { 1,,, k { 1,, L} (137) t t 1 O t v k π i γ 1 () i, i { 1,, (138) ξ t ( ij, ) α t ()a i ij b j ( O t + 1 )β t + 1 () j POλ ( ) and (139) γ t () i ξ t ( ij, ) j 1 ote from equation (139) the key role that the forward and backward variables play in the HMM reestimation formulas. Also, note that the reestimation equations (136), (137) and (138) guarantee that, (140) a ij 1, i { 1,, (141) j
21 L b ( j k ) 1, j { 1,, (142) k 1 π i 1 i 1 (143) after each update. Since the reestimation equations are EM equations, we are guaranteed that for each iteration, POλ ( ) POλ ( ) (144) When POλ ( ) POλ ( ), we are guaranteed to have reached a local maximum of the logprobability function. Equations (136), (137) and (138) can also be derived through direct maximization of the Q function, Q 1 EM ( λλ, ) or constrained Lagrange optimization of POλ ( ). E. Simplification he update equations (136) and (137) can be written in simplified form directly in terms of the forward and backward variables. a ij α POλ ( ) t ()a i ij b j ( O t + 1 )β t + 1 () j t α POλ ( ) t ()β i t () i t 1 (145) b j ( k) α POλ ( ) t ()β j t () j t O t v k α POλ ( ) t ()β j t () j t 1 (146) Equations (145) and (146) above were derived by combining equations (123), (136), (137), (139) and (140) above. For training on single observation sequences, equations (145) and (146) reduce to, a ij 1 α t ()a i ij b j ( O t + 1 )β t + 1 () j t α t ()β i t () i t 1 (147) b j ( k) α t ()β j t () j t O t v k α t ()β j t () j t 1 (148) 1. he Q in this context is different from the statesequence Q used throughout these notes; it s just an unfortunate collision of notation
22 7. Solution to the decoding problem (problem #2) Problem statement: Given an observ ation sequence O { O t }, t { 1,, }, and a hidden Mark ov model λ { ABπ,, }, how do we efficiently compute the best (most likely) state sequence Q { q t }, t { 1,, } (i.e. the state sequence that best explains the observation sequence O given λ )? A. Introduction Since the underlying state sequence Q { q t } that generated the observation sequence O { O t } is unknown, we would sometimes like to be able to determine the most likely state sequence to have generated O given the hidden Markov model λ. In speech recognition applications, for example, this is especially relevant, since the states of the hidden Markov model can be interpreted as phonemes. One way to try to solve this problem is to choose the q t which are individually most likely at each time step t. he γ t () i variables that we defined in the previous section are helpful here, γ t () i Pq ( t S i O, λ) [see equations (126) and (127)]. (149) Since, γ t () i Pq ( t S i, O λ) POλ ( ) (150) α t () i PO ( 1,, O t, q t S i λ), and (151) β t () i PO ( t + 1,, O q t S i, λ) (152) the γ t () i variables can be computes in terms of α t () i and β t () i, γ t () i α t ()β i t () i POλ ( ) α t ()β i t () i α t ()β j t () j j 1 (153) ow, in order to choose the individually optimal state sequence γ t () i value for all t, Q { q t }, we simply take the largest q t argmax γ t () i, t { 1,, } (154) i he basic problem with this solution is that equation (154) permits state sequences Q that may contain state transitions, {, qt S i, q t + 1 S j, } (155) that are not possible given λ (i.e. a ij 0 ), so that PQ ( λ) 0. A better solution, therefore is to try to find the state sequence Q that gives the single best path for the observation sequence O and the HMM λ ; in other words, we would like to find Q such that, PQOλ (, ) (156) is maximized. he Viterbi algorithm, developed in the next section, does just that. B. he Viterbi algorithm hus, we want to maximize PQOλ (, ). From basic probability theory, PQOλ (, ) PQOλ (, ) POλ ( ) (157)
23 so that maximizing PQOλ (, ) is equivalent to maximizing the joint probability of O and Q given λ, PQOλ (, ), since POλ ( ) is constant with respect to Q. As was the case for the evaluation problem, we could theoretically solve this problem by computing, PQO (, λ), Q [see equations (73), (74) and (75)] (158) and then select Q, Q argmax Q as the optimal state sequence. Since there are a total of total possible state sequences (e.g. if 5 and 100, then ), however, equation (159) would be impractically slow to compute. herefore, we will derive an inductive algorithm for solving the decoding problem similar in spirit to the forwardbackward algorithm. his algorithm is known as the Viterbi algorithm. First, let us define another variable δ t () i, which can be interpreted as the best score (i.e. highest probability) along a single state path at time t for the first t observations and ending in state S i. Given the definition in equation (160), the following inductive relationship exists: Equation (161) forms the basis of the Viterbi algorithm and is very similar to the forward algorithm used to compute the α t () i variables. In order to completely specify the Viterbi algorithm, however, we will need another (Greek) variable ψ t () i which keeps track of which i maximizes the righthand side of equation (161) for each time step t. he complete Viterbi algorithm for recovering the most likely state sequence Q is given below: 1. Initialization: PQO (, λ) δ t () i max Pq ( q 1,, q 1,, q t S i, O 1,, O t λ) t 1 δ t + 1 () j [ max δ t ()a i ij ]b j ( O t + 1 ) i (159) (160) (161) δ 1 () i Pq ( 1 S i, O 1 λ) (162) δ 1 () i π i b i ( O 1 ), i { 1,, (163) 2. Induction: δ t () j [ max δ t 1 ()a i ij ( O ), j { 1,,, t { 2,, } j t i (164) ψ t () j argmax δ t 1 ()a i ij, j { 1,,, t { 2,, } i (165) 3. ermination: P max Q PQO (, λ) (166) P max i δ () i (167) q argmax i δ () i 4. Path (statesequence) back tracking: (168) q t ψ t + 1 ( q t + 1 ), t { 1, 2,, 1} (169) where Q { q t }, t { 1,, }, is the most likely state sequence
24 As is the case for the forwardbackward algorithm, the Viterbi algorithm requires slight modification for implementation on finiteprecision computers in order to prevent numerical underflow. 8. Hidden Markov models with continuousvalued outputs So far, we have looked only at discreteoutput HMMs, where observations consist of sequences of discrete observables O { O t }. Although most applications of HMMs deal with continuousvalued signals, these types of HMMs are used most often in practice because they are by far the most computationally efficient type of HMM with which to work. evertheless, there do exist HMMs with continuousvalued outputs, and we review two main types of continuousvalued HMMs below. A. Continuousoutput HMMs Assume that rather than have a sequence of discrete observables O { O t }, we instead have a sequence of continuousvalued vectors X { x t }, t { 1,, }. Without preprocessing and vector quantization of the sequence X, we can no longer use the discreteoutput probability matrix B. Rather, in continuousoutput HMMs, we assume that each state S j, j { 1,,, is represented by an output probability density function (pdf) b j ( x) that is a mixture of Gaussians: where, L b j ( x) c jk b jk ( x), j { 1,,, (170) k 1 b jk ( x) [ x, µ jk, Σ jk ] (Gaussian pdf with mean µ jk and covariance Σ jk ), (171) c jk P( ω k S j ) (probability of class ω k given state S j ), (172) such that, L c jk 1 k 1 and (173) b ( j x ) dx 1 Figure 2 illustrates schematically, for example, what a threestate continuousoutput HMM with onedimensional continuousvalued outputs may look like. he main drawback of continuousoutput HMMs is their substantial computational complexity. Consider for example, the number of free parameters that have to be estimated during training in continuousoutput HMMs vs. discreteoutput HMMs. (174) a ij : free parameters (same as for discreteoutput HMMs) (175) c jk : L free parameters (similar to b j ( k) parameters for discreteoutput HMMs) (176) µ jk : L d free parameters (177) Σ jk : L d 2 free parameters (178) hus, from equations (177) and (178) we see that continuous HMMs have on the order of Ld( 1 + d) more parameters to estimate, which leads to much higher computational complexity during training. It is not just training that requires much more computation, however; even evaluation of PXλ ( ) requires an orderofmagnitude increased computation, since each table lookup b j ( O t ) in the discrete case is replaced by the relatively complex computation of b j ( x),
25 L b j ( x) c jk b jk ( x) k 1 Equation (179) requires L Gaussian function evaluations, L multiplications and L 1 additions, vs. one table lookup in the discrete case. While computational complexity is a principal reason that discreteoutput HMMs are often preferred to continuousvalued HMMs in practice, a secondary important reason is that continuousvalued HMMs tend to be more sensitive to initial parameter settings [3]. In other words, it is much more likely that in training continuousvalued HMMs, the model λ converges to a poor local maximum of the loglikelihood function, unless the initial parameter settings are selected with great care. Huang [4] tried to address these concerns with development of what he referred to as semicontinuous HMMs, which we briefly review in the next section. B. Semicontinuousoutput HMMs Figure 15 he basic idea of semicontinuous HMMs is to combine the computational simplicity of discreteoutput HMMs with the superior modeling capacity of continuous HMMs. Given a sequence of continuousvalued vectors X { x t }, t { 1,, }, the distribution of the data X is first estimated as the mixture of L Gaussians, using the EM algorithms developed earlier in this course. he output probability of a vector x in state S j is then estimated as, (179) L b j ( x) p( x ω k )b j ( k) k 1 where, (180) p( x ω k ) the k th Gaussian pdf estimated through the EM algorithm, and (181) b j ( k) P( ω k S j ). (182) he principal difference between semicontinuous HMMs and continuous HMMs is that instead of L Gaussians, there are only L Gaussians in the model and that the parameters of the Gaussians are estimated prior to HMM training. his simplifies the model significantly, not in small part because a semicontinuous
26 HMM typically have many fewer parameters that need to be estimated. Unfortunately, semicontinuous HMMs are still significantly more computationally costly than discreteoutput HMMs. In order to clarify the difference between discreteoutput and continuousvalued output HMMs, let s look at a simple example. Consider a singlestate HMM with, λ A [ 1], B 0.3, π [ 1] (183) where the k th discrete observable corresponds to the real values x, k 1 k x < , k { 12345,,,, }. (184) 5 5 In other words, the discretization in equation (184) corresponds to a VQ codebook of, , , , , (185) as illustrated in Figure 16 below O x Figure 16 he pdf for the HMM in equation (183) and the VQ codebook in equation (185) is plotted in Figure 17 for x [ 01),. he effects of vector quantization are clearly evident in the discontinuous profile of pxvq (, λ). ow, however, assume that we represent the continuousvalued data x not as a VQ codebook, but rather as a mixtureofgaussians with means µ i, i µ i , i { 12345,,,, } [same as centroids in VQ codebook of equation (185)] (186) 10 and variances σ2 i, discrete pdf Figure 17 pxvq (, λ ) x
27 2.5 2 continuousvalued pdf Figure pxλ ( ) x σ2 i , i { 12345,,,, }. (187) he resulting pdf is plotted above in Figure 18. (ote that since λ in equation (183) is a singlestate HMM, the semicontinuous and continuous HMM representations for this problem are the same.) Clearly, the continuousvalued HMM is able to represent continuous distributions more accurately. Evaluation, decoding and training of HMMs with continuous and semicontinuous output probability distributions will not be covered here. We simply note that algorithms developed for discreteoutput HMMs previously extend in a straightforward manner to the continuous and semicontinuous case. 9. Implementation issues A. Discretization compensation he discrete pdf for the singlestate HMM in equation (183) illustrates a key shortcoming of applying discreteoutput HMMs on continuousvalued data X (as is most often the case in realworld applications). Consider, for example, two realdata sequences X 1 and X 2 : X 1 { 0.21, 0.31, 0.33, 0.64, 0.59, 0.27} X 2 { 0.19, 0.31, 0.33, 0.64, 0.59, 0.27} (188) (189) which differ only in the first element (0.21 vs. 0.19). Assuming the VQ codebook in (185) and the singlestate HMM λ in (183), we can evaluate PX ( 1 λ) and PX ( 2 λ). First we convert X 1 and X 2 to sequences of discrete observables, O 1 and O 2, respectively: O 1 { ,,,,, } O 2 { ,,,,, } (190) (191) hen, evaluating the probabilities of each sequence given λ, lnpx ( 1 λ) lnpx ( 2 λ) lnpo ( 1 λ) 4ln( 0.5) + ln( 0.3) + ln( 0.2) lnpo ( 2 λ) ln( 0.0) + 3ln( 0.5) + ln( 0.3) + ln( 0.2) (192) (193) hus, even though the two real sequences X 1 and X 2 are almost identical, they evaluate to radically different logprobabilities. ote that the same result could have been obtained for arbitrary long sequences X 1 and X 2, which differ only in one element by some small ε
28 his singularity result is not desirable; it suggests that discreteoutput HMMs may not be very robust to noise. Remember that HMMs are necessarily trained on finitelength sequences, so that rare events win nonzero probability may be possible yet, at the same time, may not be reflected in the data (i.e. may not have been observed). he probabilities corresponding to such events will therefore converge to zero during HMM training. Alternatively, a sample sequence may have spurious readings due to sensor failure, etc., and such sequences will evaluate to zero probability on HMMs previously trained on less noisy data. here are two basic ways to deal with this problem through discretization compensation: (1) semicontinuous evaluation, and (2) flooring. In semicontinuous evaluation, the HMM is first trained on discrete data (vectorquantized from real data). When new sequences of real data X need to be evaluated, we assume that the VQ codebook previously generated represents a mixture of Gaussians with some uniform variance σ 2 that can be thought of as a smoothing parameter. By far the most common method of discretization compensation, however, is flooring (also referred to as smoothing). Flooring is simple and effective. As before, discreteoutput HMMs are trained normally. Once the HMM training has converged, zero entries in the resulting model λ { ABπ,, } are replaced with some small ε (typically around ). Rows in the A matrix, column in the B matrix, and the π vector are then renormalized to fit the probabilistic constraints, a ij 1, i { 1,, (194) j 1 L b ( j k ) 1, j { 1,, (195) k 1 π i 1 i 1 For example, the B matrix for the singlestate HMM λ in equation (183) would be modified for ε 0.01, (196) B f (197) through flooring. With the floored B matrix B f, the observation sequences in equations (190) and (191) evaluate to, lnp ( O 1 λ) lnpo ( 2 λ) (198) (199) Clearly, the flooring procedure ensures that observation sequences evaluate to finite logprobabilities. ote that the logprobability for O 1 changes little from ; however, the logprobability for O 2 becomes finite. he logprobabilities in (198) and (199) still appear significantly different primarily because the fraction of nearzero observables for O 2 (1/6) is relatively high for this simple example. ypically, rare events that lead to zero probabilities in the hidden Markov model occur much less frequently. B. Scaling for the forwardbackward algorithm he forwardbackward algorithm, as previously presented, suffers from numerical underflow problems if implemented on any finite precision computer. Recall the forward algorithm,
29 1. Initialization: α 1 () i π i b i ( O 1 ), i { 1,, (200) 2. Induction: α t + 1 () j α t ()a i ij bj ( O t + 1 ), t { 1,, 1}, j { 1,, (201) i 1 3. Completion: POλ ( ) α () i i 1 for evaluating POλ ( ), and the analogous backward algorithm, 1. Initialization: (202) β () i 1, i { 1,, (203) 2. Induction: β t () i a ij b j ( O t + 1 ) βt + 1 () j, t { 1,, 1}, i { 1,, (204) j 1 ote from equations (201) and (204) that the induction steps of the forward and backward algorithms, respectively, multiply together numbers less than or equal to one. his implies that for large (i.e. long observation sequences) α () i 0 and β 1 () i 0. (205) Consider, for example, the simple threestate HMM with four output observables shown in Figure 19 below. his HMM was used to generate a sample observation sequence O of 100 observables. For this observation sequence, we compute α t () i, t { 1,, 100}, i { 123,, }, and plot log 10 α t () i as a function of t in Figure 20. ote that even for this relatively simple HMM and relatively short observation sequence, α 100 () i (206) he numerical underflow problem becomes even more severe when the number of possible observables increases (since the b j ( k) values will become smaller on average as L increases). o illustrate this, we generate another HMM with the same statetransition matrix A as before, but with an outputprobability distribution matrix B with L 100 (i.e. 100 possible observables). We again compute α t () i, t { 1,, 100}, i { 123,, }, and plot log 10 α t () i as a function of t in Figure 21. ote that now, S 1 S 2 S Figure
30 010 L 4 Figure log 10 α t () i t α 100 () i (207) Clearly, for arbitrarily long observation sequences, the forwardbackward algorithm will not be numerically stable. herefore, in order to make the algorithm numerically stable, we introduce scaling of the forward and backward variables that will keep the values of those variables within the dynamic range of a typical floating point computer. Below, we present the scaled forward algorithm: 1. Initialization: α 1 () i π i b i ( O 1 ), i { 1,, (208) αˆ 1 () i c 1 α 1 () i, i { 1,, (scaling) (209) 2. Induction: α t + 1 () j αˆ t ()a i ij b j ( o t + 1 ), t { 1,, 1}, j { 1,, (210) i 1 αˆ t + 1 () j c t + 1 α t + 1 () j, t { 1,, 1}, j { 1,, (scaling) (211) 025 L 4 log 10 α t () i Figure 21 L t
31 c t 1 α t () i, t { 1,, } (scaling) (212) i 1 3. Completion: POλ ( ) 1 c t t 1 In the scaled forward algorithm, the forward variables are scaled at each time step t c t so that the scaled forward variables αˆ t () i meet the following constraint: (213) by a scaling coefficient αˆ t () i 1, t { 1,, } (214) i 1 By comparing the scaled forward algorithm [equations (208) to (213)] with the unscaled forward algorithm [equations (200) to (202)], we observe that the scaled forward variables αˆ t () i are related to the forward variables α t () i of the unscaled forward algorithm by the following relationship: For t, so that from equation (214), Since, t αˆ t () i c τ αt () i τ 1 αˆ () i c t α () i t 1 i 1 αˆ () i c t α () i 1 t 1 i 1 (215) (216) (217) POλ ( ) α () i, (218) i 1 equation (217) can be written as, c t POλ ( ) 1 t 1 so that we arrive at equation (213), (219) POλ ( ) 1 c t (220) t 1 For large, POλ ( ) will typically be very small, so that in practice we compute equation (220) instead as, logpoλ ( ) t 1 logc t Once the scaled forward algorithm has been executed, the scaled backward algorithm follows: (221)
32 1. Initialization: β () i 1, i { 1,, (222) βˆ () i c β () i, i { 1,, (scaling) (223) 2. Induction: n β t() i a ij b j ( o t + 1 )βˆ t + 1() j t { 1,, 1}, i { 12,,, (224) j 1 βˆ t() i c t β t() i, t { 1,, 1}, i { 12,,, n} (scaling) (225) ote that for the scaled backward algorithm, we use the same scaling coefficients c t computed in the scaled forward algorithm. he scaled backward variables βˆ t() i are related to the backward variables β t () i of the unscaled backward algorithm by the following relationship: βˆ t() i c τ βt () i τ t (226) As an example of the scaled forwardbackward algorithm, let us compute αˆ t () i, t { 1,, 100}, i { 123,, }, and plot log 10 αˆ t () i as a function of t for the threestate HMM with L 100 for which we previously computed the unscaled variables α t () i (Figure 22).ote that now the scaled forward variables stay well within the floatingpoint range of a typical computer, and that this result holds no matter how large is. C. Scaling and the BaumWelch algorithm Previously, we derived the following iterative training algorithm for optimizing the parameters of a hidden Markov model λ given some observation sequence O, 1 α t ()a i ij b j ( O t + 1 )β t + 1 () j t 1 a ij α t ()β i t () i t 1 (227) log 10 αˆ t () i L Figure 22 t
33 b j ( k) α t ()β j t () j t O t v k α t ()β j t () j t 1 (228) in terms of the unscaled forwardbackward variables, where λ { ABπ,, } is the current estimate of the model, and λ { ABπ,, } is the new estimate of the HMM. Let us consider how the update equations (227) and (146) change if expressed in terms of the scaled forwardbackward variables. Consider equation (227) first. First let us substitute αˆ t () i for α t () i and βˆ t() i for β t () i in (227) and see how we need to modify the resulting equation to make it equivalent to (227): a ij? 1 αˆ t ()a i ij b j ( O t + 1 )βˆ t + 1() j t αˆ t ()βˆ i t() i t 1 (229) ow, combine equation (229) with equations (215) and (226) so that, a ij a ij?? 1 t c τ αt ()a i ij b j ( O t + 1 ) c τ βt + 1 () j t 1 τ 1 τ t t c τ αt () i c τ βt () j t 1 τ 1 τ t 1 c τ αt ()a i ij b j ( O t + 1 )β t + 1 () j t 1 τ c τ ct α τ 1 t ()β i t () i t 1 (230) (231) From equation (220), a ij? α POλ ( ) t ()a i ij b j ( O t + 1 )β t + 1 () j t c POλ ( ) t α t ()β i t () i t 1 (232) herefore, to express equation (227) in terms of the scaled forwardbackward variables, we simply need to divide αˆ t ()βˆ i t() j in the denominator of equation (229) by c t. he correct update equation in terms of the scaled forwardbackward variables is therefore given by, 1 αˆ t ()a i ij b j ( O t + 1 )βˆ t + 1() j t 1 a ij αˆ t ()βˆ i t() i c t 1 t (233)
34 ow let us consider the update for the output probability matrix B in equation (146). Again, let us substitute αˆ t () i for α t () i and βˆ t() i for β t () i, b j ( k)? αˆ t ()βˆ j t() j t O t v k αˆ t ()βˆ j t() j t 1 ow, combine equation (234) with equations (215) and (226) so that, (234) b j ( k)? t c τ αt () j c τ βt () j t τ 1 τ t O t v k t c τ αt () j c τ βt () j t 1 τ 1 τ t (235) b j ( k)? herefore, to express equation (146) in terms of the scaled forwardbackward variables, we need to divide αˆ t ()βˆ i t() j in both the numerator and denominator of equation (234) by c t. he correct update equation in terms of the scaled forwardbackward variables is therefore given by, b j ( k) Equations (233) and (237) represent the BaumWelch reestimation formulas in terms of the scaled forwardbackward variables. D. Scaling and the Viterbi algorithm he Viterbi algorithm for finding the most likely state sequence Q given O and λ was previously derived as: 1. Initialization: (236) (237) (238) δ 1 () i π i b i ( O 1 ), i { 1,, (239) 2. Induction: c POλ ( ) t α t ()β j t () j t O t v k c POλ ( ) t α t ()β j t () j t 1 αˆ t ()βˆ j t() j c t t O t v k αˆ t ()βˆ j t() j c t 1 t δ 1 () i Pq ( 1 S i, O 1 λ) δ t () j [ max δ t 1 ()a i ]b ij ( O ), j { 1,,, t { 2,, } (240) j t i ψ t () j argmax [ δ t 1 ()a i ] ij, j { 1,,, t { 2,, } (241) i
35 3. ermination: P max Q PQO (, λ) (242) P max i δ () i (243) q argmax i δ () i 4. Path (statesequence) back tracking: (244) q t ψ t + 1 ( q t + 1 ), t { 1, 2,, 1} (245) where Q { q t }, t { 1,, }, is the most likely state sequence. his algorithm is easily modified to eliminate numerical underflow problems by defining, φ t () i max logpq ( q 1,, q 1,, q t S i, O 1,, O t λ) (246) instead of, δ t () i max Pq ( q 1,, q 1,, q t S i, O 1,, O t λ) (247) Consequently, equation (239) changes to, φ 1 () i log( π i ) + log[ b i ( O 1 )], i { 1,, ; (248) equation (240) changes to, φ t () j max [ φ t 1 () i + loga ij ] + log[ b j ( O t )], j { 1,,, t { 2,, } ; (249) i equation (241) changes to, ψ t () j argmax [ φ t 1 () i + loga ij ], j { 1,,, t { 2,, } ; (250) i and equation (243) changes to, logp max i [ φ () i ] (251) E. Multiple observation sequences In many applications, rather than train a hidden Markov model on one long observation sequence O, we instead would like to train the model λ on M short sequences { O ( m) }, m { 1,, M}. For example, in speech recognition applications, where each HMM may represent one spoken word, we would like to train that HMM on many different utterances of that word. In handwritten gesture recognition, where each HMM may represent one of several different gestures (e.g. written letters), we again would like to train those HMMs on many different examples of that gesture. raining a single HMM on multiple observation sequences leads to two changes in the general HMM framework: (1) the HMM structure that is chosen for those applications, and (2) a modified training algorithm for handling multiple observation sequences. When training on multiple, relatively short observation sequences, typically the HMM model is restricted to a lefttoright structure. Consider, for example, the lefttoright model in Figure 23. Except for selftransitions, connections are only allowed in one direction. A fundamental property of all lefttoright HMMs is that the state transition probabilities a ij are restricted to, a ij 0, j< i (252)
36 S 1 S 2 S 3 S 4 S 5 Figure 23 State transitions may further be restricted to prevent large changes in state indices. For the HMM above, for example, the statetransition matrix A is given by, a 11 a 12 a a 22 a 23 a 24 0 A 0 0 a 33 a 34 a 35 (253) a 44 a he modification of the BaumWelch reestimation formulas for multiple observation sequences { O ( m) }, m { 1,, M} is straightforward, if we assume that each observation sequence O ( m) is independent of every other observation sequence in the training set. Our goal now is to optimize the parameters in λ to maximize, M POλ ( ) PO ( ( m) λ) m 1 Since the reestimation formulas are based on frequencies of occurrence of various events, the reestimation formulas for multiple observation sequences are modified by adding together the individual frequencies of occurrence for each sequence. In terms of the unscaled variables, (254) a ij M m 1 1 PO ( ( m) λ) αm ()a i t ij b ( j O( m) )β m t + 1 t + () j 1 m 1 t M m 1 1 PO ( ( m) λ) αm ()β i m t t () i m 1 t 1 (255) b j ( k) M 1 PO ( ( m) λ) αm ()β j m t t () j m 1 t O( m) t v k M m 1 PO ( ( m) λ) αm ()β j m t t () j m 1 t 1 ote that the 1 PO ( ( m) λ) terms were cancelled out of the numerator and denominator previously for the case of a single observation sequence. For multiple observation sequences, these terms no longer cancel out. In terms of the scaled variables, (256)
37 a ij M m 1 αˆ m t ()a i ij b j ( O( m) m t + 1 )βˆ t + 1() j m 1 t M m 1 αˆ ()βˆ i tm t m () i cm m 1 t 1 t (257) b j ( k) ote that the 1 PO ( ( m) λ) terms no longer need to be explicitly included in equations (257) and (258), since equations (232) and (236) show that the scaled forwardbackward variables implicitly include the 1 PO ( ( m) λ) terms. Finally, note that equations (110) and (111) in Rabiner s HMM tutorial paper [1] both contain errors, which equations (257) and (258) fix. 10. BaumWelch convergence Below, we illustrate some convergence issues of the BaumWelch algorithm for a simple example and a realworld example. A. Simple example M αˆ ()βˆ j tm t m () j cm m 1 t t O( m) t v k M m αˆ ()βˆ j tm t m () j cm m 1t 1 t Here we conduct the following simple experiment to investigate how the convergence of the BaumWelch algorithm is affected by the number of states that we assume for our model. We first generate an observation sequence O of length 10, 000 for the twoobservable, twostate hidden Markov model λ in Figure (258) Figure 24 where, A , B , π 0.5. (259) We then train three HMMs λ i, i { 123,, }, from random initial parameter settings, where λ i has i states. he three resulting HMMs are shown in Figure 25 on the next page. Finally, we compute the normalized probability measure (normalized with respect to, the length of the observation sequence), logpoλ ( POλ ( i ) 10 i ) POλ ( i ) 1 (260) able 1 below reports the resulting POλ ( i ) values. he final singlestate HMM λ 1 cannot encode any sequential structure, and therefore captures only the aggregate distribution of observables (1/2 and 1/2). he twostate HMM λ 2 converges to the generating HMM in the above figure, which is encouraging. Although the BaumWelch algorithm is only guaranteed to find a local maximum of the logprobability function, in this case it converges to the globally optimal value. ote also that POλ ( i ) improves significantly from λ 1 to
38 λ λ (note: due to roundoff error, some rows of A do not add up to 1) λ 3 Figure 25 able 1: ormalized probabilities for HMMs in Figure 25 i POλ ( i ) λ 2. his implies that two states are able to capture sequential characteristics of the observation sequence O which the onestate HMM cannot capture. In this case, we know this to be true since the observation sequence O was generated from a twostate HMM. When we increase the number of states to three, the BaumWelch algorithm converges to λ 3 in the figure above. Although λ 3 has significantly more representational power than λ 2, the normalized probability POλ ( i ) does not appreciably increase. his indicates that the twostate model λ 2 is probably sufficient for modeling the sequential properties of O, and adding more states will not improve the model substantially. In fact, note that for the model λ 3, the single left state of λ 2 is effectively split up into two states in λ 3. he above results suggest that, although we frequently do not know the exact number of states that we should use for modeling specific data in real applications, we may arrive at the optimal number of states for a specific observation sequence by training models with a different number of states, and then selecting the smallest (most general) model which yields the largest normalized probability value POλ ( i ). o illustrate this point, we consider a more complicated example below
39 map speedometer steering wheel compass car Figure 26 B. Realworld example: modeling human control trajectories In previous work [5], hidden Markov models have been applied towards modeling and analyzing human control strategies in a dynamic graphic driving simulator (shown in Figure 26). For our example here, we preprocess and vectorquantize (to L 64 levels) a sample human control trajectory in order to generate a discrete observation sequence O of length We then train an eightstate ( 8 ) HMM λ 8 on this observation sequence using the BaumWelch reestimation formulas. It is instructive to look at the parameter values { AB, } to which the final model converges. We can do this graphically by plotting the A and B matrices in Figure 27, where darker shades represent smaller values and lighter shades represent larger relative values. Although the model is parameterized by a total of, i 4 k a ij j b j ( k) Figure 27 j