第九章 聚类

9.1 聚类任务

在 “无监督学习 " (unsupervised learning)中,训练样本的标记信息是未知的,目标是通过对无标记训练样本的学习来揭示数据的内在性质及规律,为进一步的数据分析提供基础.此类学习任务中研究最多、应 用 最 广 的 是 “聚类 ”(clustering)。

聚类既能作为一个单独过程,用于找寻数据内在的分布结构,也可作为分类等其他学习任务的前驱过程.例如,在一些商业应用中需对新用户的类型进行判别,但 定 义 “用户类型”对商家来说却可能不太容易,此时往往可先对用户数据进行聚类,根据聚类结果将每个簇定义为一个类,然后再基于这些类训练分类模型,用于判别新用户的类型。

9.2 性能度量

聚类性能度量亦称聚类“有效性指标”(validity index)。聚类是将样本集。 划分为若干互不相交的子集,即样本簇。直观上看,我们希望 “物以类聚”,即同一簇的样本尽可能彼此相似,不同簇的样本尽可能不同.换言之,聚类结果的“簇内相似度”(intra-cluster similarity)高且 “簇间相似度”(inter-cluster similarity)低。

聚 类 性 能 度 量 大 致 有 两 类 .一 类 是 将 聚 类 结 果 与 某 个 “参考模型 ”(reference model)进行比较,称为 “外部指标”(external index);另一类是直接考察聚类结果而不利用任何参考模型,称为“内部指标”(internal index).

常用的聚类性能度量外部指标:

上述性能度量的结果值均在[0,1]区间,值越大越好。

常用的聚类性能度量内部指标:

DBI的值越小越好,而DI则相反,值越大越好。

9.3 距离计算

对函数dist(·,·),若它是一个“距离度量”(distance measure),则需满足一些基本性质:

“闵可夫斯基距离“:

闵可夫斯基距离(Minkowski Distance)是欧几里得距离(Euclidean Distance)和曼哈顿距离(Manhattan Distance)的概括,它是一种用于度量两个点在n维空间中的距离的公式。闵可夫斯基距离的一般形式如下:

其中:

  • ( D(p, q) ) 表示点 ( p ) 和点 ( q ) 之间的闵可夫斯基距离。

  • ( p ) 和 ( q ) 是n维空间中的两个点,( p_i ) 和 ( q_i ) 分别是点 ( p ) 和 ( q ) 在第 ( i ) 维的坐标。

  • ( p ) 是距离公式中的一个参数,它决定了距离的类型。

当 ( p ) 取不同的值时,闵可夫斯基距离可以表示不同的距离度量:

  1. 当 ( p = 1 ) 时,闵可夫斯基距离简化为曼哈顿距离(Manhattan Distance),也称为L1距离或城市街区距离,计算公式为:

  2. 当 ( p = 2 ) 时,闵可夫斯基距离简化为欧几里得距离(Euclidean Distance),也称为L2距离,计算公式为:

  3. 当 ( p ) 趋向于无穷大时,闵可夫斯基距离趋向于切比雪夫距离(Chebyshev Distance),也称为L∞距离,计算公式为:

闵可夫斯基距离在机器学习和数据科学中广泛应用,特别是在聚类算法(如K-means)和降维技术(如PCA)中,用于衡量数据点之间的相似性或距离。不同的 ( p ) 值可以提供不同的距离度量特性,适用于不同的应用场景。

常将属性划分为"连续属性"和"离散属性",前者在定义域上有无穷多个可能的取值,后者在定义域上是有限个取值。然而,在讨论距离计算时,属性上是否定义了"序"关系更为重要。

9.4 原型聚类

原型聚类亦称 "基于原型的聚类 " (prototype based clustering) ,此类算法假设聚类结构能通过 一组原型刻画,在现实聚类任务中极为常用.通常情形下, 算法先对原型进行初始化,然后对原型进行迭代更新求解. 采用不同的原型表示、不同的求解方式,将产生不同的算法。下面介绍几种著名的原型聚类算法.

9.4.1 k均值算法

k均值算法是最常用的原型聚类算法之一。它的基本思想是:

  1. 随机选择k个数据点作为初始聚类中心。

  2. 将每个数据点分配给最近的聚类中心,形成k个聚类。

  3. 重新计算每个聚类的中心点,通常是该聚类中所有点的均值。

  4. 重复步骤2和3,直到聚类中心不再发生变化或达到一定的迭代次数。

k均值算法简单、快速,但也有一些缺点,比如对初始聚类中心敏感,可能收敛到局部最优解,且需要预先指定聚类数目k。

9.4.2 学习向量量化

学习向量量化是k均值的一种变体,它在神经网络的背景下被提出,用于分类问题。LVQ的基本思想是:

  1. 随机初始化一组原型向量,这些原型向量代表不同的类别。

  2. 对于每个输入数据点,找到最近的原型向量。

  3. 如果输入数据点的类别与原型向量相同,则增加原型向量与输入数据点的距离;如果不同,则减小距离。

  4. 重复步骤2和3,直到原型向量收敛。

LVQ的优点是它可以直接用于分类问题,并且可以处理非球形的聚类。但是,它同样需要预先指定原型向量的数量。

9.4.3 高斯混合聚类

高斯混合聚类是一种基于概率模型的聚类方法,它假设数据是由多个高斯分布混合而成的。GMM的基本思想是:

  1. 假设数据由k个高斯分布混合而成,每个分布有其均值、协方差和混合系数。

  2. 使用期望最大化(Expectation-Maximization, EM)算法来估计这些参数。

  3. 在E步骤中,计算每个数据点属于每个高斯分布的概率。

  4. 在M步骤中,根据这些概率更新每个高斯分布的参数。

  5. 重复步骤3和4,直到参数收敛。

GMM的优点是它提供了一种软聚类的方法,即数据点可以以一定的概率属于多个聚类。此外,它不需要预先指定聚类数目,可以通过模型选择方法(如AIC或BIC)来确定。但是,GMM假设每个聚类都是高斯分布,这在实际应用中可能不总是成立。

9.5 密度聚类

密度聚类亦称"基于密度的聚类",此类算法假设聚类结构能通过样本分布的紧密程度确定。通常情形下,密度聚类算法从样本密度的角度来考察样本之间的可连接性,并基于可连接样本不断扩展聚类簇以获得最终的聚类结果。

DBSCAN是一种著名的密度聚类算法:

基于这些概念,DBSCAN将"簇"定义为:由密度可达关系导出的最大的密度相连样本集合。

主要特点:
  1. 无需指定聚类数目:DBSCAN不需要预先指定聚类的数量,这是它与k均值等算法的主要区别之一。

  2. 识别任意形状的聚类:DBSCAN能够识别非球形的聚类,这使得它在处理复杂数据分布时非常有效。

  3. 噪声处理:DBSCAN能够识别并处理噪声点,即那些不属于任何聚类的点。

工作原理:
  1. 定义参数:DBSCAN需要两个参数,eps(epsilon)和minPts(最小点数)。eps定义了邻域的大小,而minPts定义了要形成一个聚类所需的最小点数。

  2. 核心点:如果一个点的eps邻域内至少包含minPts个点(包括它自己),那么这个点被称为核心点。

  3. 边界点:如果一个点不是核心点,但它位于核心点的eps邻域内,那么这个点被称为边界点。

  4. 噪声点:既不属于核心点也不属于边界点的点被标记为噪声点。

  5. 聚类形成:通过连接核心点及其邻域内的点来形成聚类。如果两个核心点的邻域相交,那么它们可以合并为一个更大的聚类。

  6. 迭代过程:重复上述过程,直到所有点都被访问并分类为核心点、边界点或噪声点。

优点:

  • 能够识别任意形状的聚类。

  • 能够识别并处理噪声点。

  • 不需要预先指定聚类数目。

缺点:

  • 对参数epsminPts敏感,需要根据数据集进行调整。

  • 对于大型数据集,计算成本可能较高,尤其是在高维空间中。

  • 在聚类分布非常不均匀的数据集中,可能难以确定合适的eps值。

9.6 层次聚类

层次聚类试图在不同层次对数据集进行划分,从而形成树形的聚类结构。数据集的划分可采用"自底向上"的聚合策略,也可采用"自顶向下"的分拆策略。

AGNES是一种采用自底向上聚合策略的层次聚类算法。它先将数据集中的每个样本看作一个初始聚类簇,然后在算法运行的每一步中找出距离最近的两个聚类簇进行合并,该过程不断重复,直至达到预设的聚类簇个数。这里的关键是如何计算聚类簇之间的距离。实际上,每个簇是一个样木集合,因此,只需采用关于集合的某种距离即可。

AGNES(AGglomerative NESting)是一种采用自底向上聚合策略的层次聚类算法。它首先将数据集中的每个样本视为一个初始聚类簇,然后在每一步中找到距离最近的两个聚类簇进行合并。这个过程不断重复,直到达到预定的聚类簇个数。

在AGNES算法中,簇间距离的计算方法有多种,包括:

  1. 最小距离(Single Linkage):取两个类中距离最近的两个样本的距离作为这两个簇的距离。

  2. 最大距离(Complete Linkage):取两个类中距离最远的两个样本的距离作为这两个簇的距离。

  3. 平均距离(Average Linkage):计算两个簇中所有样本对之间的平均距离。

AGNES算法的关键步骤如下:

  1. 初始化:将每个对象视为一个初始聚类簇。

  2. 重复以下步骤直到满足终止条件:

    • 计算任意两个聚类簇的距离。

    • 找到距离最近的两个聚类簇并合并它们,形成新的聚类簇集合。

  3. 终止条件可以是达到预设的聚类簇个数或者距离阈值。

AGNES算法的优点是不需要预先指定聚类数目,且能够识别任意形状的聚类。然而,它对初始聚类中心的选择敏感,且在大规模数据集上计算成本可能较高。此外,AGNES算法的可扩展性较差,算法复杂度较高,这可能会影响其在大型数据集上的性能。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值