无监督学习:K-means与层次聚类方法解析
1. 无监督学习概述
无监督学习与有监督学习不同,在有监督学习中,我们基于观测数据 $(x_1, y_1), \cdots, (x_N, y_N)$ 进行学习,其中 $y_1, \cdots, y_N$ 可以是实数值(回归问题)或有限个值(分类问题)。而在无监督学习里,不存在这样的“标签”信息,我们仅从协变量 $x_1, \cdots, x_N$ 中学习 $N$ 个样本之间以及 $p$ 个变量之间的关系。无监督学习有多种类型,本文主要聚焦于聚类和主成分分析。聚类是将样本 $x_1, \cdots, x_N$ 划分为若干组(簇),我们会探讨 K-means 聚类和层次聚类两种方法。
2. K-means 聚类
K-means 聚类是一种将具有 $p$ 个变量值的 $N$ 个样本 $x_1, \cdots, x_N$ 划分为 $K$ 个不相交集合(簇)的方法。这种方法要求预先确定簇的数量 $K$。其具体步骤如下:
1. 初始阶段,为 $N$ 个样本中的每个样本随机分配一个介于 $1$ 到 $K$ 之间的簇编号。
2. 执行以下两个步骤的迭代:
- 对于每个簇 $k = 1, \cdots, K$,计算其中心(均值向量)。
- 对于每个样本 $i = 1, \cdots, N$,将其分配到距离中心最近的簇。
在第二步中,我们使用 L2 范数来计算样本与簇中心之间的距离,公式为 $|a - b| = \sqrt{(a_1 - b_1)^2 + \cdots + (a_p - b_p)^2}$,其中 $a = [a_1, \cdots, a_p]^T$,$b = [b_1, \cd