机器学习面试·易错速问速答 30 题
每题都踩过一次坑,背完=跳过雷区。
1. 监督 vs 非监督
Q1:给一张用户购物流水表,只有 user_id 与 sku_id,想挖掘"人群包",属于监督还是非监督?
A:非监督。没有标签,目标只是"聚类"人群。
易错:别把"预测用户是否买 iPhone"当成非监督------一旦需要"是否",就得先打标签,成监督。
2. 回归与分类
Q2:线性回归做分类会出现什么玄学 bug?
A:输出域 (−∞,+∞) 可超出 [0,1],导致概率解释失效 +MSE 对误分类惩罚不对称 。
口诀:回归当分类用,loss 选交叉熵,输出加 Sigmoid。
3. 损失函数
Q3:LR 为何交叉熵比 MSE 好?手推梯度对比。
A:
MSE 梯度:∂L/∂w = (σ−y)σ(1−σ)x // 含 σ′→最大 0.25,更新慢
交叉熵梯度:∂L/∂w = (σ−y)x // 无 σ′,误差大则梯度大,训练飞起。
4. 正则化
Q4:L1 在 0 不可导,坐标下降如何更新?写出软阈值公式。
A:
w_j ← S(w_j − α·g_j, αλ), S(a,b)=sign(a)max(|a|−b,0)
易错 :别把 λ 放错位置,必须乘学习率 α。
5. 特征缩放
Q5:决策树需不需要归一化?Random Forest 呢?
A:都不需要。树按划分点 不care量纲;归一化既不会提速也不会提精度 。
反例 :KNN、SVM、神经网络必须归一化,否则距离/梯度被大特征绑架。
6. 交叉验证
Q6:k 折交叉验证 k 越大越好?
A:NO 。k↑ 方差↓但偏差↑,且训练 k 次成本↑;实际 5/10 折 是偏差-方差-时间三角平衡点。
易错 :时间序列用时间顺序切分 (TimeSeriesSplit),严禁随机 K 折。
7. 评估指标
Q7:Accuracy=99% 就一定好吗?举一个 99% 仍垃圾的例子。
A:癌症筛查 1% 正例,全猜负例 Accuracy=99%,Recall=0 ------完全没用。
必须报:Precision、Recall、F1、AUC、PR-AUC。
8. 决策树
Q8:信息增益与增益率区别?各自缺陷?
A:
信息增益 偏向多取值特征 (如 ID 字段);
增益率 偏向少取值特征 (如性别)。
C4.5 先用信息增益筛 top →再选增益率最高,平衡两边偏见。
9. 随机森林
Q9:RF 为什么不用剪枝?
A:单棵树过拟合没关系 ,投票/平均把方差压下去;剪枝反而削弱单树表达能力 →集成收益↓。
易错 :别把"不剪枝"理解成"可以无限深",max_depth 仍要限,否则叶子节点样本过少=高方差。
10. GBDT vs XGBoost
Q10:GBDT 一阶导,XGB 二阶导,为什么二阶更稳?
A:泰勒二阶≈牛顿法,利用曲率信息 选择步长;加入叶子权重正则 →目标函数闭式解,防止过拟合。
11. XGBoost 细节
Q11:XGB 如何处理缺失值?
A:把缺失样本分别放左右子节点 →计算两种增益,选增益大 的方向作为默认方向 ;预测时缺失值走该方向。
易错 :别答"用均值/众数填充",那是训练前 策略;XGB 内置处理。
12. LightGBM
Q12:LightGBM 比 XGB 快在哪两点?
A:
- 直方图分桶→内存↓8×,计算↓3×;
- Leaf-wise 生长(选最大 Δloss 叶子分裂)→同精度迭代数减半 ;需控制
max_depth防过拟合。
13. SVM
Q13:RBF 核一定线性可分吗?
A:不一定 。RBF 把样本映到无穷维 ,但带宽 γ 过大 →过拟合,仍可能训练误差≠0;调 γ 是重点。
14. KNN
Q14:k 值过小/过大分别什么症状?
A:
k=1 → 过拟合,预测跳变;
k=N → 欠拟合,输出=全局众数。
调参 :先 k ∈ [3, 5, 7, 9, 15] + 交叉验证,再 weights='distance' 加权。
15. 聚类
Q15:K-means 损失函数非凸,如何缓解随机初始化带来的局部最优?
A:n_init=20 多次随机中心 + 选最小 SSE ;k-means++ 让初始中心彼此远离,一次初始化即可接近全局最优。
16. 降维
Q16:PCA 白化是什么?为什么要除以特征值平方根?
A:投影后各主成分方差=特征值,白化=再缩放方差到 1 →消除相关性+同量纲,利于后续梯度下降。
17. 概率图
Q17:朴素贝叶斯"朴素"在哪?现实不独立为何还能用?
A:强行条件独立 →把 P(x₁...xₙ|y) 从 2ⁿ 参数降到 n+1;只要排序正确 (logit 单调)即可分类,不需要精准概率。
18. 集成策略
Q18:Soft Voting vs Hard Voting 哪个更准?举例说明。
A:Soft 用预测概率平均 →利用置信度;Hard 只用 0/1 →信息损失。
例子:三模型对某样本概率 [0.51, 0.49, 0.49] → Soft=0.50(正),Hard=1 正 2 负→负,Soft 更合理。
19. 类别不平衡
Q19:XGBoost 的 scale_pos_weight 如何设置?
A:scale_pos_weight = 负样本数 / 正样本数;本质给正样本梯度乘权重→让模型更关注少数类。
20. 特征交叉
Q20:FM 为什么能二阶交叉却只要 O(nk) 参数?
A:交叉权重矩阵 W 用低秩分解 W=VVᵀ,参数从 n² → nk;内积即用即算,无需存 n² 元素。
21. 在线学习
Q21:FTRL 相比 SGD 优势?
A:FTRL 引入L1 正则的逐维学习率 →稀疏解+适合高维稀疏特征 (CTR 点击率预估);SGD 全量更新,不稀疏。
22. 超参搜索
Q22:Random Search 为什么比 Grid Search 高效?
A:高维空间下有效参数极少 ,随机探索指数级提高命中概率 ;Bergstra 论文证明60 次随机≈256 次网格。
23. 梯度消失
Q23:BatchNorm 为什么能缓解梯度消失?反向传播公式简述。
A:BN 把每层输入拉回 N(0,1),避免 sigmoid/tanh 落入饱和区 ;反向时∂L/∂x 含方差倒数项 →梯度稳定常数阶。
24. 模型解释
Q24:树模型如何计算特征重要性?三种方法差异?
A:
- Gini/信息增益 总和------训练阶段 快速,易偏向高频特征;
- OOB 精度下降 ------无需额外验证集,但计算慢;
- SHAP 值 ------一致性与可加性 ,最准也最慢,可解释单样本。
25. 缺失值陷阱
Q25:测试集出现训练集未见过的类别,怎么处理?
A:训练集用 OneHotEncoder(handle_unknown='ignore') 或哈希编码 ;严禁用众数填充再训练 ,会导致数据泄漏。
26. 多标签分类
Q26:OvR 与 OvO 在多分类的复杂度差异?
A:OvR 训练 k 个模型,预测 k 次 ;OvO 训练 k(k-1)/2 个,预测 k(k-1)/2 次投票 。
k 大 时 OvO 模型数爆炸,内存占用↑ ;但单模型训练集小 ,适合线性不可分场景。
27. 核函数
Q27:多项式核与 RBF 核哪个参数更多?调参难度?
A:多项式核 (γxᵀx'+r)^d 有 3 超参 (γ,r,d),组合爆炸 ;RBF 仅 γ,网格搜索一维即可 →工业界更爱 RBF。
28. 早停
Q28:XGBoost early_stopping_rounds 具体停在哪一轮?
A:验证集评估指标 连续 early_stopping_rounds 次不下降 即停,回滚最优迭代 ;+1 模型被 dump,**predict 自动用最优。
29. 数据泄漏
Q29:交叉验证里能先整表归一化再划分吗?
A:不能!要先在训练折 里 fit 归一化器,再 transform 验证折;整表 fit→信息泄漏→验证虚高。
30. 树深度
Q30:LightGBM num_leaves 与 max_depth 关系?
A:Leaf-wise 树叶子数↑远快于深度 ;经验 num_leaves ≤ 2^max_depth;设 31 叶≈深 5 叉树,再大易过拟合。
背完这 30 问,面试官的坑你全提前踩平。祝你 offer 拿到手软!