机器学习——聚类算法KMeans及其评估方法

聚类算法简介

聚类算法是一种典型的无监督学习算法,是根据样本之间的相似性,将样本分划到不同的类别中对于不同的相似度计算⽅法,会得到不同的聚类结果,常⽤的相似度计算⽅法有欧式距离法。
聚类算法的应用范围很广,包含以下例子:

  • ⽤户画像,⼴告推荐,Data Segmentation,搜索引擎的流量推荐,恶意流量识别
  • 基于位置信息的商业推送,新闻聚类,筛选排序
  • 图像分割,降维,识别;离群点检测;信⽤卡异常消费;发掘相同功能的基因⽚段

KMeans算法

KMeans是聚类算法中的一种,按照字母意义理解可以分为两层:

  • K表示初始的中心点数,即计划分为几个类别
  • Means表示中心点到其他数据点的距离均值

KMeans算法原理

  1. 随机设置K个特征空间内的点作为初始聚类的中心点;
  2. 计算其他每个点到K个中心点的距离,这个点跟那个中心点最近则将其标记为该类别;
  3. 接着计算所有标记为同一类点的平均值,作为新的中心点;
  4. 如果该中心点跟上一次的中心点一样,则计算结束,否则重复2-3的步骤;
  5. 最终确定每个样本所属的类别及其类别质心。
    在这里插入图片描述

聚类算法评估

聚类算法的评估方法主要采用以下三种:SSE、肘方法和SC系数:

SSE误差平方和(The sum of squares due to error)

SSE是预测值与真实值之间差的平法,聚类效果越好则SSE的值越小。如果质心一开始选择的不好,则SSE只能达到一个不怎么好的局部最优解。
在这里插入图片描述

肘方法(Elbow method)

肘方法也就是K值确定法,一般该方法的原理如下:
(1)对于n个点的数据集,迭代计算k from 1 to n,每次聚类完成后计算每个点到其所属的簇中⼼的距离的平⽅和;
(2)平⽅和是会逐渐变⼩的,直到k=n时平⽅和为0,因为每个点都是它所在的簇中⼼本身;
(3)在这个平⽅和变化过程中,会出现⼀个拐点也即“肘”点,下降率突然变缓时即认为是最佳的k值。
在这里插入图片描述
一般我们在分类过程中无法带来更多回报时,建议停止增加类别。

轮廓系数法(Silhouette Coefficient)

轮廓系数法也就是SC系数,它结合了凝聚度和分离度,从而使得聚类的内部距离最小,外部距离最大。具体原理如下:

  • 计算样本i到同簇其他样本的平均距离ai,ai 越⼩样本i的簇内不相似度越⼩,说明样本i越应该被聚类到该簇。
  • 计算样本i到最近簇Cj 的所有样本的平均距离bij,称样本i与最近簇Cj 的不相似度,定义为样本i的簇间不相似度:bi =min{bi1, bi2, …, bik},bi越⼤,说明样本i越不属于其他簇。
  • 求出所有样本的轮廓系数后再求平均值就得到了平均轮廓系数。平均轮廓系数的取值范围为[-1,1],系数越⼤,聚类效果越好。簇内样本的距离越近,簇间样本距离越远。

每次聚类后,每个样本都会得到⼀个轮廓系数,当它为1时,说明这个点与周围簇距离较远,结果⾮常好,当它为0,说明这个点可能处在两个簇的边界上,当值为负时,暗含该点可能被误分了。
在这里插入图片描述

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

AIGC人工智残

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值