数据岗位面试题更新 2026-08-05

请解释层次聚类算法用于数据聚类分析的具体过程,并比较其与 K-means 算法之间的差异。

数据技术原理方案权衡

考察说明

考查对层次聚类算法原理及与 K-means 对比的理解。

回答思路

  1. 【回答框架 1】层次聚类是自底向上(凝聚)或自顶向下(分裂)的聚类方法,通过计算样本间距离并逐步合并或分裂形成树状图。凝聚层次聚类通常从每个样本作为单独簇开始,每次合并最近的两个簇,直到达到指定簇数或全部合并。
  2. 【回答框架 2】与 K-means 的区别:层次聚类不需要预先指定簇数 K,可通过树状图选择簇数;而 K-means 必须提前设定 K。层次聚类结果稳定,K-means 受初始中心影响可能不同。层次聚类适合小数据集,时间复杂度高(O(n³)),K-means 效率高(O(nkt)),适合大数据。
  3. 【回答框架 3】层次聚类可生成不同粒度的簇,并通过树状图直观展示层次关系;K-means 假设簇为凸形,对非凸簇效果差。层次聚类基于距离或相似度,可自定义距离度量;K-means 使用欧氏距离,对异常值敏感。
  4. 【回答框架 4】实践中,层次聚类常先取样或与 K-means 结合(如先 K-means 再层次),以处理大数据;也可用 BIRCH、CURE 等改进算法提高可扩展性。
  5. 【关键点 1】层次聚类无需预设簇数,可树状图选簇。
  6. 【关键点 2】K-means 需 K 值,对初值敏感,适合大数据。
  7. 【关键点 3】层次聚类时间复杂高,约 O(n³),K-means 为 O(nkt)。
  8. 【关键点 4】层次聚类适合小数据集和非凸簇,K-means 适合球形簇。
  9. 【关键点 5】层次聚类结果稳定,K-means 可能局部最优。
  10. 【易错点 1】层次聚类不可逆,无法调整合并错误。
  11. 【易错点 2】K-means 假设簇凸形,对异常值敏感。
  12. 【易错点 3】距离度量选择影响层次聚类结果,需按数据特性选择。