Bootstrap

数学建模之聚类模型

数学建模之聚类模型

聚类模型

将文本划分为由类似的对象组成的多个类的过程。在聚类之前,我们并不知道数据都有哪些类型甚至不知道可以分为多少个类型。而分类则是在已知数据类型的前提下,对数据进行划分。聚类之后我们可以用更加准确的统计模型对每个类进行单独估计,分析或预测。

K-means聚类算法

算法流程
  1. 指定需要划分的簇的个数K。 K簇即将数据分为K类。
  2. 随机选择K个数据对象作为初始的聚类中心。不一定要是样本点,可以是与样本点同类型的数据点。
  3. 计算各个数据对象到这K个初始聚类中心的距离,把数据对象划归到距离它最近的那个中心所处在的簇类中。
  4. 调整新类并且重新计算出新类的中心。
  5. 循环步骤三和四,看中心是否收敛,如果收敛或达到次数则停止循环。
  6. 结束

流程图

优缺点

优点

  1. 算法简单、快速
  2. 对处理大数据集,该算法是相对高效的
    缺点
  3. 要求用户必须事先给出要生成的簇的数目K
  4. 对初始值敏感,同样的K,对于不同的初始聚类中心,得到的结果很有可能是不同的。
  5. 对于孤立点数据敏感

K-means++算法

初始的聚类中心之间的相互距离要尽可能远

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