拿下技术面上传简历

你要为 200 万个商品建一棵 3 层类目树(一级约 30 类、二级约 300、三级约 3000),给运营人工命名和打标;输入是已 L2 归一化的 256 维商品 embedding。约束:每天新增约 2% 的商品;运营已经命名过的节点不希望天天变;任务要在单机(256GB 内存、无 GPU)上 12 小时内跑完一次。请回答:(1) 你选什么 linkage、是否需要用近似方法,为什么;(2) 三层的切分点怎么定;(3) 每天 2% 的新商品怎么进树而不重建整棵树。

机器学习基础无监督学习5 年以上知识点 1 个

面试官在考什么

判断候选人是否知道经典层次聚类在真实规模下会撞到什么墙,以及能否把「一棵可解释的树」当成要长期维护的产品资产来设计。

层次聚类

回答框架 · 前两步

  1. 复杂度现实:经典 agglomerative 需要 n² 距离矩阵,200 万×200 万不可做。标准做法是两步——先用 mini-batch KMeans 或 BIRCH 把 200 万压到 1 万~5 万个带权代表点,在代表点上做层次聚类得到骨架,其余商品按最近代表点分配。
  2. linkage 选择:要让运营能命名,需要紧致且大小较均衡的簇,Ward 最合适;single-link 会 chaining(一条商品链把不同类串起来);average-link 折中但仍受 n² 限制。因为 embedding 已归一化,欧氏距离与余弦单调对应,用欧氏 Ward 合理,但要说清这不是严格意义上的余弦 Ward,需要验证。

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

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

延伸阅读

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

同一能力域的其他题