资讯 人工智能开发者
此为临时链接,仅用于文章预览,将在时失效

无监督聚类问题中,如何决定簇的最优数量?

作者:三川
2017/05/15 18:20

雷锋网按:聚类问题有一大经典难题:没有数据集的真实分类情况,我们怎么才能知道数据簇的最优数目?

本文会谈谈解决该问题的两种流行方法:elbow method(肘子法)和 silhouette method。

在监督学习里,某特定数据集的类(class)的数量,在一开始就是知道的——每个数据实例,都被标记归属于某个类。最坏的情况下,我们还可以盘查类属性( class attribute),计算其中包含的独特元素。

无监督聚类问题中,如何决定簇的最优数量?

但在无监督学习里,类属性或者明确的类成员划分是不存在的。想想也是,无监督学习的一个主要形式,就是数据聚类它的目标是通过最小化不同类之间的实例相似度、最大化同个类中的实例相似度,来进行大致的类成员划分。

众所周知,聚类问题有一个很大的技术难题——不管是以什么形式,开发者需要在一开始,就给出无标记数据集中的类的数目。足够幸运的话,你或许事先就知道数据的 ground truth——类的真实数目。但情况并不会总是如此。譬如说,或许数据中不存在定义明确的类(簇)。而无监督学习本来的意义,便是探索数据,找出使簇、类得数目达到最优的结构。

这就回到了文章开头的问题:不知道  ground truth 的情况下,怎么才能知道数据簇的最优数目是多少?这方面,倒是已经林林总总有相当多的处理方法。本文会讨论其中应用极广泛的两种方法。第一种,是 Elbow Method。

Elbow Method

elbow method 是上手首选,由于能通过可视化便利地解释、验证,它的用处很大。它用关于簇数目的函数来解释方差(k-means 里的 k)。它会绘制出能被 k 解释的方差的比例。第一批的 N 个簇应当会为解释方差添加大量信息。但是,有些 k 最终值会导致少得多的信息增量。这时,数据图会有明显的角度。该角度就是簇的最优数量。

雷锋网提醒,有一点应该是不言而喻、无须解释的:为了按照不同的簇数量绘制方差,需要对不同数目的簇进行测试。在绘制、比较结果之后,必须要有该聚类方法的成功、完整地迭代。

无监督聚类问题中,如何决定簇的最优数量?

Silhouette Method

Silhouette method 会衡量对象和所属簇之间的相似度——即内聚性(cohesion)。当把它与其他簇做比较,就称为分离性(separation)。该对比通过 silhouette 值来实现,后者在 [-1, 1] 范围内。Silhouette 值接近 1,说明对象与所属簇之间有密切联系;反之则接近 -1。若某模型中的一个数据簇,生成的基本是比较高的 silhouette 值,说明该模型是合适、可接受的。

无监督聚类问题中,如何决定簇的最优数量?

via kdnuggets;雷锋网编译


深度学习之神经网络特训班

20年清华大学神经网络授课导师邓志东教授,带你系统学习人工智能之神经网络理论及应用!

课程链接:http://www.mooc.ai/course/65

加入AI慕课学院人工智能学习交流QQ群:624413030,与AI同行一起交流成长


相关文章:

机器学习算法实践 K均值聚类的实用技巧

长按图片保存图片,分享给好友或朋友圈

无监督聚类问题中,如何决定簇的最优数量?

扫码查看文章

正在生成分享图...

取消
相关文章