home bbs files messages ]

Forums before death by AOL, social media and spammers... "We can't have nice things"

   comp.ai      Awaiting the gospel from Sarah Connor      1,954 messages   

[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]

   Message 934 of 1,954   
   kox to All   
   Some generel Hidden Markov questions   
   22 Feb 06 23:59:37   
   
   From: christian.stieg@gmail.com   
      
   Dear everyone,   
      
   I am working with Hidden-Markov-Models as a student, and some general   
   questions came up.   
   I use HMMs for face recognition, both continuous and (semi)-discrete,   
   and I implemented it in matlab following the rabiner paper.   
      
   1. Is there always an "explanation" for the hidden states? (I mean, do   
   they always belong to certain definable events, like rainy,sunny etc.   
   in the weather example)   
      
   2. Is there any way to "test" my HMM-algorithm, to check, if everything   
   is calculated in the right way? Especially with the continious HMM I   
   don't know if it does the right thing, and I want something like a   
   test, so I can see whether it works correctly or not. Is there any way   
   to do this?   
      
   3. With continious HMMs I have a problem with the covariance matrices   
   Sigma. The values in them tend to get very very small. I found   
   something in the rabiner about a minimum value, that should be set, but   
   this feels rather imprecise to me. Is there A correct way to deal with   
   that? How should a minimum value be added, only to the elements lower   
   that it, or to all elements in the specific Sigma? (I am using both   
   full and diagonal cov-matrices, btw).   
   In the HMMMall they add an eye(N).*min_value matrix, if the rank of the   
   Sigma is below N.   
      
   4. In my baum-welch when calculating the last elements of my B-matrix,   
   I get values of zero, if my observation (in discrete HMM) ends with a   
   value that never came up in the rest of the observation. I also know,   
   why it happens, I use this formula to calculate the B-s:   
      
   Bnew(i,j)=sum(gammas(i,find(O(1:T-1)==j)))/sum(gammas(i,1:end));   
   (This expression equals equation 40b in the rabiner paper.)   
      
   I get the error because the part find(O(1:T-1)==j)) is empty, if   
   observation "j" only emerges at the very end of my observation vector.   
   And the gammas are only calculated from t=1 to T-1 (as in eq. 38 and   
   below in rabiner), so there's gotta be a special "treatment" for t=T.   
   I checked the implementation of the HMMMall-Toolbox, there the gamma(T)   
   is calculated by:   
      
   gamma(:,T) = normalise(alpha(:,T) .* beta(:,T));   
      
   I did not find something like that in rabiner or any other paper about   
   hmms. Can anyone explain me, where this comes from or how this   
   calculation is done right?   
      
   Thanks in advance for reading and even more for any answers!   
      
   Kox   
      
   [ comp.ai is moderated.  To submit, just post and be patient, or if ]   
   [ that fails mail your article to , and ]   
   [ ask your news administrator to fix the problems with your system. ]   
      
   --- SoupGate-Win32 v1.05   
    * Origin: you cannot sedate... all the things you hate (1:229/2)   

[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]


(c) 1994,  bbs@darkrealms.ca