当前位置:   article > 正文

模糊c均值聚类_聚类算法总结

模糊c—均值聚类

c0eb3f7ebfc0df15c945e13bd96d9691.png

聚类算法

聚类算法是机器学习中涉及对数据进行分组的一种算法。在给定的数据集中,我们可以通过聚类算法将其分成一些不同的组。在理论上,相同的组的数据之间有相同的属性和特征,不同组数据之间的属性或者特征相差就会比较大。

K-means聚类算法

算法思想

K-means算法的思想比较简单,假设我们要把数据分成K个类

  1. 随机选取k个点,作为聚类中心;
  2. 计算每个点分别到k个聚类中心的聚类,然后将该点分到最近的聚类中心,这样就形成了k个簇
  3. 再重新计算每个簇的质心(均值)
  4. 重复以上2~4步,直到质心的位置不再发生变化或者达到设定的迭代次数

代价函数

要是k-means最后的分类结果最好,也就是要是K-均值最小化,是要最小化所有的数据点与其所关联的聚类中心点之间的距离之和,因此我们可以设计K-均值的代价函数

其中

代表与
最近的聚类中心点。我们的优化目标就是要找出是的代价函数最小的

优点

  • 应用广泛,速度快,鲁棒性强
  • 对于未知特性的数据集都可以先用K-means试试

缺点

  • 对于离群点和孤立点敏感
  • k值选择
  • 初始聚类中心的选择
  • 只能发现球状簇

改进

  • LOF检测离群点通过去除离群点后在聚类,减少离群点和孤立点对于聚类效果的影响
  • 一开始给定一个适合的数值给k,通过一次k-means算法得到一次聚类中心。对于得到的聚类中心,根据得到的k个聚类的距离情况,合并距离最近的类,因此聚类中心数减小,当将其用于下次聚类时,相应的聚类数目也减小,最终得到合适数目的聚类数。可以通过一个评判值E来确定聚类数得到一个合适的位置停下来,而不继续合并聚类中心。重复上述循环,直至评判函数收敛为止,最终得到较优聚类数的聚类结果。
  • 首先随机选择一个点作为第一个初始类簇中心点,然后选择距离该点最远的那个点作为第二个初始类簇中心点,然后在选择距离前两个点的最近距离最大的点作为第三个初始类簇的中心点,以此类推,直至选出k个初始类簇中心点

Mean-Shift

Mean-shift聚类是一个基于滑窗的算法,尝试找到数据点密集的区域。它是一个基于质心的算法,也就是说它的目标是通过更新中心点候选者定位每个组或类的中心点,将中心点候选者更新为滑窗内点的均值。这些候选滑窗之后会在后处理阶段被过滤,来减少邻近的重复点,最后形成了中心点的集合和它们对应的组

算法流程

  1. 在未被标记的数据点中随机选择一个点作为起始中心点center;
  2. 找出以center为中心半径为radius的区域中出现的所有数据点,认为这些点同属于一个聚类C。同时在该聚类中记录数据点出现的次数加1。
  3. 以center为中心点,计算从center开始到集合M中每个元素的向量,将这些向量相加,得到向量shift。
  4. center = center + shift。即center沿着shift的方向移动,
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小小林熬夜学编程/article/detail/702505
推荐阅读
相关标签
  

闽ICP备14008679号