+1 exactly correct Paritosh. When I wrote that I was using a physical mental model of, perhaps, accretion of mass in a swarm of asteroids or in deep space where stars accrete from irregularities in the interstellar dust cloud. I've never been 100% sure this is truely MeanShift, but it seems to have withstood the scrutiny of others and the test of time <grin>.

Jeff

On 3/8/12 1:55 AM, Paritosh Ranjan wrote:
And the centers which are under t1, are already being observed, and which are under t2, are already merged as the clusterer's mergeCanopy() was called on all the canopies earlier.

On 08-03-2012 14:21, Paritosh Ranjan wrote:
The mass is the number of points inside that canopy. Its 1 in the beginning, and when two canopies merge, there boundPoints ( i.e. mass ) is added. When the shiftToMean() is used, then the mean is sum of all centers within t1 of the current canopy ( which are under t2 are already merged ). While summing up the centers, the weight of each center is the mass of that canopy.

The observe method takes the center as vector and the mass as weight in the shiftToMean(). To sum up the centers, the MeanShiftCanopy also needs to observe its own center with its mass. That's why the observe method is called with its own center and mass.

This is my observation by looking at the documentation and the code, someone please correct me if they feel the description is wrong.

On 08-03-2012 12:04, gaurav redkar wrote:
I wish to know the purpose of variable "mass" in class MeanShiftCanopy.
what i am not able to figure out is the role it plays in the function
MeanShiftCanopyClusterer.ShiftToMean().In this function there is a call to function AbstractCluster.observe() with mass of the canopy as one of the
parameters.

Any suggestions.?

Thanks






Reply via email to