模式识别:C-means(K-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}

  • 22
    点赞
  • 166
    收藏
    觉得还不错? 一键收藏
  • 11
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值