Monday, March 5, 2007

Bad Results

We finished implementing our behavior descriptor based solely on Displacement lines. We used cross-validation to test it out by testing on one set at a time and training on the other sets. Unfortunately, our descriptor hasn't performed as expected, with most of our sleep dataset being mislabeled as exploring. We're thinking it's due to some bug in our code, but we still haven't found exactly where that bug is. Intuitively, sleeping clips don't produce cuboids. There's no movement taking place during those video clips so the response function doesn't pick up anything. Since there's no movement, our displacement graph is basically all zeros for that type of clip. Conversely, there's no reason why an exploring clip would have a displacement graph consisting of all zeros.

Meanwhile, we've also been looking at different metrics to use besides Euclidean distance.
We're currently considering chi-squared and Mahalanobis in addition to Euclidean.
The reason we're inclined towards using the Mahalanobis distance is that it takes into account the covariance among the variables in calculating distances. Doing this solves problems related to scale and correlation in Euclidean distances. When using Euclidean distance, the set of points equidistant from a given location is a sphere. The Mahalanobis distance stretches this sphere to correct for the respective scales of the different variables, and to account for correlation among variables.



from http://matlabdatamining.blogspot.com/2006/11/mahalanobis-distance.html

We'll be testing other distance metrics once we've fixed this bug.


Update: currently implementing k-nn to do line comparisons, hopefully this will solve the problem.