均值漂移(Meanshift)算法流程

均值漂移算法是一种常见的聚类算法,经常被应用在图像识别中的目标跟踪、数据聚类等场景中。
该算法思想比较简单,对于给定的一定数量样本,首先随便选择一个点,然后计算该点一定范围之内所有点到中心点的距离向量的平均值作为偏移均值(也就是改点范围内的质心),然后将中心点移动到偏移均值位置,通过这种不断重复的移动,可以使中心点逐步逼近到最佳位置。也即:该点会从随机点移动到高密度中心点。

我看到大部分介绍均值漂移算法的都讲到这里,然后基于这个就可以聚类了。所以我迷茫了。

弄了好久才明白其聚类的方法。

均值漂移(Meanshift)算法流程_第1张图片
如图,随机选择一个点,其半径范围为A,A圆内点质心靠右, 按照质心画圆形成B,计算质心,…最后大概到C圆的位置。

均值漂移(Meanshift)算法流程_第2张图片
我们从前面没有涵盖到的点,再随机选择一点,继续上一步步骤。
均值漂移(Meanshift)算法流程_第3张图片
如果我们把所有质心移动轨迹画出来,然后把移动轨迹终点相近(一定范围内)的归为一类,如图三种颜色。这样就形成了三类。

当然可能某些点被多个轨迹覆盖了, 那么把该点归到覆盖最多的那一类。

你可能感兴趣的:(机器学习,聚类算法,机器学习)