home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1993 #3 / NN_1993_3.iso / spool / comp / speech / 503 < prev    next >
Encoding:
Internet Message Format  |  1993-01-28  |  4.2 KB

  1. Path: sparky!uunet!charon.amdahl.com!pacbell.com!decwrl!concert!gatech!udel!bogus.sura.net!howland.reston.ans.net!spool.mu.edu!caen!batcomputer!munnari.oz.au!manuel.anu.edu.au!andosl!tridge
  2. From: tridge@andosl.anu.edu.au (Andrew Tridgell)
  3. Newsgroups: comp.speech
  4. Subject: Re: Null Transitions in HMMs
  5. Date: 26 Jan 1993 23:01:56 GMT
  6. Organization: CSLab, Autralian National Uni.
  7. Lines: 83
  8. Distribution: world
  9. Message-ID: <1k4ft4INNmer@manuel.anu.edu.au>
  10. References: <1993Jan20.031204.1652@seas.gwu.edu> <1jn78mINNbhm@manuel.anu.edu.au> <1993Jan24.232204.7521@seas.gwu.edu>
  11. NNTP-Posting-Host: 150.203.15.21
  12.  
  13. In article <1993Jan24.232204.7521@seas.gwu.edu>, marshall@seas.gwu.edu (Christopher Marshall) writes:
  14. > I applied your logic to this example and came up with a different set
  15. > of equations, although similar in spirit.
  16. > Assume we have an HMM with A(i,j) and B(i,j,k), which contains a null
  17. > transition from S1 to S2.  Let B(S1,S2,k)= 0 for all k.  We compute A'(i,j)
  18. > and B'(i,j,k) for the corresponding HMM without null transitions as follows:
  19.  
  20. I normally assmume that for any i and j the sum of B(i,j,k) over all k
  21. is 1. This doesn't really matter if A(i,j) is 0 but actually gives
  22. rise to a problem later in your argument.
  23. > case 1 if i!=S1:
  24. >    A'(i,j)= A(i,j)
  25. >    B'(i,j,k)= B(i,j,k)
  26.  
  27. I assume you meant: case 1 if i!=S1 and j!=S2 otherwise you neglect
  28. the case A(i,S2), which will change if A(i,S1) is non zero.
  29.  
  30.  
  31. > case 2 if i=S1 and j!=S2:
  32. >    This is the tricky case.  When considering transitions from S1 to non-S2
  33. >    states, you have to consider the possibility that the HMM will go from
  34. >    S1 to S2 to j, emmiting a symbol on the s2 to j transition AND the
  35. >    possibility that the HMM will go directly from S1 to j.
  36. >    A'(S1,j)= A(S1,j) + A(S1,S2)*A(S2,j)
  37. >    B'(S1,j,k)= A(S1,j)*B(S1,j,k) + A(S1,S2)*A(S2,j)*B(S2,j,k)
  38. >                -----------------------------------------------
  39. >                A(S1,j) + A(S1,S2)*A(S2,j)
  40.  
  41. I think you are making A and B dependant in this equation. B is the
  42. probability of an output symbol given that a transition from i to j
  43. does occur. Otherwise the standard update rules would violate the B
  44. summing to 1 rule (see above). Say the probability A(i,j) was changed
  45. by the update rule. This should have no effect on the distribution of
  46. symbols given that the transition does occur.
  47.  
  48. also - you assign probabilities to null transitions. This is fine but
  49. I think it is unnecessary
  50.  
  51. > Now, what about an HMM with more than one null transition?  As long
  52. > as no two null transitions touch head to tail (so that you could make two
  53. > or more transitions in a row and not output a symbol), then this procedure
  54. > can be applied once for each null transition and it will work correctly.
  55.  
  56. Why exclude the possability of null transitions touching head to tail?
  57. Or even of loops of null transitions? As long as you get away from the
  58. time step notion and go to one that is output stepped these do not
  59. pose any problem.
  60.  
  61. I have always viewed null transitions as convenience connections. They
  62. are a shorthand way of connecting lots of states. They don't really
  63. change the mathematics. If you make them make real changes then you'll
  64. have to go through the rigmarole of re-proving the HMM results with
  65. them in place.
  66.  
  67. In my equations I have not worried about normalising. This is because
  68. adding a connection always stuffs up the normalisation. If you want to
  69. re-normalise then this is easy. You know that the sum of the
  70. probabilities of leaving a node must be 1 so divide by the sum.  This
  71. means we get:
  72.  
  73. A''(i,j) = A'(i,j) / {sum over j of A'(i,j)}
  74.  
  75. similarly:
  76.  
  77. B''(i,j,k) = B'(i,j,k) / {sum over k of B'(i,j,k)}
  78.  
  79. Note that I allow B(i,j,k) to be non-zero even if A(i,j) is zero. I
  80. don't store these in practice, of course, but they are there in
  81. theory. In practice the equations look nothing like the ones above. On
  82. a real computer you need to use a log representation and in my case I
  83. use a log integer representation. Does anyone else use a log integer
  84. form?
  85.  
  86. Andrew
  87.  
  88. -- 
  89. =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  90. Andrew Tridgell                 CSLab, Research School of Physical Sciences
  91. Andrew.Tridgell@anu.edu.au      Australian National University (x3064)
  92. =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  93.