I have a basic understanding of HMM's and as a final year project at school wanted to expand my knowledge further.

My basic idea was to create an algorithm that determines if someone is saying either Yes or No. As interesting as this sounds, it's relatively easy and I want something that challenges me even more and wanted to know if my idea was possible.

My idea:

The algorithm will be able to answer certain questions (given samples).. E.g.

Q: Is this person saying either Yes no No?

A: Yes

Q: Is this person male or female?

A: Male

Q: Is this animal a bat?

A: No

Obviously, my data-set will be massive, but is this possible using HMM's? So, in theory, instead of handling whether someone is saying yes or no, the algorithm becomes universal and I can determine many many things.

I hope someone can help me.


1 Answer 1


HMM are useful for sequence modeling and classification - problems for which your observations unfold on a 1-D axis in time or space. Hence their usefulness for speech recognition, because a word is a sequence of heterogeneous states corresponding to its various phones. But the problem of recognizing whether a speaker is male or female doesn't really have this sequential aspect, so HMM would be indeed an odd approach for it. One good way of finding out whether HMM are a good fit for a problem is the following: would you still be able to perform the classification if the data is shuffled? If you take a speech recording, break it into segments and shuffle them, you won't be able to recognize the words spoken, but you will still be able to recognize whether the speaker is male or female, and indeed identify this speaker.

I am not sure about the bat question - are you talking about recognizing animals from the sound they emit? Or else, from what kind of data? Does this data have a sequential structure?

It seems to me that what you want to do is, from a broad point of view, machine learning or pattern classification. HMM is a very specific solution to machine learning problems (those related to classifying processes unfolding along a 1-D axis), but this is by far not the only tool! Maybe you should learn more about the other approaches (bayesian methods, support vector machines, neural networks, decision trees...), and the specifics of each data types (features for image, audio, text...).

  • $\begingroup$ thank you so much for your reply. Yes, about the bats it would be identifying them from the sound they emit. A broad approach to HMM's. I do have some understanding of neural networks and decision trees. In your opinion, what would the best approach be in determining whether someone is a male or a female? Thanks $\endgroup$
    – Phorce
    Commented Sep 10, 2012 at 17:00
  • $\begingroup$ For male/female classification, try Gaussian Mixture Models on MFCCs. $\endgroup$ Commented Sep 10, 2012 at 17:09

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.