Using Hidden Markov Model for designing AI mp3 player

Posted by Casper Slynge on Stack Overflow See other posts from Stack Overflow or by Casper Slynge
Published on 2010-04-26T16:28:11Z Indexed on 2010/04/26 17:03 UTC
Read the original article Hit count: 335

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

© Stack Overflow or respective owner

Related posts about markov-chains

Related posts about design