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 ) 取不同的值时,闵可夫斯基距离可以表示不同的距离度量:
-
当 ( p = 1 ) 时,闵可夫斯基距离简化为曼哈顿距离(Manhattan Distance),也称为L1距离或城市街区距离,计算公式为:
-
当 ( p = 2 ) 时,闵可夫斯基距离简化为欧几里得距离(Euclidean Distance),也称为L2距离,计算公式为:
-
当 ( p ) 趋向于无穷大时,闵可夫斯基距离趋向于切比雪夫距离(Chebyshev Distance),也称为L∞距离,计算公式为:
闵可夫斯基距离在机器学习和数据科学中广泛应用,特别是在聚类算法(如K-means)和降维技术(如PCA)中,用于衡量数据点之间的相似性或距离。不同的 ( p ) 值可以提供不同的距离度量特性,适用于不同的应用场景。
常将属性划分为"连续属性"和"离散属性",前者在定义域上有无穷多个可能的取值,后者在定义域上是有限个取值。然而,在讨论距离计算时,属性上是否定义了"序"关系更为重要。
9.4 原型聚类
原型聚类亦称 "基于原型的聚类 " (prototype based clustering) ,此类算法假设聚类结构能通过 一组原型刻画,在现实聚类任务中极为常用.通常情形下, 算法先对原型进行初始化,然后对原型进行迭代更新求解. 采用不同的原型表示、不同的求解方式,将产生不同的算法。下面介绍几种著名的原型聚类算法.
9.4.1 k均值算法
k均值算法是最常用的原型聚类算法之一。它的基本思想是:
-
随机选择k个数据点作为初始聚类中心。
-
将每个数据点分配给最近的聚类中心,形成k个聚类。
-
重新计算每个聚类的中心点,通常是该聚类中所有点的均值。
-
重复步骤2和3,直到聚类中心不再发生变化或达到一定的迭代次数。
k均值算法简单、快速,但也有一些缺点,比如对初始聚类中心敏感,可能收敛到局部最优解,且需要预先指定聚类数目k。
9.4.2 学习向量量化
学习向量量化是k均值的一种变体,它在神经网络的背景下被提出,用于分类问题。LVQ的基本思想是:
-
随机初始化一组原型向量,这些原型向量代表不同的类别。
-
对于每个输入数据点,找到最近的原型向量。
-
如果输入数据点的类别与原型向量相同,则增加原型向量与输入数据点的距离;如果不同,则减小距离。
-
重复步骤2和3,直到原型向量收敛。
LVQ的优点是它可以直接用于分类问题,并且可以处理非球形的聚类。但是,它同样需要预先指定原型向量的数量。
9.4.3 高斯混合聚类
高斯混合聚类是一种基于概率模型的聚类方法,它假设数据是由多个高斯分布混合而成的。GMM的基本思想是:
-
假设数据由k个高斯分布混合而成,每个分布有其均值、协方差和混合系数。
-
使用期望最大化(Expectation-Maximization, EM)算法来估计这些参数。
-
在E步骤中,计算每个数据点属于每个高斯分布的概率。
-
在M步骤中,根据这些概率更新每个高斯分布的参数。
-
重复步骤3和4,直到参数收敛。
GMM的优点是它提供了一种软聚类的方法,即数据点可以以一定的概率属于多个聚类。此外,它不需要预先指定聚类数目,可以通过模型选择方法(如AIC或BIC)来确定。但是,GMM假设每个聚类都是高斯分布,这在实际应用中可能不总是成立。
9.5 密度聚类
密度聚类亦称"基于密度的聚类",此类算法假设聚类结构能通过样本分布的紧密程度确定。通常情形下,密度聚类算法从样本密度的角度来考察样本之间的可连接性,并基于可连接样本不断扩展聚类簇以获得最终的聚类结果。
DBSCAN是一种著名的密度聚类算法:
基于这些概念,DBSCAN将"簇"定义为:由密度可达关系导出的最大的密度相连样本集合。
主要特点:
-
无需指定聚类数目:DBSCAN不需要预先指定聚类的数量,这是它与k均值等算法的主要区别之一。
-
识别任意形状的聚类:DBSCAN能够识别非球形的聚类,这使得它在处理复杂数据分布时非常有效。
-
噪声处理:DBSCAN能够识别并处理噪声点,即那些不属于任何聚类的点。
工作原理:
-
定义参数:DBSCAN需要两个参数,
eps
(epsilon)和minPts
(最小点数)。eps
定义了邻域的大小,而minPts
定义了要形成一个聚类所需的最小点数。 -
核心点:如果一个点的
eps
邻域内至少包含minPts
个点(包括它自己),那么这个点被称为核心点。 -
边界点:如果一个点不是核心点,但它位于核心点的
eps
邻域内,那么这个点被称为边界点。 -
噪声点:既不属于核心点也不属于边界点的点被标记为噪声点。
-
聚类形成:通过连接核心点及其邻域内的点来形成聚类。如果两个核心点的邻域相交,那么它们可以合并为一个更大的聚类。
-
迭代过程:重复上述过程,直到所有点都被访问并分类为核心点、边界点或噪声点。
优点:
-
能够识别任意形状的聚类。
-
能够识别并处理噪声点。
-
不需要预先指定聚类数目。
缺点:
-
对参数
eps
和minPts
敏感,需要根据数据集进行调整。 -
对于大型数据集,计算成本可能较高,尤其是在高维空间中。
-
在聚类分布非常不均匀的数据集中,可能难以确定合适的
eps
值。
9.6 层次聚类
层次聚类试图在不同层次对数据集进行划分,从而形成树形的聚类结构。数据集的划分可采用"自底向上"的聚合策略,也可采用"自顶向下"的分拆策略。
AGNES是一种采用自底向上聚合策略的层次聚类算法。它先将数据集中的每个样本看作一个初始聚类簇,然后在算法运行的每一步中找出距离最近的两个聚类簇进行合并,该过程不断重复,直至达到预设的聚类簇个数。这里的关键是如何计算聚类簇之间的距离。实际上,每个簇是一个样木集合,因此,只需采用关于集合的某种距离即可。
AGNES(AGglomerative NESting)是一种采用自底向上聚合策略的层次聚类算法。它首先将数据集中的每个样本视为一个初始聚类簇,然后在每一步中找到距离最近的两个聚类簇进行合并。这个过程不断重复,直到达到预定的聚类簇个数。
在AGNES算法中,簇间距离的计算方法有多种,包括:
-
最小距离(Single Linkage):取两个类中距离最近的两个样本的距离作为这两个簇的距离。
-
最大距离(Complete Linkage):取两个类中距离最远的两个样本的距离作为这两个簇的距离。
-
平均距离(Average Linkage):计算两个簇中所有样本对之间的平均距离。
AGNES算法的关键步骤如下:
-
初始化:将每个对象视为一个初始聚类簇。
-
重复以下步骤直到满足终止条件:
-
计算任意两个聚类簇的距离。
-
找到距离最近的两个聚类簇并合并它们,形成新的聚类簇集合。
-
-
终止条件可以是达到预设的聚类簇个数或者距离阈值。
AGNES算法的优点是不需要预先指定聚类数目,且能够识别任意形状的聚类。然而,它对初始聚类中心的选择敏感,且在大规模数据集上计算成本可能较高。此外,AGNES算法的可扩展性较差,算法复杂度较高,这可能会影响其在大型数据集上的性能。