机器学习--聚类

本文介绍了无监督学习中的两种常见聚类算法——层次聚类和K-means聚类。层次聚类分为自顶向下和自底向上两种,通过计算样本间的距离进行聚类,而K-means则通过迭代更新质心来划分样本。层次聚类不需要预设K值,但计算复杂度高;K-means速度快,但对初始质心敏感,需要预先设定K值。两种算法各有优缺点,适用于不同的数据集和应用场景。
摘要由CSDN通过智能技术生成

聚类是无监督学习中最常用的算法。

层次聚类

也称为凝聚的聚类算法,最后可以生成一个聚类的图,但Python中不容易生成这种图,一般直接在界面软件中生成。
在这里插入图片描述

有自顶而下和自底向上两种,只是过程相反
自顶而下聚类:
(1)计算所有的样本和样本之间的距离,找到离得最近的两个样本聚成一类。
(2)将上面的小类看做一个新的样本,再选择这个类中的每个样本与剩下的样本的最小距离作为这个新样本与剩下样本的距离,将距离最小的样本再聚成一类,依次类推。
(3)直到最终聚成一类。

距离计算:马氏距离

类间距的计算
1)最短距离:将两个类之间最小的两个样本点的距离作为类间距
2)最长距离:将两个类之间最大的两个样本点的距离作为类间距
3)中心距离:将一个类内所有样本的均值和另一个类内所有样本的均值之间的距离作为类间距
4)平均距离:将一类与另一类中任意两个样本之间距离的平均值作为类间距

优点:不需要确定K值,可根据主观划分,决定分成几类。
缺点:计算量特别大。与K-means相比两者的区别,除了计算速度,还有K-means只产出一个聚类结果和层次聚类可根据你的聚类程度不同有不同的结果。

K-means(K均值)聚类

K-means聚类算法:
(1)随机选择K个初始点作为质心;
(2)计算质心与数据点之间的距离,将数据点分配到距其最近的类;
(3)对于每个类,计算类中所有数据的均值,将其作为新类的质心;
(4)重复(2)和(3)两步,直到直到类中的样本点不再变化。

参数及其优化
(1)K值:可采用肘部法,选择突变处的K值
(2)初始质心:随机选择一个样本点,计算所有样本和其之间的距离,选择距离最大的那个样本点作为另一个质心,若K>3,则可计算这两个样本点的中心距离,再计算剩余样本点与这个中心距离距离最小的样本作为第三个质心,以此类推。

评价K-means的聚类效果:
在保持K不变的情况下,用于度量聚类效果的指标是SSE(误差平方和),SSE越小表示表示数据越接近质心,聚类效果也越好。

优点:速度快,适合发现球形聚类,可发现离群点
缺点
1)对初始聚类中心敏感,缓解方案是多初始化几遍,选取损失函数小的;
2)必须提前指定K值(指定的不好可能得到局部最优解),缓解方法,多选取几个K值,grid search选取几个指标评价效果情况;
3)属于硬聚类,每个样本点只能属于一类 ;
4)对异常值免疫能力差,可以通过一些调整(不取均值点,取均值最近的样本点);
5)对团状数据点区分度好,对于带状不好(谱聚类或特征映射)。

实际应用:
尽管K均值聚类有很多缺点,但是它仍然应用广泛,因为它速度快,并且可以并行化处理。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值