第4章 机器学习基础与模型原理面试
经典模型原理对比表(面试核心快速扫读)
| 模型 | 核心思想 | 常用损失 | 优点 | 常见陷阱 |
|---|---|---|---|---|
| 逻辑回归 | 广义线性模型 + sigmoid | 交叉熵 | 可解释性强、概率输出 | 线性假设,无法自动处理特征交互 |
| SVM | 最大间隔 + 核函数 | 合页损失 | 高维空间鲁棒、核技巧 | 核选择敏感、难以解释 |
| 决策树 | 信息增益/基尼系数 | 经验熵 | 可解释、无需归一化 | 易过拟合、不稳定 |
| 随机森林 | Bagging + 随机特征 | 多数投票 | 抗过拟合、特征重要性 | 内存占用大、噪声敏感 |
| XGBoost | 梯度提升 + 二阶泰勒 | 自定义 + 正则 | 高精度、内置正则 | 调参复杂、易过拟合(小数据) |
| 神经网络 | 多层感知 + 反向传播 | 任务相关(CE/MSE) | 捕捉复杂模式、端到端 | 需大数据、调参门槛高 |
🎯 面试问题1
请对比逻辑回归(LR)和支持向量机(SVM)的异同。
面试官考察点: 基本算法原理理解深度,能否从损失函数、假设空间、适用场景多维度对比。
回答框架: ① 核心原理(LR基于概率/最大似然;SVM基于最大间隔/结构风险)② 损失函数差异(交叉熵 vs 合页损失)③ 核技巧(SVM通过核函数处理非线性,LR需特征工程)④ 输出形式(LR直接概率,SVM为距离)⑤ 优缺点总结。
示例回答: “LR直接建模P(y|x),使用交叉熵损失,适合概率预测;SVM寻找最大分类间隔,使用合页损失,对异常值更鲁邦。LR天然输出概率但依赖线性边界;SVM通过核函数映射高维空间,非线性能力强,但核选择敏感。工程中LR常用于高维稀疏特征场景,SVM更适合中小规模非线性数据。”
可能追问: LR+特征组合与SVM+高斯核,哪个非线性更强?为什么说SVM自带正则化?
🎯 面试问题2
为什么交叉熵损失常用于分类,而均方误差(MSE)常用于回归?分类任务中能用MSE吗?
面试官考察点: 损失函数设计原理、梯度特性、优化收敛速度。
回答框架: ① 从信息论角度(交叉熵衡量分布差异,MSE衡量数值距离)② 梯度特性(交叉熵+softmax梯度为(p-y),饱和区梯度依然有效;MSE在输出接近0/1时梯度接近于0,收敛慢)③ 回归场景MSE符合高斯噪声假设,分类场景需概率输出④ 若分类用MSE,网络容易陷入局部极小,且对错误预测惩罚不够敏感。
示例回答: “交叉熵采用对数似然,梯度与预测误差成正比(p-y),即使预测值接近0/1仍保持有效梯度;MSE对接近0/1的输出梯度几乎为0,导致训练缓慢。分类任务本质是分布匹配,交叉熵更能度量分布差异。MSE可用于分类但收敛差,实践中不建议。”
可能追问: 二分类交叉熵公式为什么是 -[y log p + (1-y)log(1-p)]?KL散度与交叉熵的关系?
🎯 面试问题3
过拟合有哪些常见表现?如何检测和处理?请结合项目经验说明。
面试官考察点: 过拟合识别能力、解决方案多样性、工程落地经验。
回答框架: ① 表现:训练损失↓/验证损失↑、训练精度远高验证、权重值巨大② 检测:绘制学习曲线、K折交叉验证误差比③ 处理手段:正则化(L1/L2)、Dropout、数据增强、早停、集成(Bagging/深度学习中的Dropout)、降低模型容量④ 项目实操:图像任务用数据增强+Dropout;NLP任务用Weight Decay+Label Smoothing。
示例回答: “我在电商评论情感分析项目中,初始模型训练准确率98%而验证只有82%,明显过拟合。处理方案:①加入L2正则化(weight decay=1e-4);②Dropout rate从0.3提升至0.5;③使用Label Smoothing防止模型过度自信;④监控验证损失设置早停(patience=3)。最终验证准确率提升至91%。”
可能追问: L1和L2正则化区别?Dropout在推理阶段如何处理?早停的patience如何设定?
📁 真实项目模板
| 项目名称 | 基于Transformer的电商评论情感分类系统 |
| 业务背景 | 某电商平台需自动识别用户评论情感(正面/负面/中性),用于商品排名与异常预警 |
| 规模指标 | 训练数据500万条评论,10万唯一用户;线上QPS 3000,要求P99延迟<50ms |
| 技术栈 | PyTorch 2.0 + Transformers(BERT-base)+ AdamW + Label Smoothing + Focal Loss |
| 核心难点 | ① 长文本(平均长度512+)② 类别严重不平衡(正面60%,中性10%,负面30%)③ 部署推理延迟要求高 |
| 面试高频追问 |
|
| 可迁移回答话术 | “我们采用动态序列截断保留首尾关键,配合注意力掩码处理长文本;使用Focal Loss(γ=2)缓解类别不平衡,相比CrossEntropy提升F1 3.2%。优化器选择AdamW,因为其weight decay与学习率解耦,更适合Transformer类模型。推理侧通过ONNX+INT8量化,将单条延迟从120ms降至18ms。” |