机器学习|层次聚类方法 (Python 语言描述)

在之前的文章中,我们学习了划分聚类方法,并着重介绍了其中的 K-Means 算法。K-Means 算法可以说是用处非常广泛的聚类算法之一,它非常好用。但是,当你使用过这种算法之后,你就会发现一个比较让人「头疼」的问题,那就是我们需要手动指定 K 值,也就是聚类的类别数量。

预先确定聚类的类别数量看起来是个小事情,但是在很多时候是比较麻烦的,因为我们可能在聚类前并不知道数据集到底要被聚成几类。例如,下面的示意图中,感觉聚成 2 类或者 4 类都是比较合理的。

使用 Mini Batch K-Means 进行图像压缩

针对一张成都著名景点:锦里的图片,通过 Mini Batch K-Means 的方法将相近的像素点聚合后用同一像素点代替,以达到图像压缩的效果。

机器学习|划分聚类之 K-Means 详解 (Python 语言描述)

划分聚类,顾名思义,通过划分的方式将数据集划分为多个不重叠的子集(簇),每一个子集作为一个聚类(类别)。

在划分的过程中,首先由用户确定划分子集的个数 `k`,然后随机选定 `k` 个点作为每一个子集的中心点,接下来通过迭代的方式:计算数据集中每个点与各个中心点之间的距离,更新中心点的位置;最终将数据集划分为 `k` 个子集,即将数据划分为 `k` 类。

而评估划分的好坏标准就是:保证同一划分的样本之间的差异尽可能的小,且不同划分中的样本差异尽可能的大。

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×