常见的聚类算法
参考链接:深入浅出聚类算法
1. K均值聚类算法
优点: 速度快,计算简便
缺点: 我们必须提前知道数据有多少类/组。
2. DBSCAN基于密度聚类算法
优点:不需要知道簇的数量
缺点:需要确定距离r和minPoints
3. Mean shift均值漂移聚类算法
优点:(1)不同于K-Means算法,均值漂移聚类算法不需要我们知道有多少类/组。 (2)基于密度的算法相比于K-Means受均值影响较小。
缺点:(1)窗口半径r的选择可能是不重要的。
4. 基于高斯混合模型GMM聚类算法和最大期望EM算法
GMMs的优点:(1)GMMs使用均值和标准差,簇可以呈现出椭圆形而不是仅仅限制于圆形。K-Means是GMMs的一个特殊情况,是方差在所有维度上都接近于0时簇就会呈现出圆形。 (2)GMMs是使用概率,所有一个数据点可以属于多个簇。例如数据点X可以有百分之20的概率属于A簇,百分之80的概率属于B簇。也就是说GMMs可以支持混合资格。
所以要做聚类首先应该找到数据集的均值和标准差,我们将采用一个叫做最大期望(EM)的优化算法。
5. 凝聚层次聚类算法
层次聚类优点:(1)不需要知道有多少个簇 (2)对于距离度量标准的选择并不敏感
缺点:效率低
6. 基于图的聚类