拿下技术面上传简历

你在做设备异常检测:正常样本 500 万条,异常样本只有约 300 条。团队提议用一个 128→32→128 的自编码器,用重构误差当异常分,阈值取正常样本重构误差的 P99。上线后发现:真正出故障前的那批样本,重构误差反而不高。请回答:(1) 为什么会这样,用重构误差当异常分的根本假设是什么、什么条件下不成立;(2) 你会怎么改(损失函数、模型结构,还是整个范式);(3) 只有 300 条异常,你怎么做验证和阈值管理。

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

面试官在考什么

判断候选人是否理解重构式异常检测的隐含假设及其失效条件,以及能否在异常样本极少的约束下设计出可运维的检测与验证方案。

自编码器

回答框架 · 前两步

  1. 根本假设:重构误差小 ≈ 落在训练分布的高密度区域。这个假设只在「异常从未出现在训练集里,且模型容量不足以把异常也记住」时成立;一旦异常模式或它的局部近似在训练集中出现过,AE 会连异常一起重构好,误差反而偏低。
  2. 具体失效原因有三种:bottleneck 太大或训练轮数太多,AE 退化成近似恒等映射;异常是局部子结构异常(比如单个传感器漂移),AE 靠其他通道的上下文就能把它「补」回来;点式重构误差对时序模式异常不敏感,需要看残差的时间结构。

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

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

延伸阅读

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

同一能力域的其他题