home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1993 #3 / NN_1993_3.iso / spool / comp / speech / 510 < prev    next >
Encoding:
Text File  |  1993-01-29  |  6.1 KB  |  151 lines

  1. Newsgroups: comp.speech
  2. Path: sparky!uunet!seas.gwu.edu!marshall
  3. From: marshall@seas.gwu.edu (Christopher Marshall)
  4. Subject: Re: Null Transitions in HMMs
  5. Message-ID: <1993Jan28.231514.24705@seas.gwu.edu>
  6. Sender: news@seas.gwu.edu
  7. Organization: George Washington University
  8. References: <1jn78mINNbhm@manuel.anu.edu.au> <1993Jan24.232204.7521@seas.gwu.edu> <1k4ft4INNmer@manuel.anu.edu.au>
  9. Date: Thu, 28 Jan 1993 23:15:14 GMT
  10. Lines: 139
  11.  
  12. >I normally assmume that for any i and j the sum of B(i,j,k) over all k
  13. >is 1. This doesn't really matter if A(i,j) is 0 but actually gives
  14. >rise to a problem later in your argument.
  15. >>
  16. >> case 1 if i!=S1:
  17. >>    A'(i,j)= A(i,j)
  18. >>    B'(i,j,k)= B(i,j,k)
  19. >>
  20. >
  21. >I assume you meant: case 1 if i!=S1 and j!=S2 otherwise you neglect
  22. >the case A(i,S2), which will change if A(i,S1) is non zero.
  23.  
  24. No, I meant i!=S1.
  25.  
  26. We are banishing null transitions from the HMM by redefining
  27. what is means to go from state i to state j.  The way I am redefining
  28. it is,"Starting in state i, keep changing state until a symbol is
  29. output, STOP. Now you are in state j."  Hence, A(i,S2) need not
  30. consider the path i->S1->S2, because were this path taken, the symbol
  31. would be output on the i->S1 transition.  In other words, a valid
  32. transition path must end in a non-null transition, the way I have
  33. defined things, and i->S1->S2 ends in a null transition so I need not
  34. consider it.
  35.  
  36. To be precise about this, we need to go back to the Xt and Yt variables,
  37. since those are what we are really redefining.
  38.  
  39. Let A(i,j), B(i,j,k), Xt, Yt be associated with HMM1 that has
  40. a null transition from S1 to S2.
  41.  
  42. Let A'(i,j), B'(i,j,k), X't, Y't be associated with HMM2 that we
  43. are constructing from HMM1 by removing the null transition from S1 to S2.
  44.  
  45. Note that A(i,j) B(i,j,k) and A'(i,j) and B'(i,j,k) have the same definitions
  46. in terms of their respective prime or non-prime X and Y variables, namely:
  47.  
  48. A(i,j)=    P(Xt+1= j | Xt= i)
  49. B(i,j,k)=  P(Yt= k | Xt= i, Xt+1= j)
  50.  
  51. A'(i,j)=   P(X't+1= j | X't= i)
  52. B'(i,j,k)= P(Y't+1= k | X't= i, X't+1= j)
  53.  
  54. Now, let 0 be the symbol used to denote a null transition.
  55. Assume HMM1 outputs the sequence ABA0BA.  We have the following alignment
  56. of state and output variables with the sequence:
  57.  
  58.  Y1 Y2 Y3 Y4 Y5 Y6    Output variable sequence.
  59.   A  B  A  0  B  A    Output symbol sequence with null transition.
  60. X1 X2 X3 X4 X5 X6 X7  State variable sequence.
  61.  
  62. Now, in terms of the prime variables
  63.  
  64.  Y'1 Y'2 Y'3     Y'4 Y'5      Output variable sequence.
  65.    A   B   A   0   B   A      Output symbol sequence with null transition.
  66. X'1 X'2 X'3 X'4     X'5 X'6   State variable sequence.
  67.  
  68. In laying this out, I have decided to consider 0 as an output symbol.
  69. B(S1,S2,0)= 1, B(S1,S2,k)= 0 for k!=0.  This no longer violates the
  70. sum to one rule.
  71.  
  72. >> case 2 if i=S1 and j!=S2:
  73. >>    This is the tricky case.  When considering transitions from S1 to non-S2
  74. >>    states, you have to consider the possibility that the HMM will go from
  75. >>    S1 to S2 to j, emmiting a symbol on the s2 to j transition AND the
  76. >>    possibility that the HMM will go directly from S1 to j.
  77. >>    A'(S1,j)= A(S1,j) + A(S1,S2)*A(S2,j)
  78. >>    B'(S1,j,k)= A(S1,j)*B(S1,j,k) + A(S1,S2)*A(S2,j)*B(S2,j,k)
  79. >>                -----------------------------------------------
  80. >>                A(S1,j) + A(S1,S2)*A(S2,j)
  81. >
  82. >I think you are making A and B dependant in this equation. B is the
  83. >probability of an output symbol given that a transition from i to j
  84. >does occur. Otherwise the standard update rules would violate the B
  85. >summing to 1 rule (see above). Say the probability A(i,j) was changed
  86. >by the update rule. This should have no effect on the distribution of
  87. >symbols given that the transition does occur.
  88.  
  89. Yes, but the 'transition i to j' means something different depending
  90. on whether you are talking about HMM1 or HMM2.  In the case of HMM1
  91. there is only one path from i to j that outputs a symbol, in the
  92. case of HMM2 there are two paths that output symbols.
  93.  
  94. >
  95. >also - you assign probabilities to null transitions. This is fine but
  96. >I think it is unnecessary
  97.  
  98. How can you not assign a transition probability to a null transition?
  99. What would it mean for there to be a null transition between S1 and S2
  100. if there was no probability that such a transition occured?
  101.  
  102. >> Now, what about an HMM with more than one null transition?  As long
  103. >> as no two null transitions touch head to tail (so that you could make two
  104. >> or more transitions in a row and not output a symbol), then this procedure
  105. >> can be applied once for each null transition and it will work correctly.
  106. >
  107. >Why exclude the possability of null transitions touching head to tail?
  108. >Or even of loops of null transitions? As long as you get away from the
  109. >time step notion and go to one that is output stepped these do not
  110. >pose any problem.
  111.  
  112. I don't know how to convert from HMM1 to HMM2 in those cases.
  113.  
  114. >I have always viewed null transitions as convenience connections. They
  115. >are a shorthand way of connecting lots of states. They don't really
  116. >change the mathematics. If you make them make real changes then you'll
  117. >have to go through the rigmarole of re-proving the HMM results with
  118. >them in place.
  119. I think that some people do make them make real changes and do go through
  120. the rigmarole of re-proving the HMM results.  I don't know why though.
  121. I wish I did :-)
  122.  
  123. >
  124. >In my equations I have not worried about normalising. This is because
  125. >adding a connection always stuffs up the normalisation. If you want to
  126. >re-normalise then this is easy. You know that the sum of the
  127. >probabilities of leaving a node must be 1 so divide by the sum.  This
  128. >means we get:
  129. >
  130. >A''(i,j) = A'(i,j) / {sum over j of A'(i,j)}
  131. >
  132. >similarly:
  133. >
  134. >B''(i,j,k) = B'(i,j,k) / {sum over k of B'(i,j,k)}
  135. >
  136. >Note that I allow B(i,j,k) to be non-zero even if A(i,j) is zero. I
  137. >don't store these in practice, of course, but they are there in
  138. >theory. In practice the equations look nothing like the ones above. On
  139. >a real computer you need to use a log representation and in my case I
  140. >use a log integer representation. Does anyone else use a log integer
  141. >form?
  142. >
  143. >Andrew
  144.  
  145. In practice, the equations have to be modified to keep
  146. the intermediate calculations from going to zero exponentially in the
  147. sequence length.
  148.  
  149. Chris Marshall
  150. marshall@seas.gwu.edu
  151.