信息检索与数据挖掘 | (十二)聚类

news/2024/5/20 9:13:27 标签: 数据挖掘, 聚类, 机器学习

文章目录

  • 📚聚类
  • 📚KMeans
  • 📚层次聚类
    • 🐇层次聚类概述
    • 🐇dendrogram-树状图
    • 🐇linkages-衡量两个类之间的距离
    • 🐇Lance-Williams算法
    • 🐇K-means VS 层次聚类
  • 📚DBSCAN

📚聚类

  • 定义聚类是一种无监督学习,样本没有标签,将一群样本划分到一个类中,使得:最大化类间距,最小化类内

  • 距离测量指标
    在这里插入图片描述

  • 四种聚类

    1. 基于质心聚类,使用中心表示该簇(K-means,K-medoids)

    2. 基于链接聚类:层次聚类-在一定阈值处切断树,从而得到几个类

    3. 基于密度聚类,DBSCAN,OPTICS,将高密度的区域连接起来

    4. 基于分布聚类,Mixture models

📚KMeans

  • K-means的思想:最小化数据到中心点的方差S,算法的目标是最小化数据点与所属簇中心之间的平方距离之和。

    在这里插入图片描述

  • K-means 算法步骤

    1. 初始化:选择 k 个初始聚类中心(可以是随机选择或根据特定的策略选择),每个数据点被分配到离其最近的聚类中心所对应的簇。
    2. 迭代更新:重复以下步骤直到达到停止条件(例如,聚类中心不再发生变化):
      • 计算每个簇的新聚类中心:将每个簇内的所有数据点的坐标取平均值,得到新的聚类中心。
      • 将每个数据点重新分配到离其最近的新聚类中心所对应的簇。
    3. 输出结果:当算法终止时,得到 k 个簇,每个簇包含一组数据点,以及每个簇的聚类中心。

  • 但是如果是一个NP-hard问题,可以使用启发式搜索

    • 随机选K个中心点,然后将剩下的数据点按照距离划到相应的类中,同时更新每类的中心点,然后继续划分,划分后更新中心点,不断重复直至收敛。
      在这里插入图片描述

    • 保证在有限的迭代次数内收敛(有限收敛)

    • 数据点划分到距离最近的簇中心点所需时间为O(KN)

    • 重新计算簇中心点的时间为O(N)

  • K-means的问题:

    • 初始化的方式有可能导致划分结果完全不同,所以我们要对之进行避免

      • 解决方法
        • 可以多次运行,然后选择error最小的聚类方式
        • 不使用随机的方式选择初始点,比如选择最远的点作为聚类中心(kmeans++)
    • 首先随机选择第一个类的中心点,然后计算剩余点的距离,在选取第n+1个聚类中心时:距离当前n个聚类中心越远的点会有更高的概率被选为第n+1个聚类中心。

  • K-means的限制

    1. 簇是不同大小的话,不能很好的划分

    2. 簇有密度之分的话,也不能很好的划分

    3. 簇是非球形的话,划分结果也不好

    4. 解决方法:先划分出小的簇,然后合并成大簇。使用层次聚类或者基于密度的聚类可以克服以上三个问题。

  • Kmeans评价

    • 优点

      1. 简单,适用于规则不相交的簇
      2. 收敛相对较快
      3. 高效性,且时间复杂度为O(tkn)t是迭代次数,k是簇的个数,n是数据点的个数
    • 缺点

      1. 需要事先确定k的值
      2. 可能只收敛到局部最优解,需要尝试多种不同的初始中心
      3. 可能对噪声点和离群点敏感
      4. 有些集群的形状并不适用

📚层次聚类

🐇层次聚类概述

  • 层次聚类定义:一种无监督学习方法,用于将数据点划分为多个不同的聚类簇。该算法通过计算数据点之间的相似性或距离来构建层次结构,并根据相似性度量逐步合并或划分聚类簇。

  • 层次聚类思想:描述AB的相似度,A和B的相似性用最低共享内部节点的高度,相较于kmeans提供的是随机的结果,层次聚类提供的是确定性的结果,分为凝聚型层次聚类和分裂型层次聚类,主要关注自下而上或凝聚层次聚类

  • 层次聚类算法:开始每个点都是一类。然后确定距离最近的两个类,将之合并。重复直到只剩下一个类。

  • 层次聚类优点

    • 不需要预先指定聚类数目,可以根据数据的内在结构自动进行聚类
    • 能够捕捉到不同粒度的聚类结果,提供了更丰富的信息。
  • 层次聚类不足

    • 对于大规模数据集,计算复杂度较高。
    • 对噪声和离群点较为敏感。
    • 在处理非球形聚类簇或非线性可分数据时,效果可能不理想。

🐇dendrogram-树状图

  • 定义:树状图(dendrogram)是一种用于可视化层次聚类结果的图形表示方法。它将数据点和聚类簇按照层次结构展示,并显示它们之间的相似性或距离关系。

  • 结构:在树状图中,每个数据点都表示为一个叶节点(leaf node),而每个聚类簇则表示为一个内部节点(internal node)。叶节点和内部节点之间通过(branches)连接起来,形成一个树状结构。树状图的根节点(root node)表示整个数据集或最终的全局聚类簇。

  • 特点:树状图通常以垂直方向绘制,其中纵轴表示聚类簇之间的距离或相似性度量。根据树状图上的切割点,可以选择不同层次的聚类簇。根据需要,可以通过调整切割点来获取不同粒度的聚类结果。

  • 应用:树状图可以帮助我们直观地理解数据点之间的相似性和聚类结构。通过观察树状图,我们可以确定合适的聚类簇数目,或者选择合适的切割点来获取特定粒度的聚类结果。它在生物学、社会科学、计算机视觉等领域中被广泛使用。

🐇linkages-衡量两个类之间的距离

在这里插入图片描述

  • 两类距离

    • single linkage cut interpretation:对任意点xi,簇内存在一点xj,d(xi,xj)<=0.9
    • complete linkage cut interpretation:对任意点xi,其簇内的所有点都满足d(xi,xj)<=5
  • 各种问题

    • single linkage可能会划分出链条型的簇,簇不能太紧凑或者太分散
    • complete linkage可以避免链条型的簇,但是会受到过于紧凑簇的影响。因为它的分数是基于簇的最坏情况所以一个点可以更接近其他簇中的点,而不是它自己簇中的点。簇很紧凑,但距离不够远。
    • average linkage:不同于上述两个linkage,当我们切树状图的时候average linkage并不能给我们一个很好的解释。另外如果对结果简单应用一个单调递减变化,会影响最后的结果,从而我们不确定要使用哪种距离函数,而上述两个linkage没有这个问题

🐇Lance-Williams算法

  • Lance-Williams算法是一种用于层次聚类中的距离更新方法。它基于凝聚型层次聚类,在每次迭代中通过计算更新聚类簇之间的相似性或距离来合并最近的聚类簇。
  • Lance-Williams算法中聚类簇之间的连接方式:

    1. 单链接(Single Linkage):使用两个聚类簇中最近的两个数据点之间的距离作为聚类簇之间的距离。这种连接方式通常会导致产生长而细聚类簇。

    2. 完全链接(Complete Linkage):使用两个聚类簇中最远的两个数据点之间的距离作为聚类簇之间的距离。这种连接方式通常会产生更紧凑且密集聚类簇。

    3. 平均链接(Average Linkage):使用两个聚类簇中所有数据点对之间的平均距离作为聚类簇之间的距离。这种连接方式介于单链接和完全链接之间,能够平衡聚类簇的大小和紧密度。

  • 算法思想:Lance-Williams算法通过递归地更新聚类簇之间的距离矩阵来实现。在每次迭代中,根据选择的连接方式计算新合并的聚类簇与其他聚类簇之间的距离,并将这些距离更新到距离矩阵中。这个过程不断重复,直到满足停止条件或达到预定的聚类数目。

  • 特别注意:Lance-Williams算法只是层次聚类中的一种距离更新方法,而不是完整的层次聚类算法。它通常与其他聚类算法(如凝聚型层次聚类或K-means聚类)结合使用,以完成完整的聚类过程。

  • 下面的更新公式是所有linkage的统一公式:

在这里插入图片描述

  • Lance-Williams算法可以检测出离群点。

🐇K-means VS 层次聚类

  • K-means:低内存占用;计算快,时间复杂度 O ( n ) O(n) O(n);但是结果对随机的初始化非常敏感,同时初始簇的个数需要事先确定。

  • 层次聚类:是确定性的算法;树状图向我们展示了K的不同选择;仅需要一个距离矩阵,来看簇之间的不同;但是占用大量的内存,所需的计算也比K-means多。

📚DBSCAN

  • 基于密度聚类算法,簇是高密度的区域,噪声点位于低密度的区域。

  • 对于簇来说有两类点

    • core point:其以eps为半径的范围内有至少MinPts个点

    • border point:在eps范围内的点数少于MinPts,但是他是core point的邻居

  • 簇的概念

    • 对于簇C内的每个点p,存在一个C中的点q,p在q的eps-neighborhood内,而且,q是core point

    • 点p是点q的直接密度可达,当p在q的eps-neighborhood范围内,且q是core point。是一个非对称的关系,p是q的直接密度可达,但是q不一定是p的直接密度可达

      在这里插入图片描述

    • p是q的密度可达,当有一系列的点p1,p2,…,ps,p1=q,ps=p,对所有1<i<s-1,pi+1是pi的直接密度可达

      在这里插入图片描述

    • p到q密度连通,当存在一个点v,是p和q的密度可达点,是一个对称的关系

      在这里插入图片描述

  • 簇举例

    • C是数据集D的非空子集:
    • (1)对所有p,q属于D,若p属于C,q是p的密度可达,那么q也属于C(Maximality)
    • (2)对所有p,q属于C,p是q的密度可达(connectivity)
  • 定义噪声点:不属于任何一个类的点称为噪声点。

  • 基本原理:簇C中的所有点都是密度可达的。

    1. 首先对所有点找其eps淋雨内的点到个数,判断其是否是core point
    2. 在邻域图上找core point的连通分量,忽略所有的非core point
    3. 将非core point划分到其eps邻域的簇,否则认为其是噪声点

    在这里插入图片描述

  • DBSCAN可以处理不同形状和大小的簇,但是当不同簇的密度不同时,DBSCAN很难有很好的的效果。

  • 时间复杂度:计算每个neighborhood的时候需要O(logn)的复杂度,整个算法时间复杂度为O(nlogn)


http://www.niftyadmin.cn/n/5344956.html

相关文章

HarmonyOS应用模型概述

应用模型的构成要素 应用模型是HarmonyOS为开发者提供的应用程序所需能力的抽象提炼&#xff0c;它提供了应用程序必备的组件和运行机制。有了应用模型&#xff0c;开发者可以基于一套统一的模型进行应用开发&#xff0c;使应用开发更简单、高效。 HarmonyOS应用模型的构成要…

activiti解决实现ExecutionListener spring 自动注入@Autowired为null问题

在 Activiti 中&#xff0c;当使用 ExecutionListener 时&#xff0c;Spring 的自动注入机制&#xff08;例如 Autowired&#xff09;可能无法正常工作。这是因为 ExecutionListener 是由 Activiti 管理的&#xff0c;并不是由 Spring 管理的&#xff0c;所以无法通过 Autowire…

python调用http接口

在Python中&#xff0c;你可以使用内置的urllib库来调用HTTP接口。下面是一个简单的示例&#xff0c;展示如何使用urllib.request模块来发送GET请求&#xff1a; import urllib.request# 定义URL url "http://example.com/api"# 发送GET请求 response urllib.reque…

图像分类】【深度学习】【轻量级网络】【Pytorch版本】EfficientNet_V2模型算法详解

【图像分类】【深度学习】【轻量级网络】【Pytorch版本】EfficientNet_V2模型算法详解 文章目录 【图像分类】【深度学习】【轻量级网络】【Pytorch版本】EfficientNet_V2模型算法详解前言EfficientNet_V2讲解自适应正则化的渐进学习(Progressive Learning with adaptive Regul…

使用yum开源包管理器的GNU/Linux发行版创建本地repo源

风险告知 本人及本篇博文不为任何人及任何行为的任何风险承担责任&#xff0c;图解仅供参考&#xff0c;请悉知&#xff01;相关配置操作是在一个全新的演示环境下进行的&#xff0c;演示环境中没有任何有价值的数据&#xff0c;但这并不代表摆在你面前的环境也是如此。生产环境…

ID3, C4.5和CART的异同点

ID3, C4.5和CART都是决策树算法&#xff0c;它们在数据挖掘和机器学习中被广泛应用。下面是它们的一些异同点&#xff1a; 相同点&#xff1a; 都是用于构建决策树的算法&#xff0c;可以用于分类和回归问题。都使用了树结构来表示决策规则&#xff0c;通过对属性进行划分来进…

企业为何对数据可视化越发看重?

数据可视化&#xff0c;作为信息时代的一项重要技术&#xff0c;正在企业中崭露头角&#xff0c;逐渐成为业务决策和运营管理的得力助手。企业之所以对数据可视化如此重视&#xff0c;是因为它为企业带来了诸多实际利益和战略优势。 首先&#xff0c;数据可视化为企业提供了更…

2022-2023 ACM-ICPC Nordic Collegiate Programming Contest (NCPC 2022)

文章目录 A. Ace Arbiter题意:题解&#xff1a;代码&#xff1a; C. Coffee Cup Combo题意&#xff1a;题解&#xff1a;代码&#xff1a; D. Disc District题意&#xff1a;题解&#xff1a;代码&#xff1a; H. Highest Hill题意&#xff1a;题解&#xff1a;代码&#xff1a…