1)随机法 最简单的确定初始类簇中心点的方法是随机选择K个点作为初始的类簇中心点。 2)选择各批次距离尽可能远的k个点,首先随机选择一个点作为第一个初始类簇中心点,然后选择距离该点最远的那个点作为第二个初始类簇中心点,然后再选择距离前两个点的最近距离最大的点作为第三个初始类簇的中心点,以此类推,直到选出k个初始类簇中心。 3)层次聚类或者Canopy预处理,选择中心点。选用层次聚类或者Canopy算法进行初始聚类,然后利用这些类簇的中心点作为Kmeans算法初始类簇中心点。
(1)选择一个距离当前任何质心最远的点。这将消除当前对总平方误差影响最大的点。 (2)从具有最大SSE的簇中选择一个替补的质心,这将分裂簇并降低聚类的总SSE。如果有多个空簇,则该过程重复多次。 (3)如果噪点或者孤立点过多,考虑更换算法,如密度聚类(博客后期会更新这类聚类算法)
不会,有数学证明Kmeans一定会收敛,大概思路是利用SSE的概念(也就是误差平方和),即每个点到自身所归属质心的距离的平方和,这个平方和是一个凸函数,通过迭代一定可以到达它的局部最优解。(不一定是全局最优解)
K-means算法是常用的聚类算法,但其算法本身存在一定的问题。例如,在大数据量下的计算时间过长就是一个重要问题。
Mini Batch Kmeans使用了一种叫做Mini Batch(分批处理)的方法对数据点之间的距离进行计算。Mini Batch的好处是计算过程中不必使用所有的数据样本,而是从不同类别的样本中抽取一部分样本来代表各自类型进行计算。由于计算样本数量少,所以会相应的减少运行时间,但另一方面抽样页必然会带来准确度的下降。
该算法的迭代步骤有两步: 1)从数据集中随机抽取一些数据形成小批量,把他们分配给最近的质心 2)更新质心:与k均值算法相比,数据的更新是在每一个小的样本集上。对于每一个小批量,通过计算平均值得到更新质心,并把小批量里的数据分配给该质心,随着迭代次数的增加,这些质心的变化是逐渐减小的,直到质心稳定或者达到指定的迭代次数,停止计算。
K-Means的主要优点: (1)原理简单,容易实现 (2)可解释度较强
K-Means的主要缺点: (1)K值很难确定 (2)局部最优 (3)对噪音和异常点敏感 (4)需样本存在均值(限定数据种类) (5)聚类效果依赖于聚类中心的初始化 (6)对于非凸数据集或类别规模差异太大的数据效果不好
轮廓系数 好的聚类:内密外疏,同一个聚类内部的样本要足够密集,不同聚类之间样本要足够疏远。
轮廓系数计算规则:针对样本空间中的一个特定样本,计算它与所在聚类其它样本的平均距离a,以及该样本与距离最近的另一个聚类中所有样本的平均距离b,该样本的轮廓系数为,将整个样本空间中所有样本的轮廓系数取算数平均值,作为聚类划分的性能指标s。
轮廓系数的区间为:[-1, 1]。 -1代表分类效果差,1代表分类效果好。0代表聚类重叠,没有很好的划分聚类。比较低,内密外不够疏
1)KNN是分类算法,K-means是聚类算法; 2)KNN是监督学习,K-means是非监督学习 3)KNN喂给它的数据集是带Label的数据,已经是完全正确的数据,K-means喂给它的数据集是无label的数据,是杂乱无章的,经过聚类后才变得有点顺序,先无序,后有序。 4)KNN没有明显的前期训练过程,K-means有明显的前期训练过程 5)K的含义KNN来了一个样本x,要给它分类,即求出它的y,就从数据集中,在X附近找距离它最近的K个数据点,这K个数据点,类别C占的个数最多,就把x的label设为c. K-means中K是人工固定好的数字,假设数据集合可以分为k个簇,由于是依靠人工定好,需要一些先验知识。
(1)数据归一化和离散点的处理(2)合理选择K值 (3)采用核方法
(1)K-means++ (2)ISODATA算法
(
参考知乎lixinliu回答 https://www.zhihu.com/question/49972233?sort=created
参考博文:https://blog.csdn.net/qq_15738501/article/details/7903625
仅学习自用, 侵权删 参考资源: https://blog.csdn.net/qq_38147421/article/details/106472422 https://blog.csdn.net/qq_15738501/article/details/79036255 https://blog.csdn.net/qq_38147421/article/details/106472422?utm_medium=distribute.pc_relevant.none-task-blog-baidujs-3 https://zhuanlan.zhihu.com/p/58434325 https://www.zhihu.com/question/49972233?sort=created https://blog.csdn.net/qq_15738501/article/details/7903625