中文说明: 该算法是基于核密度估计的爬山算法,可用于聚类、图像分割、跟踪等,因为最近搞一个项目,涉及到这个算法的图像聚类实现。 假设在一个多维空间中有很多数据点需要进行聚类,Mean Shift的过程如下: 1、在未被标记的数据点中随机选择一个点作为中心center; 2、找出离center距离在bandwidth之内的所有点,记做集合M,认为这些点属于簇c。同时,把这些求内点属于这个类的概率加1,这个参数将用于最后步骤的分类 3、以center为中心点,计算从center开始到集合M中每个元素的向量,将这些向量相加,得到向量shift。 4、center = center+shift。即center沿着shift的方向移动,移动距离是||shift||。 5、重复步骤2、3、4,直到shift的大小很小(就是迭代到收敛),记住此时的center。注意,这个迭代过程中遇到的点都应该归类到簇c。 6、如果收敛时当前簇c的center与其它已经存在的簇c2中心的距离小于阈值,那么把c2和c合并。否则,把c作为新的聚类,增加1类。 6、重复1、2、3、4
English Description:
This algorithm is a hill-climbing algorithm based on kernel density estimation, which can be used for clustering, image segmentation, tracking and so on. Recently, a project has been carried out, which involves the image clustering implementation of this algorithm.