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: 330
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