Thursday, May 8, 2008

Relationships - The Space in the Middle

I've been watching the progress of Jeff Hawkins' research on Numenta and was playing with a demo that has learned some simple shapes. The user can draw the shape and ask the application to recognize it. It returns an array of images to match the drawn input and a probability indicator bar beside each of the learned object shapes. Unfortunately, it didn't guess very well. I shared this demo with a colleague and neither of us were too impressed.

I started playing around with a simple drawing of a hat. I drew two extremes of a hat, one with a very tall top and short brim, and one with a very short top and a wide brim. I also drew the average between these two extremes, to show a prototypical line drawing of a hat. Then I thought there must be some understanding of the relationship between the brim and the top, because both can be varied so much and yet a hat can still be identified as a hat.

There has to be something more to recognizing simple shapes - some understanding of object relationships that is missing from the Numenta demo, which I think needs to be included if it is going to work properly.

This line of thinking lead me on a search to find a list of mathematical relationships. I have never had a natural aptitude for mathematical equations (I quit after a course in Calculus at university), although I do find it interesting if I can apply it to something in the real world.

Here is a formal definition:

"When two objects, qualities, classes, or attributes, viewed together by the mind, are seen under some connexion, that connexion is called a relation." - Augustus De Morgan

I found a list of mathematical relationships on another site that I want to explore further:
Java Programming Archive

- Linear Function
- Quadratic Function
- General Polynomial Function
- Arithmetic Function
- Transcendental Function
- Parameterized Equations
- Any relationship: y is related to x in some way
- Sequences?

It seems that people need, not only a memorized bank of images to draw upon, but some rules to represent relationships between the parts of an object/image, to make recall of the images possible from fuzzy data.