拿下技术面上传简历

一个 5 万样本、50 维的二分类任务,你直接用 SVC(kernel='rbf') 训练,跑了一小时没跑完、内存也吃紧。换成 LinearSVC 后 3 分钟训完,但验证集 F1 掉了 4 个点。请说明 RBF 核在这里慢在哪,并给出 2~3 条能同时保住效果的替代方案。

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

面试官在考什么

考察对核方法计算/内存复杂度的量化认知,以及在“快但效果差”和“好但跑不动”之间做工程折中的能力。

SVM

回答框架 · 前两步

  1. 慢和吃内存的根源是核矩阵规模:libsvm 需要构造 n×n 的核矩阵,5 万样本用 float64 存储就是 5e4²×8B ≈ 20GB,计算量约 O(n²d) 到 O(n³),和维度关系不大,和样本量平方相关。LinearSVC 在原始 50 维空间求解,代价大致随 n·d 线性增长。
  2. 效果掉的原因:数据在原始 50 维空间近似线性不可分,丢掉核映射后假设空间变小;同时 LinearSVC 默认是 squared hinge + L2,默认 C 对这种量级的数据常常欠拟合,不调 C 就下结论不公平。

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

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

延伸阅读

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

同一能力域的其他题