天才一秒记住【畅想小说网】地址:http://www.cxtra.net
自下而上的层次聚类开始时把每个元素作为单独的簇,然后逐渐合并相近的簇,直至满足算法约定的条件后停止。
而自上而下的层次聚类开始时将所有元素放在一个簇中,每次迭代将一个簇分解成更小的簇,直至满足算法约定的条件后停止。
层次聚类通常是使用距离或者使用密度和连通性进行聚类的,它的缺陷在于一旦合并或者分裂的步骤完成,将不能撤销,它的好处是计算量较小。
这类方法的代表有AGNES、DIANA等。
3.基于密度的聚类方法
当聚类方法是使用距离判断元素之间的相似性时,对聚类对象的形状是敏感的。
当簇的形状是球形(凸的)时,这样的方法更有效;而对于任意形状的簇,基于距离的聚类方法很可能效果较差甚至失效。
对于这样的任务,可以使用基于密度的聚类方法。
它使用的基本原理是,当把集合中的某些元素放在一起时,如果每个元素附近元素的“密度”
都大于某个阈值,则把这些元素看成是一个簇。
这类方法的代表是DBS聚类方法。
4.其他的聚类方法
除了上述聚类方法,还有基于网格的聚类、利用神经网络的聚类、基于概率的聚类等。
当使用聚类方法时,有以下问题是需要评估和注意的。
评估聚类趋势。
只有在具有非随机结构的集合上才考虑使用聚类方法,否则很可能返回无意义的结果。
非随机结构表明集合存在某种内在的可划分的结构,所以才值得使用聚类方法去探索这种结构,否则划分的结果就是无意义的。
例如,下面图5-1左侧图中的点几乎是均匀分布的,尽管聚类算法可以按要求返回几个簇,但这些簇其实并没有实际含义;而图5-1右侧图中的点明显分成两个部分,就可以尝试使用聚类方法去找到划分这两个集合的方式。
如何评价所考查的集合的聚类趋势,如何判断其中是否有非随机结构?可以通过一种简单有效的统计量——霍普金斯(Hopkins)统计量来实现。
具体细节不在这里赘述。
图5-1
评估聚类质量。
评估聚类质量是个复杂的问题,需要明确的一点是,聚类是根据数据的内在特征给出的某种意义下的划分,并没有唯一正确的答案。
笼统地说,当有专家意见或者经验可供参考时,可据此评估聚类结果的好坏,这称为外在方法。
如果没有类似的基准可以参考,则根据聚类产生的类别的分离情况进行评价,这称为内在方法。
外在方法很多情况下是不实用的,例如,用来聚类的数据量很大时,通过人工对聚类质量进行评估就成为非常耗时甚至不可能完成的任务了。
当可以使用距离的概念时(注意这并不总是可行的,它依赖于数据的类型),使用内在方法评估聚类质量的一个简单方法是计算每个簇距离中心的误差平方和,误差平方和越小说明这个簇内的元素差异越小,聚类质量也越好。
更复杂一些,可以使用轮廓系数(Sihouettet)、兰德指数(RandIndex)、互信息(MutualInformation)等进行评价,在提供聚类工具的Python库中,一般可以直接调用这些评价方法,这里不再详细说明。
本章未完,请点击下一章继续阅读!若浏览器显示没有新章节了,请尝试点击右上角↗️或右下角↘️的菜单,退出阅读模式即可,谢谢!