+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