没有合适的资源?快使用搜索试试~ 我知道了~
Kmeans 和 FCM 算法.pdf
需积分: 50 10 下载量 156 浏览量
2021-01-17
12:08:59
上传
评论 1
收藏 658KB PDF 举报
温馨提示
试读
22页
基于Iris和Sonar数据集的聚类算法,同时简单的运用聚类算法进行图像分割。
资源详情
资源评论
资源推荐
Kmeans 和 FCM 算法
摘要
无监督机器学习作为现在一种主流的机器学习算法,在机器学习领域扮演者
举足轻重的角色,由于大数据时代的数据量太多,而标注始终是一个巨大的问题,
目前最准确的标注方式依然是人工标注,所以采集有标签的数据十分困难且代价
太大,而无监督学习就是为了处理这一类无标签的数据产生的算法。
对于大多数的数据处理,首先要做的就是分类任务,而对于无标签的数据集
来说,我们事先并不知道其具体的类别数,所以只能试探性的选择类数,然后根
据纯度,熵等判据来决定是否未为合适的分类,本文主要采用的是纯度这一度量
指标来作为判据。
Kmeans 算法作为应用最广泛的基于划分的聚类算法之一,适用于处理大样
本数据。是一种典型的基于相似性度量的方法,目标是根据输入参数 K 将数据集
划分为 K 类。由于初始值,相似度,聚类均值计算策略的不同,因而有很多种 K
均值算法的变种。在数据接近球形分布的时候,K 均值算法具有较好的聚类效果。
K 均值算法属于硬聚类算法,它把数据点划分到确切的某一聚类中。而模糊
聚类则是软聚类,数据点可能归属于不止一个聚类,并且这些聚类与数据点通过
一个成员水平联系起来。成员水平显示了数据点与某一聚类之间联系很密切。模
糊聚类就是计算这些成员水平,按照成员水平来决定数据点属于哪一个或哪些聚
类的过程。
本文主要采用 K 均值算法和 FCM 算法对 Iris 和 Sonar 数据集进行分类,由于
这两个数据集是有标签的,所以 K 值是确定的,本文主要针对其他的一些因素来
改变算法,分析其分类效果的异同。
根据求解结果我们可知,在分类 Sonar 数据集时,准确率非常低,这是因为
Sonar 数据集的分布比较集中,并不是适合于 kmeans 分类的球形数据,所以算
法不能很好的对其进行分类。
最后,Kmeans 作为使用最为广泛的聚类算法,其在图像分割领域内也有应
用,我们都知道,图像在计算机中实际为一个数值矩阵,而其在颜色比较相近的
地方,其值也大致相同,而图像一般不会出现图片的情况,突变只会发生在物体
的边缘位置,由此,针对一些颜色比较单一且边缘划分明显的图片,我们使用聚
类算法可以很好的将我们所需要的图片信息提取出来,达到图像分割的目的。
关键词:Kmeans,FCM,图像分割
一、问题描述
1、查阅无监督聚类的评价标准有哪些?选择其中一个标准作为后续试验的验证指标。
2、sonar 和 iris 数据上分别验证两种聚类算法,同时,也可以先利用 kmeans 算法选择
初始聚类中心,然后使用 FCM 聚类,观察其结果。
二、数据集描述
2.1 Iris 数据集
Iris 数据集,是一个多分类问题,每个类的观察值数量是均等的,一共有 150 个观察值,
4 个输入变量和 1 个输出变量,其通过对鸢尾花的测量数据预测鸢尾花的品种。
2.2 Sonar 数据集
Sonar 数据集提供了 208 组 60 维的声纳观测集数据,用来预测给定声纳从不同角度返
回的强度预测目标是岩石还是矿井。其中 R 类代表岩石,M 类代表矿井。
三、评价标准
在有监督聚类算法中,由于数据是有标签的,我们可以将原始数据的准确标签和分类后
得到的标签进行对比,以此来计算聚类结果的准确性,而且可以以此作为损失函数,使得分
类的错误率越来越小,模型即可得到优化。
但是在无监督学习中,由于数据本身是没有标签的,那么在聚类后我们只可以得到聚类
的结果,并不知道结果是否正确,这是我们无法判断其准确率,由此我们需要一类可以评价
无监督聚类结果的好坏的评价指标。由于不论是何种分类,其最终达到的目的都是使得“类
内数据尽可能的紧密,类间的距离尽可能地大”,根据这个原则,我们提出了常用地四种评
价指标。
下面分别介绍四种评价指标,并举例说明其计算过程:
x 代表一类文档,o 代表一类文档,方框代表一类文档,聚成了 3 个 cluster。
3.1 纯度(purity)
纯度:代表正确聚类地类别数占总类别数地比例。其计算公式如下:
其中 N 代表总类别数,
代表第 k 个聚类,C 代表类别集合,
表示第 j 类。其结算结果必
然在 0~1 之间,完全错误时其值为 0,完全正确时其值为 1。
根据上述例子,可计算得到其纯度为:
3.2 熵(Entropy)
对于一个聚类 i,首先计算
,
指的是聚类 i 中的成员属于类 j 地概率。
其中
是在聚类 i 中所有成员地个数,
是聚类 i 中成员属于 j 类的个数。
每个聚类的 entropy 可以表示为
其中 L 是类的个数,整个聚类划分的 entropy 为
其中 K 是聚类的数目,m 是整个聚类划分所涉及到的成员个数。
例如上面的例子:
e1=-1/6log2(1/6)
e2=-[1/6log2(1/6)+1/6log2(1/6)]
e3=2/5log2(2/5)
整个聚类划分的
entropy=(6/17)*e1+(6/17)*e2+5/17*e3
3.3 兰德指数
其中 C 表示实际类别信息,K 表示聚类结果,a 表示在 C 与 K 中都是同类别的元素对
数,b 表示在 C 与 K 中都是不同类别的元素对数。RI 的取值为[0,1],值越大表示聚类结果与
真实情况越吻合。
RI 越大表示聚类效果准确性越高 同时每个类内的纯度越高。为了实现“在聚类结果随机
产生的情况下,指标应该接近零”,调整兰德系数(Adjusted rand index)被提出,它具有更
高的区分度:
ARI 取值范围为[−1,1],值越大意味着聚类结果与真实情况越吻合。从广义的角度来讲,
ARI 衡量的是两个数据分布的吻合程度。
3.4 互信息
互信息指的是两个随机变量之间的关联程度 如下公式计算:
四、Kmeans 算法
4.1 原理概述
K 均值聚类算法是应用最广泛的基于划分的聚类算法之一,适用于处理大样本数据。
它是一种典型的基于相似性度量的方法,目标是根据输入参数 K 将数据集划分为 K 簇。由
于初始值、相似度、聚类均值计算策略的不同,因而有很多种 K 均值算法的变种。在数
据分布接近球体的情况下,K 均值算法具有较好的聚类效果。
(1)选取 K 个初始聚类中心,
,
,…,
,其中括号内的序号为寻找聚类中
心的迭代运算的次序号。聚类中心的向量值可任意设定,例如,可选开始的 K 个模式样本
的向量值作为初始聚类中心。
(2)根据最小距离标准将要分类的模式样本 X={x}分配给 K 个簇中心中的某一个
,则 x 与各聚类中心的最小距离
则
,其中 t 表示迭代次数,
表示第 j 个聚类簇,囚此其聚类中心是
。
(3)计算各个聚类中心的新的向量值,
, ,, ,,并计算各聚类簇
中样本数据的均值向量:
剩余21页未读,继续阅读
ZJH01080108
- 粉丝: 153
- 资源: 16
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0