为了解释均值漂移,我们将考虑二维空间中的一组点,如图5-28所示。我们从一个以C点(随机选择)为中心,以半径r为核心的圆形滑动窗口开始。均值漂移是一种爬山算法,它包括在每一步中迭代地向更高密度区域移动,直到收敛。在每次迭代中,滑动窗口通过将中心点移向窗口内点的均值(因此而得名)来移向更高密度区域。滑动窗口内的密度与其内部点的数量成正比。自然,通过向窗口内点的均值移动,会逐渐移向点密度更高的区域。我们继续按照均值移动滑动窗口,直到没有区域在核内可以容纳更多的点。我们一直移动这个圆直到密度不再增加(即窗口中的点数)。这是通过许多滑动窗口完成的,直到所有的点位于一个窗口内。当多个滑动窗口重叠时,保留包含最多点的窗口。然后根据数据点所在的滑动窗口进行聚类。
与K-Means聚类相比,这种方法不需要选择簇数量,因为均值漂移自动发现这一点。这是一个巨大的优势。它的缺点是窗口大小/半径的选择可能是不重要的。
6.7.3 基于密度的聚类方法
DBSCAN是一种基于密度的聚类算法,类似于均值漂移,但具有一些显著的优点。请看图6-31的例子。
第6章 机器学习算法
187