Do I understand correctly that you run the converging process on every single point?
Couldn't you have a situation where points really far from a cluster would still converge to that cluster by this method? Something like a long string of points slowly getting closer and closer?
Does the mean shift algorithm have any guarantees on running time and/or the quality of the clustering it finds?
> Do I understand correctly that you run the converging process on every single point?
I don't think you have to run it on every point in the data set. If your data set is very large, you could run it on a random sample of points, or a define a regular grid of starting positions at the resolution that you require.
> Couldn't you have a situation where points really far from a cluster would still converge to that cluster by this method? Something like a long string of points slowly getting closer and closer?
Yes, that's the idea. For each point, you're basically asking "If I start here and keep walking up the density gradient from here until I hit a maximum, where do I end up?" If the shape of the probability density function has a very long ridge, you could end up walking the entire length of the ridge until you hit the highest point. This means that you can have arbitrary-shaped clusters, within the smoothness bounds imposed by your chosen radius. This feature is considered a potential advantage over k-means clustering, which can only produce convex clusters.
> Does the mean shift algorithm have any guarantees on running time and/or the quality of the clustering it finds?
I haven't actually used it in practice, so I don't know.
Couldn't you have a situation where points really far from a cluster would still converge to that cluster by this method? Something like a long string of points slowly getting closer and closer?
Does the mean shift algorithm have any guarantees on running time and/or the quality of the clustering it finds?