聚类与降维
聚类算法用于发现数据内在分组,降维算法用于压缩数据维度,两者常配合使用。
聚类算法
无监督学习核心方法,将数据分成若干组(簇)。
K-Means 聚类
- 原理:迭代优化,将数据分配到 K 个簇中心最近的那一类
- 流程:初始化 K 个中心 → 分配样本 → 更新中心 → 重复直至收敛
- K 值选择:肘部法(Elbow Method)、轮廓系数(Silhouette Score)
- 优缺点:简单快速、适合球形簇;需指定 K、对初始中心敏感、对异常值敏感
DBSCAN(基于密度的空间聚类)
- 原理:基于密度连通性,将高密度区域连成簇
- 参数:ε(邻域半径)、MinPts(最小点数)
- 核心点、边界点、噪声点三类点
- 优缺点:不需指定簇数、可发现任意形状簇、可识别噪声;高维数据效果差、密度不均匀时表现不佳
层次聚类(Hierarchical Clustering)
- 凝聚式(AGNES):自底向上合并
- 分裂式(DIANA):自顶向下分裂
- 连接准则:单链(Single)、全链(Complete)、平均链(Average)、Ward 法
- 输出:树状图(Dendrogram)
- 优缺点:不需指定簇数、树状图可解释;计算复杂度高 O(n³)
降维算法
PCA 主成分分析
- 原理:通过线性变换找到方差最大的方向(主成分),将数据投影到低维空间
- 步骤:数据中心化 → 协方差矩阵 → 特征值分解 → 选择 Top-k 特征向量
- 解释方差比:衡量每个主成分保留的信息量
- 优缺点:线性、计算快、去相关;只捕捉线性关系、主成分难解释
t-SNE(t-分布随机邻域嵌入)
- 原理:高维空间的距离 → 条件概率 → 低维空间 KL 散度最小化
- perplexity 参数:平衡局部/全局结构
- 优缺点:可视化效果好、适合非线性;非确定性、对参数敏感、不适合做特征提取(不保持距离)
UMAP(一致流形逼近与投影)
- 原理:基于流形学习和拓扑数据分析
- 比 t-SNE 更快、更好保留全局结构
- 优缺点:速度快、可做特征提取;参数选择仍需经验
算法对比
| 聚类算法 | 是否需要 K | 簇形状 | 处理噪声 | 可解释性 |
|---|---|---|---|---|
| K-Means | 是 | 球形 | 差 | 一般 |
| DBSCAN | 否 | 任意形状 | 好 | 好 |
| 层次聚类 | 否 | 灵活 | 中 | 很好 |
| 降维算法 | 线性/非线性 | 可视化效果 | 速度 | 适用场景 |
|---|---|---|---|---|
| PCA | 线性 | 一般 | 快 | 特征工程、数据预处理 |
| t-SNE | 非线性 | 好 | 慢 | 高维数据可视化 |
| UMAP | 非线性 | 很好 | 快 | 可视化 + 特征提取 |
如何选择
- 聚类选择依据:簇形状、数据规模、是否需要分层结构、噪声处理需求
- 降维选择依据:线性/非线性、可视化还是特征工程、速度要求
总结
聚类与降维是无监督学习的两大支柱。聚类帮助发现数据中的天然分组,降维帮助在高维数据中提取关键特征。实际应用中常将两者结合使用——先降维再聚类,既能提升聚类效果,也能加速计算。