100 Days Of ML Code — Day 058
Recap From Day 058
Day 058, we looked at working with time; Hidden Markov Models(HMMs). We saw that HMMs employs several principles that are similar to Naive Bayes. Using our training data, we’re going to fit the parameters of several probability distributions that altogether describe our training data. Except, in this case, these distributions will also describe how our data is likely to change over time.
Today, we’ll continue from where we left off in day 058
Working with time
Hidden Markov Models(HMMs)
Once an HMM is trained, we can ask the following questions: given a sequence of data that we’ve just observed, how likely is this sequence to be generated from that specific HMM? If we have two HMM trained, say one for a circle gesture and one for a triangle gesture, this allows us to use HMMs for classification.
If our current sequence of feature values is more likely under the type of movement captured by the circle HMM, then we can classify it as a circle. Otherwise, we can classify it as a triangle. Of course, if our current motion sequence is not very likely under either of the circle or the triangle, we might, alternatively, deduce that neither gesture is currently occurring, so we would use HMMs to do gesture spotting, just like dynamic time warping.
HMMs can also give us information about which state we’re likely to be in at the current time. For instance if we assume that we’re drawing a gesture at a point in time, what state of the sequence are we most likely to be in? That is, how far through the gesture are we? So, those are HMMs in a nutshell.
That’s all for day 059. I hope you found this informative. Thank you for taking time out of your schedule and allowing me to be your guide on this journey. And until next time, be legendary.