精华内容
下载资源
问答
  • 聚类算法优缺点总结

    千次阅读 2020-07-01 23:57:12
    聚类算法优缺点总结 目录 K均值算法 二分K-均值算法 Min单链凝聚层次聚类 Max全链凝聚层次聚类 组平均凝聚层次聚类 Ward方法 质心方法 Lance-Williams公式 DBSCAN密度聚类 聚类算法分析的角度 数据具有大小很不同...

    聚类算法优缺点总结

    目录

    1. K均值算法
    2. 二分K-均值算法
    3. Min单链凝聚层次聚类
    4. Max全链凝聚层次聚类
    5. 组平均凝聚层次聚类
    6. Ward方法
    7. 质心方法
    8. Lance-Williams公式
    9. DBSCAN密度聚类

    聚类算法分析的角度

    数据具有大小很不同的簇
    高维数据
    具有离群点的数据
    具有高度不规则区域的数据
    具有球形簇的数据
    具有很不相同的密度的数据
    具有少量噪声点的数据
    非欧几里得数据
    欧几里得数据
    具有许多属性和混合属性的数据

    1.K均值算法

    目标函数:最小化每个点到最近质心的距离的平方,即最小化SSE。
    优点:
    (1)原理比较简单,实现也是很容易,收敛速度快。
    (2)局部最优。
       (3)算法的可解释度比较强。
        (4)主要需要调参的参数仅仅是簇数k。
    (5)对处理大数据集,该算法保持可伸缩性和高效性
    (6)当簇接近高斯分布时,它的效果较好
    缺点:
    (1)处理空簇,如果所有点在指派步骤都未分配到某个簇,就会得到空簇
    (2)对噪声和异常点比较敏感
    (3)K值不好把握
    (4)对于不是凸的数据集比较难收敛
    (5)如果各隐含类别的数据不平衡,比如各隐含类别的数据量严重失衡,或者各隐含类别的方差不同,则聚类效果不佳
    (6)采用迭代方法,得到的结果只是局部最优
    (7)初始聚类中心的选择
    适用的数据类型:
    适用于各种数据类型,比较符合随机分布的欧几里得数据,但是不能处理非球形簇,不同尺寸和不同密度的簇

    2. 二分K-均值算法

    目标函数:从二分试验中选择具有最小总SSE的两个簇
    优点:与K均值相同,而且更有效(初始点的选择)
    缺点:与K均值相同
    适用的数据类型:与K均值相同

    3. K-means ++算法

    目标函数:通过选择较大的数据点作为质心使总SSE最小
    优点:与K均值相同,而且更有效(初试质心的选择)
    缺点:与K均值相同
    适用的数据类型:与K均值相同

    4. Min单链凝聚层次聚类

    目标函数:不同两个聚类中离得最近的两个点之间的距离
    优点:
    (1) 不需要指定K值
    (2) 产生高质量的聚类
    缺点:
    (1) 对于计算量和存储需求而言,此算法是昂贵的
    (2) 所有的合并都是最终的,对于噪声,高维数据,可能造成问题
    (3) 缺乏全局目标函数
    (4) 不能很好的处理不同大小簇的能力
    适用的数据类型:单链技术擅长于处理非椭圆形状的簇,但对噪声和离群点很敏感,适用于基本应用需要层次结构,创建一种分类方法,不适用于高维数据,适用于具有少量噪声并且具有欧几里得数据

    5. Max全链凝聚层次聚类

    目标函数:不同两个聚类中离得最远的两个点之间的距离
    优点:与凝聚层次聚类相同
    缺点:与凝聚层次聚类相同
    适用的数据类型:与凝聚层次聚类相同

    6. 组平均凝聚层次聚类

    目标函数:不同两个聚类中所有点对距离的平均值
    优点:与凝聚层次聚类相同
    缺点:与凝聚层次聚类相同
    适用的数据类型:与凝聚层次聚类相同

    7. Ward方法

    目标函数:最小化两个簇合并时导致的平方误差的增量
    优点:与凝聚层次聚类相同
    缺点:与凝聚层次聚类相同
    适用的数据类型:与凝聚层次聚类相同

    8. 质心方法

    目标函数:计算簇质心之间的距离来计算两个簇之间的邻近度
    优点:
    (1) 与凝聚层次聚类相同
    (2) 倒置的可能性
    缺点:与凝聚层次聚类相同
    适用的数据类型:与凝聚层次聚类相同

    9. DBSCAN密度聚类

    目标函数: 给定eps和minpts来聚类
    优点:
    (1) 相对抗噪声的
    (2) 能够处理任意形状和大小的簇,这也是比K均值好的地方
    (3) 聚类结果没有偏倚,而K-means聚类算法对初始值要求很高
    缺点:
    (1) 不能处理密度变化太大以及聚类间距相差很大的簇,不然效果比较差
    (2) 不能处理高维数据
    (3) 如果样本集较大时,聚类收敛时间较长
    (4) 需要进行调参,eps和minpts的参数确定
    (5) 算法聚类效果依赖距离公式的选取
    适用的数据类型:不能高维,簇密度不能变化太大,聚类间距也不能太大,样本集合适。

    展开全文
  • kmeans聚类算法,kmeans聚类算法优缺点,matlab源码
  • kmeans聚类算法,kmeans聚类算法优缺点,matlab源码.rar
  • Kmeans聚类定义、KMeans聚类的步骤、Kmeans聚类常见问题及改进、Kmeans聚类的变形、Kmeans聚类优缺点 目录 Kmeans聚类定义、KMeans聚类的步骤、Kmeans聚类常见问题及改进、Kmeans聚类的变形、Kmeans聚类...

    Kmeans聚类定义、KMeans聚类的步骤、Kmeans聚类常见问题及改进、Kmeans聚类的变形、Kmeans聚类的优缺点

     

    目录

    展开全文
  • kmeans聚类分析,无监督学习实现Matlab代码
  • 聚类算法优缺点分析

    千次阅读 2020-12-11 10:03:46
    分析 算法 定义 优点 缺点 Kmeans 简单、高效、快速收敛、当簇接近高斯分布式,聚类效果好 必须定义平均值,K事先给定,K的值影响聚类效果,对异常值影响大 DBSCAN 可以对任意形状进行聚类,对异常值不敏感 对簇密度...

    分析

     

    算法定义优点缺点
    Kmeans 简单、高效、快速收敛、当簇接近高斯分布式,聚类效果好必须定义平均值,K事先给定,K的值影响聚类效果,对异常值影响大
    DBSCAN 可以对任意形状进行聚类,对异常值不敏感对簇密度相差较大,不均匀的话,聚类效果不好,样本大,收敛时间长
    凝聚式层次聚类 速度快,对异常值影响不大,使用内存小对高斯簇聚类效果不好
    EM算法   
    基于图 使用降维技术,适合高维空间。对聚类类别少准确率高。对参数敏感,不适合簇里面的样本点少

    如何在sklearn调用

     

    算法名称函数
    K均值聚类算法from sklearn.cluster import KMeans
    小批量K均值算法from sklearn.cluster import MiniBatchKMeans
    BIRCH层次聚类ffrom sklearn.cluster import Birch
    .EM算法from sklearn.mixture import GaussianMixture
    DBSCAN算法from sklearn.cluster import DBSCAN
    OPTICS算法from sklearn.cluster import OPTICS
    Mean Shift算法from sklearn.cluster import MeanShift
    谱聚类算法from sklearn.cluster import SpectralClustering

     

    [refers](https://blog.csdn.net/weixin_41019798/article/details/103507875)

     

    展开全文
  • kmeans-聚类优缺点

    千次阅读 2019-07-18 20:17:59
    K-Means要点:  1)对于K-Means算法,首先要注意的是k值的选择,一般来说,我们会根据对数据的先验...由于我们是启发式方法,k个初始化的质心的位置选择对最后的聚类结果和运行时间都有很大的影响,因此需要选择...

     

    K-Means要点:

        1)对于K-Means算法,首先要注意的是k值的选择,一般来说,我们会根据对数据的先验经验选择一个合适的k值,如果没有什么先验知识,则可以通过交叉验证选择一个合适的k值。

        2)在确定了k的个数后,我们需要选择k个初始化的质心,就像上图b中的随机质心。由于我们是启发式方法,k个初始化的质心的位置选择对最后的聚类结果和运行时间都有很大的影响,因此需要选择合适的k个质心,最好这些质心不能太近。

    •     输入是样本集,聚类的簇树k,最大迭代次数N
    •     输出是簇划分 

    步骤 :

        1) 从数据集D中随机选择k个样本作为初始的k个质心向量: 

        2)对于n=1,2,...,N

          a) 将簇划分C初始化为

          b) 对于i=1,2...m,计算样本和各个质心向量的距离:,将标记最小的为所对应的类别。此时更新

          c) 对于j=1,2,...,k,对中所有的样本点重新计算新的质心

          e) 如果所有的k个质心向量都没有发生变化,则转到步骤3)

        3) 输出簇划分

     

    K-Means初始化优化K-Means++

        k个初始化的质心的位置选择对最后的聚类结果和运行时间都有很大的影响,因此需要选择合适的k个质心。如果仅仅是完全随机的选择,有可能导致算法收敛很慢。K-Means++算法就是对K-Means随机初始化质心的方法的优化。

        K-Means++的对于初始化质心的优化策略也很简单,如下:

        a)  从输入的数据点集合中随机选择一个点作为第一个聚类中心
        b) 对于数据集中的每一个点,计算它与已选择的聚类中心中最近聚类中心的距离
        c) 选择一个新的数据点作为新的聚类中心,选择的原则是:较大的点,被选取作为聚类中心的概率较大
        d) 重复b和c直到选择出k个聚类质心
        e) 利用这k个质心来作为初始化质心去运行标准的K-Means算法

    K-Means距离计算优化elkan K-Means

        在传统的K-Means算法中,我们在每轮迭代时,要计算所有的样本点到所有的质心的距离,这样会比较的耗时。那么,对于距离的计算有没有能够简化的地方呢?elkan K-Means算法就是从这块入手加以改进。它的目标是减少不必要的距离的计算。那么哪些距离不需要计算呢?

        elkan K-Means利用了两边之和大于等于第三边,以及两边之差小于第三边的三角形性质,来减少距离的计算。

        第一种规律是对于一个样本点和两个质心。如果我们预先计算出了这两个质心之间的距离,则如果计算发现,我们立即就可以知道。此时我们不需要再计算,也就是说省了一步距离计算。

        第二种规律是对于一个样本点和两个质心。我们可以得到。这个从三角形的性质也很容易得到。

        利用上边的两个规律,elkan K-Means比起传统的K-Means迭代速度有很大的提高。但是如果我们的样本的特征是稀疏的,有缺失值的话,这个方法就不使用了,此时某些距离无法计算,则不能使用该算法。

     

    大样本优化Mini Batch K-Means

        在统的K-Means算法中,要计算所有的样本点到所有的质心的距离。如果样本量非常大,比如达到10万以上,特征有100以上,此时用传统的K-Means算法非常的耗时,就算加上elkan K-Means优化也依旧。在大数据时代,这样的场景越来越多。此时Mini Batch K-Means应运而生。

        顾名思义,Mini Batch,也就是用样本集中的一部分的样本来做传统的K-Means,这样可以避免样本量太大时的计算难题,算法收敛速度大大加快。当然此时的代价就是我们的聚类的精确度也会有一些降低。一般来说这个降低的幅度在可以接受的范围之内。

        在Mini Batch K-Means中,我们会选择一个合适的批样本大小batch size,我们仅仅用batch size个样本来做K-Means聚类。那么这batch size个样本怎么来的?一般是通过无放回的随机采样得到的。

        为了增加算法的准确性,我们一般会多跑几次Mini Batch K-Means算法,用得到不同的随机采样集来得到聚类簇,选择其中最优的聚类簇。

    K-Means与KNN

    1.     K-Means是无监督学习的聚类算法,没有样本输出;而KNN是监督学习的分类算法,有对应的类别输出。KNN基本不需要训练,对测试集里面的点,只需要找到在训练集中最近的k个点,用这最近的k个点的类别来决定测试点的类别。而K-Means则有明显的训练过程,找到k个类别的最佳质心,从而决定样本的簇类别。
    2.     当然,两者也有一些相似点,两个算法都包含一个过程,即找出和某一个点最近的点。两者都利用了最近邻(nearest neighbors)的思想。

    K-Means小结

        K-Means是个简单实用的聚类算法,这里对K-Means的优缺点做一个总结。

        K-Means点:

        1)原理比较简单,实现也是很容易,收敛速度快。

        2)聚类效果较优。

        3)算法的可解释度比较强。

        4)主要需要调参的参数仅仅是簇数k。

        K-Means缺点:

        1)K值的选取不好把握(改进:可以通过在一开始给定一个适合的数值给k,通过一次K-means算法得到一次聚类中心。对于得到的聚类中心,根据得到的k个聚类的距离情况,合并距离最近的类,因此聚类中心数减小,当将其用于下次聚类时,相应的聚类数目也减小了,最终得到合适数目的聚类数。可以通过一个评判值E来确定聚类数得到一个合适的位置停下来,而不继续合并聚类中心。重复上述循环,直至评判函数收敛为止,最终得到较优聚类数的聚类结果)。

        2)对于不是凸的数据集比较难收敛(改进:基于密度的聚类算法更加适合,比如DESCAN算法)

        3)如果各隐含类别的数据不平衡,比如各隐含类别的数据量严重失衡,或者各隐含类别的方差不同,则聚类效果不佳。

        4) 采用迭代方法,得到的结果只是局部最优。

        5) 对噪音和异常点比较的敏感(改进1:离群点检测的LOF算法,通过去除离群点后再聚类,可以减少离群点和孤立点对于聚类效果的影响;改进2:改成求点的中位数,这种聚类方式即K-Mediods聚类(K中值))。

               6)初始聚类中心的选择(改进1:k-means++;改进2:二分K-means,相关知识详见这里这里)。

    展开全文
  • 一、方法名字 1.基于质心的算法 K均值算法 K均值算法的优点: 1)是解决聚类问题的一种经典算法,简单、快速 2)对处理大数据集,该算法保持可伸缩性和高效性 3)当簇接近高斯分布时,它的效果较好。 K均值算法的...
  • KNN算法,K聚类优缺点

    千次阅读 2019-01-18 16:15:35
    优点 ① 简单,易于理解,易于实现,无需参数估计,无需训练; ② 对异常值不敏感(个别噪音数据对结果的影响不是很大); ③ 适合对稀有事件进行分类; ...④ 适合于多分类问题(multi-modal,...目前常用的解决方法是...
  • 聚类总结:各种聚类算法的分类、优缺点、适用场景总结
  • 缺点: 1,需要对均值给出定义, 2,需要指定要聚类的数目; 3,一些过大的异常值会带来很大影响; 4,算法对初始选值敏感; 5,适合球形聚类 层次聚类: 优点: 1,距离和规则的相似度容易定义,限制少; 2,不需要...
  • 1、DBSCAN原理、流程、参数设置、优缺点以及算法; 2、matlab代码实现; 3、C++代码实现及与matlab实例结果比较。 摘要:介绍DBSCAN原理、流程、参数设置、优缺点以及算法的matlab和C++代码实例。
  • 模糊C均值聚类,模糊c均值聚类算法的优缺点,matlab源码
  •    k 均值聚类法 快速高效,特别是大量数据时,准确性高一些,但是... (同上)在聚类分析中,我们常用的聚类方法有快速聚类(迭代聚类)和层次聚类。其中层次聚类容易受到极值的影响,并且计算复杂速度慢不适合大...
  • k 均值聚类法 快速高效,特别是大量数据时... (同上)在聚类分析中,我们常用的聚类方法有快速聚类(迭代聚类)和层次聚类。其中层次聚类容易受到极值的影响,并且计算复杂速度慢不适合大样本聚类;快速聚类虽然速度快
  • 这是最近在某呼收到的一个提问“k-means聚类算法的优缺点,以及有没有什么改进的方法?”下面就来谈谈自己的观点。 优点: 应用广泛,速度快,鲁棒性强;对于未知特性的数据集都可以先用K-means去试试。 缺点: 有...
  • 模糊C均值聚类(FCM),模糊c均值聚类算法的优缺点,matlab源码
  • 基于模糊C均值的快速点云的聚类分析代码,可用于模糊聚类
  • 模糊均值聚类算法。
  • 层次聚类定义、层次聚类过程可视化、簇间距离度量、BIRCH、两步聚类、BIRCH算法优缺点 目录 层次聚类定义、层次聚类过程可视化、簇间距离度量、BIRCH、两步聚类、BIRCH算法优缺点 层次聚类定义 层次聚类过程可视...
  • 聚类算法总结 - 优缺点对比

    万次阅读 2019-08-27 09:55:19
    聚类算法是一种无监督的算法,由于不需要训练集,算法简单快速,引用在一些工程里比较简单突出,今天来了解一下聚类算法。 k-means算法(k均值算法) 算法步骤: (1)随机选取 K 个点,作为 K 类的聚类中心,用 ...
  • 聚类算法(二)—— 优缺点对比

    千次阅读 2020-07-10 18:47:45
    各种聚类算法优缺点: https://blog.csdn.net/randompeople/article/details/91351177 总结下: Kmeans 优点: 简单快速 可处理大数据集,高效可伸缩,复杂度O(nkt),经常以局部最优结束 尝试找出使平方误差...
  • 几中聚类算法的优缺点比较总结

    万次阅读 2012-07-25 20:27:06
    缺点:1,需要对均值给出定义,2,需要指定要聚类的数目;3,一些过大的异常值会带来很大影响;4,算法对初始选值敏感;5,适合球形聚类 层次聚类: 优点:1,距离和规则的相似度容易定义,限制少;2,不需要预先...
  • 各种聚类算法的介绍和比较

    万次阅读 多人点赞 2017-11-15 15:25:00
    一、简要介绍1、聚类概念聚类就是按照某个特定标准(如距离准则)把一个数据集分割成不同的类或簇,使得同一个簇内的数据对象的相似性尽可能大,同时不在同一个簇中的数据对象的差异性也尽可能地大。即聚类后同一类的...
  • 聚类算法概述,K-Means算法,聚类算法的衡量指标,层次聚类方法,密度聚类方法及谱聚类方法详述。
  • 各种聚类算法的优缺点总结比较,以及分类算法的描述,一维的

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 12,615
精华内容 5,046
关键字:

各种聚类方法的优缺点