常见聚类模型


今天来写写数学建模中的聚类模型,还是分为几个版块来写

1.聚类模型简介

俗话说:“物以类聚,人以群分”,所谓的聚类,就是将样本划分为由类似的对象组成的多个类的过程。聚类之后,我们可以更加准确地在每个类中单独使用统计模型进行估计,分析或者预测;也可以研究不同类之间的差异。聚类算法常见的有K-means聚类算法,系统聚类算法,DBSCAN算法

2.K-means聚类算法

a.算法流程:

  • 指定需要划分的簇的个数,即K值(类的个数);
  • 随机的选择K个数据对象作为初始的聚类中心;
  • 计算其余的各个数据对象到这K个聚类中心的距离,把数据对象划分到距离它最近的那个中心所在的簇中;
  • 调整新类并计算出新的聚类中心;
  • 循环第三和第四步,直到聚类中心不再发生变化,聚类结束。

b.算法评价与改进:

  • 优点:算法简单迅速,处理大量数据的时候,该算法效率较高;
  • 缺点:要求提前给出要分成的类数K;对初值、孤立点数据敏感;
  • 解决办法:使用K-means++算法可以解决K均值算法对初值和孤立数据敏感的问题;
  • K-means++算法基本原则:选择初始聚类中心时要保证聚类中心之间的距离尽可能远;
  • K-means++算法的实现:对原K-means算法的第一步进行优化,先随机选择一个聚类中心,然后计算各个数据点到这个聚类中心的距离,距离越远被选做聚类中心的概率越大,最后用轮盘法(依据概率大小抽选)来选取下一个聚类中心,然后重复这一操作,直至选出K个聚类中心。

c.举例实现

在这我们使用SPSS软件来实现K均值聚类,SPSS默认使用K-means++算法:

  1. 打开SPSS,导入要用于聚类的数据,我这里是直接选择的500组数据(数据是我2020美赛c题对评论文本进行情感提取得到的,分别为消极词得分、中性词得分、积极词得分、复合词得分)粘贴进去
    在这里插入图片描述
  2. 接下来操作如下:
    在这里插入图片描述
  3. 然后设置如下,设置完毕后点击确定,系统就开始聚类了:
    在这里插入图片描述
  4. 聚类结果:
    在这里插入图片描述
    在这里插入图片描述

d.注意事项:

如果数据的量纲不一致,那么计算距离就没有意义了,我们得先将数据进行标准化,操作如下:
在这里插入图片描述
在这里插入图片描述

3.系统(层次)聚类算法:

a.算法流程

  • 将每个对象看作一类,计算两两之间的最小距离;
  • 将距离最小的两个类合并成一个新类;
  • 重新计算新类与所有类之间的距离;
  • 重复二三两步,直到所有类最后合并成一类,聚类结束。

b.SPSS实现:

在这里插入图片描述
结果会得到一张谱系图,由于图片太长我就不展示了,根据谱系图我们可以自己决定将数据分为几类。

4.DBSCAN算法:

该算法是一种基于密度的聚类算法,聚类前不需要预先指定聚类的个数,生成簇的个数不定(由数据决定)。该算法利用基于密度的聚类的概念,即要求聚类空间中的一定区域内所包含对象(点或其他空间对象)的数目不小于某一给定阈值。该方法能在具有噪声的空间数据库中发现任意形状的簇,可将密度足够大的相邻区域连接,能有效处理异常数据。(说白了就是:挨我近的就是我的兄弟,我兄弟的兄弟,就是我的兄弟)

a.基本概念:

DBSCAN算法将数据分为以下三类:

  • 核心点:在半径Eps内含有不少于MinPts数目的点;
  • 边界点:在半径Eps内点的数量小于MinPts,但是落在核心点的邻域内;
  • 噪音点:既不是核心点也不是边界点的点。

b.优缺点:

1. 优点:

  • 基于密度定义,能够处理任意形状和大小的簇;
  • 可在聚类的同时发现异常点;
  • 不需要指定要划分的簇的个数

2.

  • 对于输入参数$\xi$和MinPts敏感,确定参数困难;
  • 在该算法中,变量$\xi$和MinPts是全局唯一的,当聚类的密度不均匀时,聚类距离相差很大时,聚类质量差;
  • 当数据量大时,计算密度单元的计算复杂度大

4.可视化:

  1. K-means聚类算法可视化,戳我
  2. DBSCAN算法可视化,戳我

5.总结:

聚类算法在数学建模中应用比较广泛,这次2020美赛我们队伍还用到了系统聚类算法来对评论进行分类评级,这几种算法的优缺点都很明显,尽量根据实际情况来合理使用,效果会更好。


文章作者: Reset Ran
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 Reset Ran !
  目录