机器学习(九):k-means与聚类

k均值是基于划分的聚类技术,其特征为聚类的结果趋向于类球形,而k值就是需要发现的k个类,一般由使用者指定。

k-means

k均值通常用于n维连续空间(数值类型)中的数据,其算法思想比较简单:

选择k个初始质心,然后将样本中的每个点指派到最近的质心,指派的方法一般是计算距离,以每个质心和所属他的点为一个簇,重新计算出该簇的质心,重复下去,直到簇不变(也可以是质心不变)

该算法思想有两大需要解决的问题:
1. k的大小该如何选择
2. k个初始点该如何选择

k的大小无疑会影响聚类的效果,并且k的位置选择不好会导致局部局部最小,如下图:
这里写图片描述
上述两个问题将在最后介绍解决方法。

层次聚类

一般我们说的层次聚类包含两种方法:凝聚层次聚类,分裂层次聚类。
区别在于,前者从每个点作为一个簇开始,每次合并两个簇,后者相反。
从方法上来说,凝聚层次聚类一开始就又n个簇,每个簇是一个点,每次聚类都减小一个簇。
这意味着,簇的个数从0到n(对比k-means,肯定包含k在内)。
和k-means一样,层次聚类也面临着合并指标的选取,一般来说有如下选取指标:

  • min:两个簇中最近点之间的距离
  • max:两个簇中最远点之间的距离
  • 组平均:两个簇的点之间的距离的平均值
  • 质心:两个簇的质心的距离
    这里写图片描述

簇评估

关于聚类,有一个问题尤为重要,即簇评估。
类似软件开发中的标准,对于簇的好坏评价,同样我们遵从:高内聚低耦合。
我们希望一个簇内的点的相似性尽可能大,而簇之间的相似性尽可能小。
这里的相似性,我们可以使用简单的距离来表示。
于是就有如下指标:

cohesion(Ci)=xCidist(x,
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值