Tuesday, April 20, 2010

A quick introduction to Modelling

I am in the midst of writing quite a few articles on the subject of modelling the computational aspects of creativity – specifically in music. And, I'm trying to decide on the best way to present the material such that my audience sees the themes I'm alluding to. However, I just realized that not all of you out there may have a quantitative background. This may (or perhaps not) have been implicitly stated, but I'd like my articles to be accessible to everybody, not just my peers. So here is a VERY brief introduction to modelling.

Before we begin, we must familiarize ourselves with the vocabulary “necessary”[note the quotation marks] for modelling. I have always believed that there is a fine line between vocabulary and jargon...and that line is necessity. One needs a vocabulary to describe the world...and jargon to appear poetic (read self-indulgent) about his description. Far too many people indulge in jargon while explaining; we will NOT.

Here is our vocabulary for modelling:
  • Object: An Object is any observable item/thing/abstract entity in our world. For example, an alarm clock, a car, a batter in a baseball game are all objects.

  • Event: An Event is an observation about how an Object works in our world. For example an alarm clock ringing, a car stopping at a traffic light, a batter hitting a home run are all examples of events. In essence, anything that falls within a cause-and-effect framework is an Event. An Event is often comprised of smaller Events on smaller Objects. The complexity of the Event is directly proportional to the number of sub-events chosen to model that event. Need an Event be as complex as possible? Absolutely not. The situation should determine how fine-grained our event should be and for the most part, the simpler the better.

  • State: The condition or value of an Object during the timespan of the Event. For example, the timer in the alarm goes to 7:00am and this fires an internal signal that switched the buzzer from off to on. In this case, the global Object – alarm clock – has the state 'On', and the sub-objects – the timer and the buzzer – have the states '7:00am' and 'On' respectively.
Now that we have the vocabulary, lets define a model. Simply put, a model is a mathematical, logical, algorithmic and/or graphical approximation of an Event; it captures all the different objects and how they interact to completely describe the Event.

Lets jump right in and create a [trivial] model. In this case, our Event is “Married Couple's date night”. This Event is easy enough to describe in plain English. If the husband, the wife and the babysitter are all free, the couple can have their date night while the babysitter takes care of their kids. If the husband, wife or babysitter are not free then tough noogies.

And [drum roll]....here's the model:












[Click graph to magnify]

Recall that we said a model can be a graphical approximation of an Event. All we have done here is created a pictorial representation of what we have described in plain English above. In scientific terms, this is called a Graph. The ardent reader is referred to Graph and Graph Theory for more information on the subject :

In this model, the global Object is an abstract entity - “date night” but is clearly observable and hence qualifies to be modelled as an Event. The States of the global Object are 'Bummer' and 'Oh Yeah'. The sub-objects are the husband's schedule, the wife's schedule and the babysitters schedule, all of which are abstract objects. Each of the objects has 2 states associated with them – 'Yes' and 'No'. From the diagram we observe that for the state 'Oh Yeah!' to be activated, all three sub-objects must be in the 'Yes' state. Otherwise, the 'Bummer' event is activated.

Note that for every graph, there is a corresponding mathematical/algorithmic model, and that is simply stating the graph as a function:


result = 'Oh Yeah!' iff (isHusbandFree='Yes' AND isWifeFree='Yes')
AND isBabySitterFree='Yes'

= 'Bummer' otherwise

Again, the ardent reader is referred to Boolean Algebra for more information.

Now lets imagine a more complex event – identifying a song, based on the first 5 seconds of a music clip. How would one graphically [or mathematically or algorithmically] model such an Event? How simple or complex does the model have to be to reasonably capture the phenomenon?

These questions form the foundation of Information Processing in Music, and we will explore them in subsequent articles. Stay tuned.

Resurgence of faith

Ever so often, we are fortunate enough to experience something truly life-changing; the kind of change that epiphanies are made of. This past week, I had the absolute honor of attending Victor Wooten's Bass [Guitar] Camp. It goes without saying that the amount of theory and technique all of us picked up quickly propelled each of us exponentially in our skill and understanding of the instrument. However what I think was infinitely more valuable was observing the dignity, integrity and humility with which the Wooten family welcomed us into their home. I had said I wouldn't make a habit of writing mushy nothings and I intend to keep that promise. So instead of a philosophical writ, I'll leave you with one of many interactions with Victor:

[I walk up to Victor with my bass and sharpie in hand]
Adi: Hi Victor! Could you possibly sign my bass for me?
Victor: Sure! No problem.
Adi: Thank you so much!
Victor: No, thank you for asking. Its my honor
[All without the vaguest hint of insincerity. Believe me, I would have known]

And most importantly, I'd like to leave you with a quote Victor shared with us at the very end of camp. I can't think of a more appropriate substantiation for my dedication to this cause - my Blog.

"[All] my discovers are the result of musical perceptions" - Albert Einstein.

Indulging in a bit of colloquialism: "`Nuf said..."

---

[P.S. I am working on a digital diary of sorts of my experiences at camp. I'm not sure whether I should post it on this blog since it is quite obviously thematically incoherent. However if enough of my readers are interested, I'll make an exception]

Monday, April 12, 2010

Paying homage to a Champion...

I'd like to begin this blog with a brief anecdote about one of Machine Learning's stalwarts. Last week, I had the utmost pleasure of meeting one of my heroes, Dr. Tom Mitchell. For those of you not familiar with that name, he is a well-respected authority on Machine Learning and for quite some time, his book was the premier text book for Machine Learning courses across the country:

Link to book on Amazon

[Exeunt: It was this book, that sparked my passion for the field, and I haven't looked back ever since. For those of you even remotely interested in the field, you would be hard-pressed to find a book with as much clarity, detail and ease-of-comprehension factor. For what its worth, I highly recommend this book.]

Unbeknownst to my hero, I was more than a little star-struck as I heard him give a talk on the potential of leveraging Natural Language Processing (NLP) on the web and learning Concepts. I will try and address the talk itself and its relevance to my research in latter articles, but for the eager, Tom has quite a few of his publications on his website and they're easy to read and comprehend:

Articles on his CMU website

After the talk I had a chance to engage him in conversation about the potential for techniques in NLP being leveraged in Music Analysis [article on it coming shortly]. Tom actually stayed 20 minutes after the talk to express his ideas on the topic. Do note that my query wasn't directly related to his talk or anything he was working on...and that, comparatively speaking, he was addressing a complete ignoramus. I was completely taken aback by the level of genuine investment in research – be it his own or someone else's - that Tom has. Everything he said was founded firmly in his own research and knowledge, and he produced deep and meaningful analogies on the subject – far from the superficial hand-wave of a response I usually get from other researchers in Machine Learning. Even more compelling than his intellect and commitment to research was his humility in addressing all of those who spoke to him, including myself. He entertained all of our ideas, which I can only imagine were bordering on absurd, with such genuine enthusiasm that those in attendance must have been forced to acknowledge an intellectual and emotional mettle that transcends that of us mere mortals.

As such, I want to start this blog by offering a very humble tip of the hat to one of the Champions of research. Its people like Dr. Tom Mitchell that reinforce my belief in self-actualization being achieved through the pursuit of research...which I imagine isn't terribly different than pursuing Art. Here's to you Tom...