拿下技术面上传简历

你有 500 万条 128 维用户 embedding,要聚成约 2000 个簇,单机 64GB 内存。你会选 MiniBatchKMeans 还是标准 KMeans?n_init、batch_size、tol 分别怎么定,空簇怎么处理,最后怎么判断这次聚类是可信的?

机器学习基础无监督学习1-3 年知识点 1 个

面试官在考什么

判断候选人是否真的在大数据量下跑过 KMeans,而不是只会调 sklearn 的 API。

KMeans

回答框架 · 前两步

  1. 标准 KMeans 每轮都要算全量点到全部簇心的距离,500 万×2000×128 的单轮开销在时间和内存上都不可接受;MiniBatchKMeans 用小的随机批次更新簇心,是可行的默认选择。
  2. MiniBatch 的簇心更新用 per-cluster 学习率(1/该簇累计样本数),batch_size 太小簇心抖动大、需要更多轮,太大接近全量计算,通常取 1000~10000,配合 reassignment_ratio 控制簇心被重分配的频率。

还有 3 条答案要点、 3 层追问、 6 个常见坑, 以及针对你简历的追问路径,在定制报告里。

上传简历,生成我的题库先看示例报告

延伸阅读

想看这个方向的整体准备路线? 进入「机器学习基础」方向页

同一能力域的其他题