一、算法简介
1、K-Means
这一最著名的聚类算法主要基于数据点之间的均值和与聚类中心的距离迭代而成。它主要的优点是十分的高效,由于只需要计算数据点与聚类中心的距离,其计算复杂度只有O(n)。其工作原理主要分为以下四步: ①首先我们需要预先给定聚类的数目同时随机初始化聚类中心。我们可以粗略的观察数据并给出较为准确的聚类数目;
②每一个数据点通过计算与聚类中心的距离了来分类到最邻近的一类中;
③根据分类结果,利用分类后的数据点重新计算聚类中心;
④重复步骤二三直到聚类中心不再变化。(可以随机初始化不同的聚类中心以选取最好的结果)
这种方法在理解和实现上都十分简单,但缺点却也十分明显,十分依赖于初始给定的聚类数目;同时随机初始化可能会生成不同的聚类效果,所以它缺乏重复性和连续性。
2、MeanShift ①首先以随机选取的点为圆心、r为半径做一个圆形的滑窗,其目标是找出数据点中密度最高处,然后将其作为中心;
②在每次迭代后滑动窗口的中心将向着较高密度的方向移动;
③连续移动,直到任何方向的移动都不能增加滑窗中点的数量,此时滑窗收敛;
④将上述步骤在多个滑窗上进行以覆盖所有的点,当