无监督学习中的常用聚类算法总结

聚类是一个把数据对象集划分成多个组或簇的过程,使得簇内的对象具有很高的相似性,但与其他簇中的对象很不相似。通常涉及距离度量。数据对象的簇可以看做隐含的类。在这种意义下,聚类有时又称自动分类。聚类可以自动地发现这些分组,这是聚类分析的突出优点。

聚类被称做无监督学习,因为没有提供类标号信息。由于这种原因,聚类是通过观察学习,而不是通过示例学习。 

 

(1)K-均值:一种基于形心得技术

基于形心的划分技术使用簇《无监督学习中的常用聚类算法总结》的形心代表该簇。形心可用多种方式定义,如用分配给该簇的对象(或点)的均值或中心点定义。对象《无监督学习中的常用聚类算法总结》度量(两个点的欧式距离)。簇《无监督学习中的常用聚类算法总结》的质量可用簇内变差度量,它是《无监督学习中的常用聚类算法总结》中所有对象和形心《无监督学习中的常用聚类算法总结》

之间的误差的平方和

《无监督学习中的常用聚类算法总结》

《无监督学习中的常用聚类算法总结》的形心。换言之,对于每个簇中的每个对象,求对象到其簇中心距离的平方,然后求和。

K-均值算法步骤:

第一步 在D中随机地选择k个对象,每个对象代表一个簇的初始均值或中心。对剩下的每个对象,根据其与各个簇中心的欧式距离,将它分配到最相似的簇。

第二步 k-均值算法迭代地改善簇内变差。对于每个簇,它使用上次迭代分配到该簇的对象,计算新的均值。

第三步使用更新后的均值作为新的簇中心,重新分配所有对象。

第四步迭代继续,直到分配稳定,即本轮形成的簇与前一轮形成的簇相同。

《无监督学习中的常用聚类算法总结》(该图像取自韩家炜老师《数据挖掘概念与技术》)

该方法不能保证k-均值方法收敛于全局最优解,并且它常常终止于一个局部最优解。结果可能依赖于初始簇中心的随机选择。实践中,为了得到好的结果,通常以不同的初始簇中心,多次运行k-均值算法。

该算法的复杂度是O(nkt),其中n是对象总数,k是簇数,t是迭代次数。处理大数据集,该算法是相对可伸缩的和有效的。

 

(2)k-众数方法

k-均值算法的一个变体,它扩展了k-均值范例,用簇众数取代簇均值来聚类标称数据。采用基于频率的方法来更新簇的众数。

 

(1)(2)算法的缺点是用户必须事先给出要生成的簇数k;此外,k-均值算法对噪声和离群点敏感,因为少量的这类数据能对均值产生极大的影响。

(3)k-中心点:一种基于代表对象的技术

如何修改k-均值算法,降低它对离群点的敏感性?可以不采用对象的均值作为参照点,而是挑选实际对象来代表簇,每个簇使用一个代表对象。其余每个对象被分配到与其最为相似的代表性对象所在的簇中。于是,划分方法基于最小化所有对象p与其对应的代表对象之间的相异度之和的原则来进行划分,即,基于一个绝对误差标准。

《无监督学习中的常用聚类算法总结》

当k=1时,可以在O(n^2)时间内找出准确的中位数。当k是一般的正整数时,k-中心点问题是NP-困难的围绕中心点划(partitioning around medoids,PAM)算法是k-中心点聚类的一种流行的实习。它用迭代、贪心方法处理该问题。与k-均值算法一样,初始代表(称作种子)任意选取。我们考虑用一个非代表对象替换一个代表对象是否能够提高聚类质量。尝试所有可能的替换。继续用其他对象替换代表对象的迭代过程,直到结果聚类的质量不可能被任何替换提高。质量用对象与其簇中代表对象的平均相异度的代价函数度量。

《无监督学习中的常用聚类算法总结》是当前代表对象(即中心点)的集合。为了决定一个非代表对象《无监督学习中的常用聚类算法总结》是否是一个当前中心点《无监督学习中的常用聚类算法总结》的好的替代,计算每个对象p到集合《无监督学习中的常用聚类算法总结》中最近对象的距离,并使用该距离更新代价函数。对象重新分配到《无监督学习中的常用聚类算法总结》中是简单的。假设对象p当前被分配到中心点《无监督学习中的常用聚类算法总结》表的簇,取决于哪个最近。

每当重新分配发生时,绝对误差E的差对代价函数有影响。如果一个当前的代表对象被非代表对象所取代,则代价函数就计算绝对误差值得差。交换的总代价是所有非代价对象所产生的代价之和。如果总代价为负,则实际的绝对误差E将会减少,《无监督学习中的常用聚类算法总结》取代或交换。如果总代价为正,则认为当前的代表对象《无监督学习中的常用聚类算法总结》是可接受的。

当存在噪声和离群点时,k-中心点方法比k-均值更鲁棒性(算法的稳定性,就是被测数据出现“震动”(受到干扰)时,算法得到的结论是否相对稳定)这是因为中心点不像均值那样容易受离群点或其他极端值影响。K-中心点算法的每次迭代的复杂度是《无监督学习中的常用聚类算法总结》,其中有一个n-k是基于贪心算法的迭代次数。当n和k的值较大时,这种计算开销变得相当大。

 

 

 

    原文作者:聚类算法
    原文地址: https://blog.csdn.net/american199062/article/details/51475006
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞