什么是聚类? Clustering
可以简单地说,对有标注的数据分类,就是逻辑回归(属于有监督分类),对无标注的数据分类,就是聚类(属于无监督分类)
聚类是一种无监督学习技术,其目标是根据样本之间的相似性将未标记的数据分组。
比如,在一个假设的患者研究中,研究人员正在评估一项新的治疗方案。在试验期间,患者每周会报告自身症状的频率以及严重程度。研究人员可以使用聚类分析将对治疗反应相似的患者归为同一类。图1展示了一个将模拟数据分成三个簇(cluster)的可能结果。
图1左侧为症状严重程度与出现频率的散点图,从中可以看出似乎存在三个明显的聚集区域;右侧是同一图,但每个聚类已用不同颜色区分。
图1:将未标记样本划分为三个聚类(模拟数据)
从图1左侧的原始数据来看,即使没有明确定义数据点之间的“相似性”,我们也大致能猜出存在三个簇。在真实世界的应用中,我们则必须显式定义相似性度量——即比较样本时所使用的距离或相似标准,通常依赖于数据集中的特征。当样本只包含一两个特征时,这种相似性较容易可视化和理解。但随着特征维度增加,特征的组合与比较将变得不直观,处理复杂度也随之增加。不同的相似性度量可能适用于不同的聚类场景,本课程稍后将专门介绍如何选择合适的度量方法,包括手动设定相似性度量与基于嵌入表示的度量方法。
在聚类完成后,每个组会被赋予一个独立的标签,称为聚类ID(cluster ID)。聚类的强大之处在于,它能将一个包含大量复杂特征的大型数据集,简化为一个聚类ID的形式,便于后续分析与处理。
聚类的进阶用途
数据插补(Imputation)
当某些样本缺失部分特征时,可以利用与之同簇中其他样本的数据进行填补。举例来说,冷门视频可以与热门视频聚在同一簇,通过热门视频的特征信息改善冷门视频的推荐效果。数据压缩
正如前述,聚类ID可以替代同一簇内样本的多维特征,从而降低存储、计算与模型训练所需的资源消耗。在处理超大规模数据集时,这种方式可大大提升效率。
以一个 YouTube 视频为例,其特征数据可能包括:
观看者的位置、时间与人口统计信息
评论的时间戳、内容与用户ID
视频标签等
将这些视频聚类后,用一个聚类ID替代原始特征集,就实现了数据压缩。
- 隐私保护
聚类还可一定程度上用于保护隐私。假设你要基于 YouTube 用户的观看记录训练模型,你可以用聚类ID代替用户ID,这样就不会将具体的观看记录直接关联到某位用户身上。不过,为确保隐私保护有效,单个聚类中需包含足够多的用户。