views:

185

answers:

1

Hey guys.

Im working on an assignment, where I want to design an AI for a mp3 player. The AI must be trained and designed with the use of a HMM method.

The mp3 player shall have the functionality of adapting to its user, by analyzing incoming biological sensor data, and from this data the mp3 player will choose a genre for the next song. Given in the assignment is 14 samples of data:

One sample consist of Heart Rate, Respiration, Skin Conductivity, Activity and finally the output genre. Below is the 14 samples of data, just for you to get an impression of what im talking about.

Sample HR     RSP    SC     Activity Genre
S1     Medium Low    High   Low      Rock
S2     High   Low    Medium High     Rock
S3     High   High   Medium Low      Classic
S4     High   Medium Low    Medium   Classic
S5     Medium Medium Low    Low      Classic
S6     Medium Low    High   High     Rock
S7     Medium High   Medium Low      Classic
S8     High   Medium High   Low      Rock
S9     High   High   Low    Low      Classic
S10    Medium Medium Medium Low      Classic
S11    Medium Medium High   High     Rock
S12    Low    Medium Medium High     Classic
S13    Medium High   Low    Low      Classic
S14    High   Low    Medium High     Rock

My time of work regarding HMM is quite low, so my question to you is if I got the right angle on the assignment.

I have three different states for each sensor: Low, Medium, High. Two observations/output symbols: Rock, Classic

In my own opinion I see my start probabilities as the weightened factors for either a Low, Medium or High state in the Heart Rate.

So the ideal solution for the AI is that it will learn these 14 sets of samples. And when a users sensor input is received, the AI will compare the combination of states for all four sensors, with the already memorized samples. If there exist a matching combination, the AI will choose the genre, and if not it will choose a genre according to the weightened transition probabilities, while simultaniously updating the transition probabilities with the new data.

Is this a right approach to take, or am I missing something ? Is there another way to determine the output probability (read about Maximum likelihood estimation by EM, but dont understand the concept)?

Best regards, Casper

A: 

A HMM sounds good for this. You would like want to use the Viterbi algorithm to find the most probable output from the input after training the HMM.

Justin Peel
Okay thanks. I looked at the Viterbi algorithm, but had a hard time using it in practice. Could you give an example of how to make use of it?
Casper Slynge