【机器学习基础】第三十二课:聚类之聚类任务

聚类任务

Posted by x-jeff on December 30, 2021

【机器学习基础】系列博客为参考周志华老师的《机器学习》一书,自己所做的读书笔记。
本文为原创文章,未经本人允许,禁止转载。转载请注明出处。

1.聚类任务

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

常见的无监督学习任务还有密度估计(density estimation)、异常检测(anomaly detection)等。

聚类试图将数据集中的样本划分为若干个通常是不相交的子集,每个子集称为一个“簇”(cluster)。通过这样的划分,每个簇可能对应于一些潜在的概念(类别),如“浅色瓜”“深色瓜”,“有籽瓜”“无籽瓜”,甚至“本地瓜”“外地瓜”等;需说明的是,这些概念对聚类算法而言事先是未知的,聚类过程仅能自动形成簇结构,簇所对应的概念语义需由使用者来把握和命名。

对聚类算法而言,样本簇亦称“类”。

形式化地说,假定样本集$D=\{ \mathbf{x}_1,\mathbf{x}_2,…,\mathbf{x}_m \}$包含m个无标记样本,每个样本$\mathbf{x}_i=(x_{i1};x_{i2};…;x_{in})$是一个n维特征向量,则聚类算法将样本集D划分为k个不相交的簇$\{C_l \mid l=1,2,…,k \}$,其中$C_{l’} \cap _{l’ \neq l} C_l = \emptyset$且$D= \cup ^k_{l=1} C_l$。相应地,我们用$\lambda_j \in \{ 1,2,…,k \}$表示样本$\mathbf{x}_j$的“簇标记”(cluster label),即$\mathbf{x}_j \in C_{\lambda_j}$。于是,聚类的结果可用包含m个元素的簇标记向量$\mathbf{\lambda}=(\lambda_1 ; \lambda_2 ; … ; \lambda_m)$表示。

聚类任务中也可使用有标记训练样本。

聚类既能作为一个单独过程,用于找寻数据内在的分布结构,也可作为分类等其他学习任务的前驱过程。