Mean shift algorithms seeks clusters in a dataset. It is a centroid based algorithm (like K-means). Unlike K-means the update of the centroids are not done based on the points associated to this centroid but on the points within a given region (ie at a distance smaller than a max distance).
Mean shift starts by defining each point of the dataset as an initial cluster centroid and then update each of them until convergence. Each centroid being independent from the others, this step can be parallelised.
At the end overlapping clusters are merged.
Create a sliding window/cluster for each data-point
Each of the sliding windows is shifted towards higher density regions by shifting their centroid (center of the sliding window) to the data-points’ mean within the sliding window. This step will be repeated until no shift yields a higher density (number of points in the sliding window)
Selection of sliding windows by deleting overlapping windows. When multiple sliding windows overlap, the window containing the most points is preserved, and the others are deleted.
Assigning the data points to the sliding window in which they reside.
See: