当前位置:   article > 正文

模式识别:C-means(K-means)聚类算法与分级聚类(层次聚类)算法

c-means

 

C均值聚类算法与分级聚类算法的聚类分析

一、实验目的

  1. 理解聚类的整体思想,了解聚类的一般方法;
  2. 掌握 C-means与分级聚类算法算法思想及原理,并能够熟练运用这些算法进行聚类分析;
  3. 能够分析二者的优缺点

二、实验内容

  1. 采用C均值聚类算法对男女生样本数据中的身高、体重2个特征进行聚类分析,考察不同的类别初始值以及类别数对聚类结果的影响,并以友好的方式图示化结果。
  2. 采用分级聚类算法对男女生样本数据进行聚类分析。尝试采用身高,体重2个特征进行聚类,并以友好的方式图示化结果。

三、实验原理

3.1 C-means聚类算法

3.1.1算法原理

C-means,常称作K-means算法,是基于距离的聚类算法。采用距离作为相似性的评价指标,即认为两个对象的距离越近,其相似度就越大。该算法认为类簇是由距离靠近的对象组成的,因此把得到紧凑且独立的簇作为最终目标。其基本思想:取定c 类,选取c 个初始聚类中心即 , 即代表点 。按最小距离原则将各样本分配到离代表点最近的一类中 ,不断重新计算类中心 , 调整 各样本类别,最终使聚类准则函数 Je 最小。算法采用误差平方和准则函数作为聚类准则函数。

①用样本间的距离(欧式距离)作为相似性度量

②用各类样本与类均值间的平方误差和作为聚类准则

定义准则函数:

J_e=\sum_{i=1}^{c}\sum_{y\epsilon\Gamma_i}^{ }\left \|y-m_i \right \|^2,其中:m_i=\frac{1}{N_i}\sum_{y\epsilon\Gamma_i}^{\empty}y

J_e 是常用的聚类准则函数 , 表示N个样本聚类成c 类时,所产生的总误差的平方和 , 其值取决于c 个聚类中心。

3.1.2 C-means聚类算法流程(迭代优化)

输入:样本数据集D,聚类簇数c;输出:各类簇的集合

步骤:初始化每个簇的均值向量

 repeat:

  a.(更新)簇划分;

  b. 计算每个簇的均值向量

 until 当前均值向量均未更新

3.1.3 C-means聚类算法伪代码

输入:样本集D={x_1,x_2,...,x_n};聚类簇数c
过程:
1:从D中随机选择c个样本作为初始均值向量{u_1,u_2,...,u_c}
2:repeat
3:令C_i=Ø(1≤i≤c)
4:for j = 1,...,n do
5:  计算样本x_j与各均值向量u_i(1≤i≤c)的距离:d_ji = ||x_j-u_i||2;
6:  根据距离最近的均值向量将x_j归入该簇
7:end for
8:for i = 1,...,c do
9:  计算新的均值向量u'_i
10: if u'_i ≠ u_i then
11:    将当前均值向量u_i更新为u'_i
12   else
13:    保持当前均值向量不变
14   end if
15:end for
16:until 当前所有均值向量不再更新
17return 簇划分结果
输出:簇划分C={C_1,C_2,...,C_c}

3.2 分级聚类算法

3.2.1算法基本原理

思想:从各类只有一个样本点开始, 逐级合并,每级只合并两类,直到最后所有样本都归到一类。聚类过程中逐级考查类间相似度,依次决定类别数。在聚类过程中把 N 个没有标签的样本分成一些

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小丑西瓜9/article/detail/702492
推荐阅读
相关标签
  

闽ICP备14008679号