清风数学建模学习笔记——K-means聚类模型详解及SPSS操作流程

聚类模型

  聚类模型,就是将样本划分为有类似的对象组成的多个类的过程。聚类后,我们可以更加准确的在每个类中单独使用统计模型进行估计、分析或预测;也可以探究不同类之间的相关性和主要差异。此外,聚类与分类的群别在于分类是已知类别的,而聚类是未知的。


文章目录

    • 聚类模型
    • 一、K-means聚类算法
      • 1. 流程
      • 2. 图解 K-means
      • 3. 算法的缺点
    • 二、K-means++算法
      • 1. 流程
      • 2. 图解
      • 3. 算法的缺点
      • 4. SPSS 操作
    • 三、模型总结


一、K-means聚类算法

1. 流程

  1. 指定需要划分的簇的个数K值(类的个数);
  2. 随机地选择K个数据对象作为初始的聚类中心(不一定要是我们的样本点);
  3. 计算其余的各个数据对象到这K个初始聚类中心的距离,把数据对象划归到距离它最近的那个中心所处在的簇类中;
  4. 调整新类并且重新计算出新类的中心;
  5. 循环步骤三和四,看中心是否收敛(不变),如果收敛或达到迭代次数则停止循环;
  6. 结束。

2. 图解 K-means

清风数学建模学习笔记——K-means聚类模型详解及SPSS操作流程_第1张图片


3. 算法的缺点

  • 要求用户必须事先给出要生成的簇的数目k
  • 对初值敏感
  • 对于孤立点数据敏感

二、K-means++算法

  K-means++算法选择初始聚类中心的基本原则是:初始的聚类中心之间的相互距离要尽可能的远。


1. 流程

  1. 随机选取一个样本作为第一个聚类中心;
  2. 计算每个样本与当前已有聚类中心的最短距离(即与最近一个聚类中心的距离),这个值越大(距离越大),表示被选取作为聚类中心的概率较大;最后,用轮盘法(依据概率大小来进行抽选)选出下一个聚类中心;
  3. 重复步骤二,直到选出 K 个聚类中心。选出初始点后,就继续使用标准的 K-means 算法了。

2. 图解

  假设平面内存在5个点,随机选取 A 为聚类中心作为第一个聚类中心, 计算其余 4 个样本与当前聚类中心的最短距离,这个值越大,表示被选取作为聚类中心的概率较大(如图1)。利用轮盘法选择 D 作为第二个聚类中心(也可以选择E)。选择 D 作为第二个聚类中心,求第一个聚类中心 A 与第二个聚类中心 D 的重心,并将其作为一个虚拟的聚类中心,求其他三个点B、C、E到 虚拟聚类中心 的距离,并计算相对的概率(如图2),并用轮盘法选择下一个聚类中心… 直到选择出 K 个聚类中心然后进行 K-means 算法。

清风数学建模学习笔记——K-means聚类模型详解及SPSS操作流程_第2张图片    清风数学建模学习笔记——K-means聚类模型详解及SPSS操作流程_第3张图片


3. 算法的缺点

  1. K-means++算法虽解决了 K-means 算法的初值敏感、边界值敏感两种问题。但 K 还是需要手动选取,所以 K 应该取决于个人的经验与感觉,多尝试几组即可。
  2. 量纲不一致,也会出现问题,因此,需要用以下公式进行演算。zi=(xi-x平均)/x标准差,即减去均值再除以标准差。 即可消除量纲影响,当然也可以用 SPSS 进行操作。
    清风数学建模学习笔记——K-means聚类模型详解及SPSS操作流程_第4张图片

4. SPSS 操作

   分析 → 分类 → K-均值聚类,这里默认使用 K-means++算法。保存和选项的勾选项如下图:
   清风数学建模学习笔记——K-means聚类模型详解及SPSS操作流程_第5张图片
  清风数学建模学习笔记——K-means聚类模型详解及SPSS操作流程_第6张图片


三、模型总结

  1. K-means 算法对分类问题的处理简单、快速,而且对处理大数据集,该算法是相对高效率的。
  2. K-means++算法对K-means算法初始化K个聚类中心这一步进行了优化,但是确定 K 值还需要进一步讨论。实际上对 K 值的选取,应用层次聚类可以解决。

  本文借鉴了数学建模清风老师的课件与思路,如果大家发现文章中有不正确的地方,欢迎大家在评论区留言,也可以点击查看下方链接查看清风老师的视频讲解~

原文链接:https://www.bilibili.com/video/BV1DW411s7wi

你可能感兴趣的:(数学建模,聚类算法,kmeans算法,数学建模)