第4章 技术面试:机器学习核心算法
高频问题集中在三大类:基础模型原理(逻辑回归、决策树、SVM)、集成学习(随机森林、XGBoost)、聚类与降维(K-Means、PCA)。面试官常通过“理论推导 + 场景应用 + 参数调优”三层递进考察深度。以下是经典回答框架和公司侧重点。
高频面试问答卡片
🧩 卡片1:逻辑回归原理与场景
面试问题:“请解释逻辑回归为什么叫‘回归’?它和线性回归的本质区别是什么?”
考察点:基础理解深度、对广义线性模型的认识、是否混淆分类与回归。
回答框架:命名由来 → 本质是分类模型 → 广义线性模型视角 → 决策边界与Sigmoid → 损失函数区别。
示例回答:“逻辑回归虽名‘回归’,但因采用Sigmoid将线性输出映射到[0,1],用于分类。本质是广义线性模型,连接函数为Logit。线性回归用MSE,逻辑回归用交叉熵,且输出为概率值。”
可能追问:“为什么不用MSE而用交叉熵?逻辑回归是否要求特征独立?如何处理多分类?”
🌲 卡片2:决策树与过拟合处理
面试问题:“决策树如何选择分裂特征?如何防止过拟合?”
考察点:信息论基础、剪枝策略、对树模型复杂度的控制能力。
回答框架:信息增益 / 增益率 / Gini系数 → 选择最大指标 → 预剪枝(限制深度、叶子节点数)→ 后剪枝(Cost Complexity Pruning)→ 集成方法的引入。
示例回答:“分类树常用信息增益或Gini系数,CART用Gini;回归树用MSE。防止过拟合主要通过预剪枝(max_depth/min_samples_leaf)和后剪枝(CCP)。实际工作中会结合交叉验证确定最优α。极端时直接上随机森林。”
可能追问:“信息增益的缺点?连续特征如何处理?决策树对缺失值的处理?”
📐 卡片3:SVM与核技巧
面试问题:“SVM的核函数是什么?如何选择核函数?为什么要引入对偶?”
考察点:最优化理论理解、对偶问题与KKT条件、核技巧的本质。
回答框架:最大间隔分类器 → 对偶问题解决高维内积 → 核函数隐式映射 → 常用核(线性、多项式、RBF)→ 选择依据(特征维度与样本量)。
示例回答:“核函数将原始空间内积映射到高维特征空间内积,避免显式计算。选择RBF因为只有一个γ参数且非线性能力较强,但特征维度远大于样本量时用线性核更高效。对偶问题将原问题转化为凸二次规划,支持向量数量少,计算快。”
可能追问:“SVM如何处理多分类?核函数必须满足正定性吗?SVM与逻辑回归的关系?”
项目案例模板:信用卡欺诈检测(不平衡分类)
| 项目名称 | 信用卡欺诈检测系统(不平衡分类) |
|---|---|
| 业务背景 | 某支付平台日均交易千万笔,需实时检测欺诈交易,正样本(欺诈)仅占0.17%。 |
| 规模指标 | 训练数据284,807笔,特征31维(PCA降维后),AUC>0.98,召回率>85%,精确率>90%。 |
| 技术栈 | Python、scikit-learn、XGBoost、SMOTE过采样、交叉验证、特征工程(时间戳、金额比率)。 |
| 核心难点 | ①极端不平衡样本导致模型偏向多数类;②实时性要求推理<50ms;③需要可解释性以配合风控审计。 |
| 面试高频追问 | 1. 为什么不用随机欠采样?SMOTE生成的样本是否会引入噪声?2. 如何选择AUC-ROC而非准确率?3. 特征工程做过哪些?为什么PCA可以保留信息? |
| 可迁移回答话术 | “在欺诈检测等不平衡场景中,我首先分析正负样本比例,评估指标选择Precision-Recall曲线和AUC-ROC。采用SMOTE生成合成样本后,用XGBoost训练并通过早停避免过拟合。最终模型在保持92%精确率的同时召回率达到88%,并利用SHAP值给风控人员输出可解释理由。” |