knn/kmeans/kmeans++/Mini Batch K-means/Affinity Propagation/Mean Shift/层次聚类/DBSCAN 区别

可以看出来除了KNN以外其他算法都是聚类算法

1.knn/kmeans/kmeans++区别

先给大家贴个简洁明了的图,好几个地方都看到过,我也不知道到底谁是原作者啦,如果侵权麻烦联系我咯~~~~

knn模型的三要素:距离度量(如何计算样本之间的距离)、k值的选择(选择要判断的目标周围的几个样本去判断类别)、分类决策规则(如何决定目标的类别)

图中所谓没有明显的训练过程就是给定目标样本,只需要直接计算其周围K个样本的类别,通过分类决策规则判断出来目标样本的类别就可以,不需要预先训练一个判别模型。

Kmeans算法的缺陷

  • 聚类中心的个数K 需要事先给定,但在实际中这个 K 值的选定是非常难以估计的,很多时候,事先并不知道给定的数据集应该分成多少个类别才最合适
  • Kmeans需要人为地确定初始聚类中心,不同的初始聚类中心可能导致完全不同的聚类结果。(可以使用Kmeans++算法来解决)

上面就引出了kmeans++,也就是选择初始种子到底是哪个样本时(主要不是选择中心个数,而是人为给定聚类个数,初始化具体哪些样本为初始质心),不是像kmeans那样随机选择,而是:初始的聚类中心之间的相互距离要尽可能的远。

上面这部分主要是参考 https://blog.csdn.net/loadstar_kun/article/details/39450615

2.其余聚类算法间的区别

参考链接 http://blog.sina.com.cn/s/blog_7103b28a0102w4e1.html (我还没有细看,下次再补充~~~~~~~)

原文地址:https://www.cnblogs.com/kjkj/p/9839085.html