目录
[1. K近邻(KNN)](#1. K近邻(KNN))
[2. 线性回归](#2. 线性回归)
[3. 逻辑回归](#3. 逻辑回归)
[4. 决策树](#4. 决策树)
[5. 支持向量机(SVM)](#5. 支持向量机(SVM))
[6. 贝叶斯算法(朴素贝叶斯)](#6. 贝叶斯算法(朴素贝叶斯))
[7. 集成学习(重点:随机森林)](#7. 集成学习(重点:随机森林))
[1. K-means(聚类,面试高频)](#1. K-means(聚类,面试高频))
[2. DBSCAN(聚类,补充考点)](#2. DBSCAN(聚类,补充考点))
[1. RNN(循环神经网络)](#1. RNN(循环神经网络))
[2. LSTM(长短期记忆网络)](#2. LSTM(长短期记忆网络))
[1. Transformer](#1. Transformer)
[2. BERT(Bidirectional Encoder Representations from Transformers)](#2. BERT(Bidirectional Encoder Representations from Transformers))
核心说明:面试中,应届毕业生无需追求过度深入的推导(如复杂数学证明),但必须掌握"原理+应用+优缺点+参数调优",尤其是不同算法的对比的场景题,这是面试官重点考察的核心能力,也是区分"死记硬背"和"真正理解"的关键。
第一部分:机器学习
核心逻辑:先掌握"监督学习→无监督学习→降维"的分类,再逐个突破每个算法,重点记忆"原理一句话总结+面试必答题+易错区分",结合简单实战场景理解。
一、监督学习算法
1. K近邻(KNN)
核心原理:一种"惰性学习"算法,无训练过程,仅在预测时,通过计算待预测样本与训练集所有样本的距离,选取距离最近的K个样本,通过投票(分类)或平均(回归)得到预测结果,核心依赖距离度量和K值选择。
面试必答题:
-
Q1:K值的选择对模型有什么影响?如何选择最优K值? A:K值越小,模型复杂度越高,易过拟合(极端情况K=1,仅依赖最近样本,易受异常值影响);K值越大,模型越简单,易欠拟合(极端情况K=样本总数,预测结果恒为样本中占比最高的类别)。最优K值通常通过交叉验证法选取,先取较小值,逐步增大,找到验证误差最小的拐点。
-
Q2:KNN常用的距离度量方式有哪些?什么时候用不同距离? A:常用欧氏距离(默认,适用于连续型特征、维度较低的场景)、曼哈顿距离(适用于高维、稀疏特征,降低异常值影响)、切比雪夫距离(适用于需关注最大维度差异的场景);闵可夫斯基距离是上述距离的通用形式,当p=2时为欧氏距离,p=1时为曼哈顿距离。
-
Q3:KNN为什么需要归一化? A:因为KNN依赖距离度量,不同特征的量纲差异会导致距离计算偏向量纲大的特征(如身高(cm)和体重(kg)),归一化可消除量纲影响,让每个特征权重一致,避免模型偏差。
-
Q4:KNN如何处理数据不平衡问题? A:可将传统投票法改为加权投票法,与待预测样本距离越近的邻点,投票权重越高,避免因某类样本数量过多导致的误判。
易错点:混淆KNN与K-means(前者是监督学习,无训练过程;后者是无监督聚类,有训练过程);忘记KNN是"惰性学习",预测时计算量大,不适用于大规模数据。
实战提示:面试中若被问"如何优化KNN的预测效率",可回答"构建索引(如kd树、R树),减少距离计算次数",无需深入讲解索引构建细节,体现思考即可。
2. 线性回归
核心原理:假设特征与目标值之间存在线性关系,通过最小化"预测值与真实值的均方误差(MSE)",求解线性回归系数,最终得到线性模型:$$y = w_1x_1 + w_2x_2 + ... + w_nx_n + b$$(w为权重,b为偏置)。
面试必答题:
-
Q1:线性回归的损失函数是什么?为什么用均方误差(MSE)? A:损失函数是均方误差$$L = \frac{1}{n}\sum_{i=1}^{n}(y_i - \hat{y}_i)^2$$。原因:MSE是凸函数,可通过梯度下降找到全局最优解;对异常值敏感,能惩罚较大误差;数学上易求导,计算简便。
-
Q2:如何解决线性回归的过拟合问题? A:核心是降低模型复杂度,常用方法:① 正则化(L1正则化:Lasso回归,会使部分权重变为0,实现特征选择;L2正则化:Ridge回归,使权重整体缩小,避免单个特征过度影响模型);② 增加训练数据量;③ 剔除冗余特征。
-
Q3:线性回归的假设条件有哪些? A:① 特征与目标值存在线性关系;② 误差项服从正态分布;③ 误差项之间相互独立(无自相关性);④ 误差项方差恒定( homoscedasticity,无 heteroscedasticity)。
-
Q4:梯度下降法的原理是什么?批量梯度下降(BGD)、随机梯度下降(SGD)、小批量梯度下降(MBGD)的区别? A:原理:通过计算损失函数对参数(w、b)的梯度,沿梯度负方向迭代更新参数,直至损失函数收敛。区别:BGD每次用全部训练数据计算梯度,收敛稳定但速度慢;SGD每次用单个样本计算梯度,速度快但波动大;MBGD每次用小批量样本计算梯度,兼顾速度和稳定性,是实际中最常用的方式。
易错点 :混淆L1和L2正则化的作用(L1做特征选择,L2防过拟合且梯度更稳定);忘记线性回归对异常值敏感,需提前处理异常值。
3. 逻辑回归
核心原理:本质是"线性模型+非线性激活函数",将线性回归的输出(连续值)通过sigmoid函数映射到[0,1]区间,作为类别概率,用于二分类任务;多分类可采用One-vs-All或One-vs-One策略。核心公式:$$\hat{y} = \sigma(w^Tx + b) = \frac{1}{1 + e^{-(w^Tx + b)}}$$。
面试必答题:
-
Q1:逻辑回归为什么用sigmoid函数?不用其他激活函数(如ReLU)? A:① sigmoid输出在[0,1],可直接解释为类别概率,符合分类任务需求;② 单调递增,能保持线性模型的有序性;③ 导数易计算($$\sigma'(x) = \sigma(x)(1 - \sigma(x))$$),便于梯度下降迭代;ReLU输出非负且无上限,无法映射为概率,不适合分类任务的输出要求。
-
Q2:逻辑回归的损失函数是什么?为什么不用MSE? A:损失函数是交叉熵损失(二分类:$$L = -\frac{1}{n}\sum_{i=1}^{n}[y_i\ln\hat{y}_i + (1 - y_i)\ln(1 - \hat{y}_i)]$$)。若用MSE,损失函数会是非凸函数,存在多个局部最优解,梯度下降难以找到全局最优;交叉熵损失是凸函数,且能更快收敛,对模型参数的惩罚更合理。
-
Q3:逻辑回归与线性回归的区别? A:① 任务不同:线性回归用于回归(预测连续值),逻辑回归用于分类(预测类别概率);② 输出范围不同:线性回归输出无边界,逻辑回归输出[0,1];③ 损失函数不同:线性回归用MSE,逻辑回归用交叉熵;④ 假设条件不同:线性回归要求误差正态分布,逻辑回归无此要求。
-
Q4:逻辑回归如何处理多分类问题? A:① One-vs-All(一对多):为每个类别训练一个二分类模型,预测时取概率最大的类别,适用于类别不均衡场景;② One-vs-One(一对一):为每两个类别训练一个二分类模型,预测时通过投票确定类别,适用于类别均衡场景。
易错点:误认为逻辑回归是"回归算法"(实际是分类算法);混淆交叉熵损失与MSE的适用场景;忘记逻辑回归对多重共线性敏感,需提前处理特征相关性。
4. 决策树
核心原理:模拟人类决策过程,通过"特征分裂"构建树形结构,每个内部节点代表一个特征判断,每个叶节点代表一个类别(分类)或目标值(回归)。核心是"如何选择最优分裂特征",常用分裂准则有信息增益、信息增益率、基尼指数。
面试必答题:
-
Q1:决策树的分裂准则有哪些?各自的优缺点? A:① 信息增益(ID3算法):基于熵的降低程度选择分裂特征,缺点是偏向可取值多的特征(易过拟合);② 信息增益率(C4.5算法):在信息增益基础上除以特征自身熵,惩罚多取值特征,解决ID3的缺陷,支持连续值和缺失值处理;③ 基尼指数(CART算法):衡量节点纯度,计算效率高于熵,支持二叉切分,可用于分类和回归任务。
-
Q2:决策树如何处理过拟合?(剪枝方法) A:① 预剪枝:在树的构建过程中停止分裂(如限制树的深度、最小样本数、最小分裂增益),简单高效但可能欠拟合;② 后剪枝:先构建完整的决策树,再从叶节点向上剪枝(如代价复杂度剪枝),泛化能力更强,是实际中常用的方法。
-
Q3:ID3、C4.5、CART三种算法的区别? A:见下表:
| 算法 | 分裂准则 | 偏好 | 缺失值处理 | 连续值处理 | 剪枝 |
|---|---|---|---|---|---|
| ID3 | 信息增益 | 可取值多的属性 | 不支持 | 不支持 | 无 |
| C4.5 | 信息增益率 | 惩罚多取值属性 | 支持 | 支持 | 后剪枝 |
| CART | 基尼指数 | 二叉切分 | 支持 | 支持 | 前/后剪枝 |
易错点:混淆三种分裂准则的适用场景;忘记决策树对异常值不敏感(因基于特征分裂,而非距离);忽略决策树的可解释性强(工业界风控、医疗诊断等场景首选)。
5. 支持向量机(SVM)
核心原理:核心是找到"最优分类超平面",使两类样本到超平面的间隔最大,间隔越大,模型泛化能力越强。线性可分场景下直接寻找最优超平面;线性不可分场景下,引入软间隔(允许少量样本越界)和核函数(将数据映射到高维空间,实现线性可分)。
面试必答题:
-
Q1:SVM的核函数作用是什么?常用的核函数有哪些?如何选择? A:作用:将原始特征空间中线性不可分的数据,映射到更高维的特征空间,使其线性可分,同时无需显式计算高维空间的特征向量,降低计算复杂度。常用核函数:① 线性核:适用于线性可分数据,计算最快;② 多项式核:适用于数据存在多项式关系的场景;③ RBF核(径向基函数):应用最广泛,适用于复杂非线性数据,能捕捉任意复杂的决策边界;④ Sigmoid核:类似神经网络的激活函数,适用于部分非线性场景。选择原则:优先尝试线性核(简单高效),若效果差,再尝试RBF核,通过交叉验证调整参数。
-
Q2:SVM中的软间隔是什么?惩罚参数C的作用? A:软间隔:线性不可分场景下,允许部分样本违反间隔约束(越界),但会对这些样本进行惩罚,平衡"间隔最大化"和"分类错误最小化"。惩罚参数C:C越大,对越界样本的惩罚越重,模型越倾向于分类正确,易过拟合;C越小,对越界样本的惩罚越轻,模型间隔越大,易欠拟合。
-
Q3:SVM为什么在小样本数据上表现好? A:SVM通过最大化间隔构建模型,注重数据的整体分布结构,而非依赖大量样本进行拟合;同时核函数能有效挖掘小样本数据中的潜在特征关系,因此在小样本场景下泛化能力较强。
-
Q4:SVM的优缺点? A:优点:泛化能力强、适合高维数据(如文本分类)、抗噪声能力较好;缺点:计算复杂度高(不适用于大规模数据)、核函数选择困难、对参数敏感(需交叉验证调参)。
易错点:误认为SVM只能用于二分类(实际可通过One-vs-All/One-vs-One实现多分类);混淆核函数的作用(不是"提升维度",而是"映射到可线性分离的空间")。
6. 贝叶斯算法(朴素贝叶斯)
核心原理:基于贝叶斯公式和"特征条件独立假设"(朴素假设),通过先验概率计算后验概率,实现分类。核心公式:$$P(Y|X) = \frac{P(X|Y)P(Y)}{P(X)}$$,因P(X)对所有类别一致,只需最大化$$P(X|Y)P(Y)$$即可。
面试必答题:
-
Q1:为什么叫"朴素"贝叶斯?朴素假设的意义是什么? A:"朴素"源于"特征条件独立假设",即假设所有特征之间相互独立,互不影响。意义:简化计算,降低贝叶斯公式的复杂度,若不做此假设,计算$$P(X|Y)$$时需考虑所有特征的组合,计算量极大,无法实际应用。
-
Q2:朴素贝叶斯的零概率问题是什么?如何解决? A:零概率问题:当训练集中某类样本的某个特征取值未出现时,会导致$$P(X|Y)=0$$,进而使后验概率为0,影响分类结果。解决方法:拉普拉斯平滑(给每个特征取值的计数加1,避免概率为0)。
-
Q3:朴素贝叶斯的优缺点?适用场景? A:优点:计算速度快、对小样本友好、对缺失值不敏感、可解释性强;缺点:朴素假设(特征独立)在实际中往往不成立,会影响模型精度。适用场景:文本分类(如垃圾邮件识别)、情感分析、多分类场景,尤其是特征维度高、样本量小的场景。
-
Q4:朴素贝叶斯与逻辑回归的区别? A:① 模型类型:朴素贝叶斯是生成模型(先求联合概率,再求后验概率),逻辑回归是判别模型(直接求后验概率);② 假设条件:朴素贝叶斯需满足特征独立,逻辑回归无此要求;③ 适用场景:朴素贝叶斯适用于小样本、高维数据,逻辑回归适用于大样本、特征相关的数据。
易错点:忘记朴素贝叶斯的"特征独立假设";混淆生成模型与判别模型的区别;忽略零概率问题的解决方法。
7. 集成学习(重点:随机森林)
核心原理:集成学习通过组合多个"基模型"(如决策树)的预测结果,提升模型的泛化能力,核心思想是"三个臭皮匠,顶个诸葛亮"。分为Bagging(并行集成,如随机森林)和Boosting(串行集成,如GBDT、XGBoost),面试重点考察随机森林。
随机森林核心细节:基于Bagging思想,构建多棵决策树,每棵树的训练数据通过"有放回抽样"(Bootstrap抽样)得到,每个节点分裂时,随机选择部分特征(随机子空间),最终通过投票(分类)或平均(回归)得到预测结果。其随机性体现在"数据抽样"和"特征选择"两个层面,有效降低过拟合风险。
面试必答题:
-
Q1:随机森林的优缺点? A:优点:① 自带特征选择(通过计算特征重要性,自动识别关键特征);② 抗过拟合能力强(多棵树集成,降低单棵树的过拟合风险);③ 包容数据缺陷(能处理缺失值、不同量纲特征,适配真实业务数据);④ 训练速度快(多棵树可并行训练)。缺点:① 可解释性差(无法像单棵决策树那样解释决策过程,需借助SHAP等工具);② 空间效率低(多棵树需占用大量内存,高维特征场景下更明显);③ 外推能力弱(不适用于需要强外推的场景,如股票价格预测)。
-
Q2:随机森林如何进行特征重要性评估? A:核心思路:计算每个特征对模型预测精度的贡献,贡献越大,特征重要性越高。常用方法:① 节点不纯度减少量(如基尼指数、熵的降低程度);② 置换重要性(随机打乱某一特征的取值,观察模型精度的下降幅度,下降越多,特征越重要)。
-
Q3:Bagging与Boosting的区别? A:① 训练方式:Bagging并行训练(多棵基模型同时训练,相互独立);Boosting串行训练(基模型依次训练,后一棵模型修正前一棵模型的错误);② 样本权重:Bagging样本权重一致;Boosting会增大错误样本的权重,让后续模型重点学习错误样本;③ 过拟合风险:Bagging降低过拟合;Boosting易过拟合(需调参控制);④ 代表算法:Bagging→随机森林;Boosting→GBDT、XGBoost、LightGBM。
-
Q4:随机森林中,某棵树特别深,会影响整体预测效果吗? A:影响较小。因为随机森林通过多棵树集成,单棵树过拟合(深度过深)的影响会被其他树抵消,且随机性(数据抽样、特征选择)也会降低单棵树过拟合对整体的影响。但过多深树会增加内存占用和计算量,需通过限制树的深度、最小样本数等参数优化。
易错点:混淆Bagging与Boosting的训练逻辑;忘记随机森林的"双重随机性";误认为随机森林不需要调参(实际需调整树的数量、深度、特征采样比例等)。
二、无监督学习算法
1. K-means(聚类,面试高频)
核心原理:基于距离的划分式聚类算法,核心是通过迭代寻找K个簇的质心,使每个簇内样本到质心的距离平方和最小(簇内紧凑、簇间分离)。步骤:① 随机初始化K个质心;② 计算每个样本到质心的距离,分配到最近的簇;③ 更新每个簇的质心(簇内样本均值);④ 重复②③,直至质心收敛(变化小于阈值)。
面试必答题:
-
Q1:如何确定K值? A:① 手肘法:绘制"K值-簇内平方和"曲线,曲线出现"手肘"(簇内平方和下降速度骤减)的点,即为最优K值;② 轮廓系数法:轮廓系数取值范围(-1,1),值越大,聚类效果越好,选择轮廓系数最大的K值;③ 业务经验:结合实际业务场景确定(如用户分群,根据业务需求确定分群数量)。
-
Q2:K-means的优缺点? A:优点:算法简单、计算高效、收敛速度快,适用于凸形分布、密度均匀的大规模数据;缺点:① 需人工指定K值,对K值敏感;② 对异常值敏感(异常值会严重影响质心计算);③ 仅适用于凸形簇,无法发现任意形状的簇(如环形簇)。
-
Q3:K-means与KNN的区别? A:① 学习类型:K-means是无监督学习(无标签),用于聚类;KNN是监督学习(有标签),用于分类/回归;② 训练过程:K-means有训练过程(迭代更新质心);KNN无训练过程,仅在预测时计算距离;③ 核心目标:K-means是"划分簇",KNN是"预测类别/值"。
易错点:忘记K-means对异常值敏感,需提前处理异常值;混淆K值的确定方法;忽略K-means的收敛性(可能陷入局部最优,可通过多次初始化质心解决)。
2. DBSCAN(聚类,补充考点)
核心原理:基于密度的聚类算法,无需提前指定簇数,将簇定义为"密度相连的点的最大集合",能发现任意形状的簇,同时自动识别异常值(噪声点)。核心依赖两个参数:Epsilon(E邻域半径)和MinPts(E邻域内的最小样本数)。
面试必答题:
-
Q1:DBSCAN的核心概念(核心对象、边界点、离群点)? A:① 核心对象:某样本的E邻域内,样本数量≥MinPts,是簇的"核心种子";② 边界点:本身不是核心对象,但在某个核心对象的E邻域内,属于簇的边缘;③ 离群点(噪声点):既不是核心对象,也不是边界点,不属于任何簇。
-
Q2:DBSCAN与K-means的区别? A:见下表:
| 特性 | K-means | DBSCAN |
|---|---|---|
| 学习类型 | 无监督 | 无监督 |
| 簇数指定 | 需人工指定K值 | 无需指定,自动识别 |
| 簇形状 | 仅支持凸形簇 | 支持任意形状簇 |
| 异常值处理 | 对异常值敏感,无法识别 | 自动识别异常值(噪声点) |
| 适用数据 | 大规模、密度均匀、凸形分布 | 任意密度、任意形状,含噪声数据 |
易错点:混淆DBSCAN的两个核心参数(Epsilon和MinPts)的作用;忘记DBSCAN对参数敏感(Epsilon过大导致簇合并,过小导致簇分裂)。
三、降维算法(重点:PCA)
注:你提到的"pcb降维"应为笔误,面试核心考察PCA(主成分分析),以下重点讲解PCA。
核心原理:最常用的线性降维技术,核心是"在保留数据主要信息(最大方差)的前提下,将高维特征映射到低维空间",本质是对数据的协方差矩阵进行特征值分解,选取特征值最大的前k个特征向量(主成分),将原始数据投影到这些主成分上,实现降维。
面试必答题:
-
Q1:PCA的核心步骤? A:① 数据归一化(消除量纲影响,必须做);② 计算原始数据的协方差矩阵(衡量特征间的相关性);③ 对协方差矩阵进行特征值分解,得到特征值和特征向量;④ 选取特征值最大的前k个特征向量(主成分);⑤ 将原始数据投影到这k个主成分上,得到降维后的数据。
-
Q2:PCA的目标是什么?(两个核心角度) A:① 最大化投影后数据的方差(保留数据的主要信息,方差越大,信息保留越充分);② 最小化投影后的重构误差(降维后的数据能尽可能还原原始数据)。
-
Q3:PCA与LDA的区别? A:见下表:
| 特性 | PCA(主成分分析) | LDA(线性判别分析) |
|---|---|---|
| 学习方式 | 无监督学习(无类别标签) | 监督学习(有类别标签) |
| 核心目标 | 最大化数据方差(保留主要信息) | 最大化类间距离、最小化类内距离(提升分类效果) |
| 应用场景 | 降维、数据压缩、去噪、可视化 | 降维、分类(辅助提升分类模型效果) |
| 依赖信息 | 仅利用特征分布信息 | 利用特征分布和类别标签信息 |
易错点:忘记PCA前必须归一化;混淆PCA与LDA的监督/无监督属性;误认为PCA能处理非线性降维(PCA是线性降维,非线性降维需用t-SNE、UMAP等算法)。
第二部分:深度学习
核心逻辑:从"基础网络(MLP)→ 专项网络(CNN用于图像、RNN/LSTM用于序列)→ 进阶网络(ResNet、Transformer、BERT)"逐步突破,重点掌握"网络结构特点+核心创新点+面试常问细节",无需深入推导反向传播公式,但要理解核心逻辑。
一、基础网络:MLP(多层感知机)
核心原理:最基础的深度学习网络,由输入层、隐藏层、输出层组成,本质是"多层线性变换+非线性激活函数",打破线性模型的局限性,能拟合复杂的非线性关系。输入层接收特征,隐藏层通过激活函数引入非线性,输出层输出预测结果(分类用softmax,回归用线性激活)。
面试必答题:
-
Q1:MLP的激活函数有哪些?各自的优缺点?为什么需要激活函数? A:需要激活函数的原因:引入非线性,让网络能拟合复杂的非线性关系(若无激活函数,多层网络等价于单层线性回归)。常用激活函数:① ReLU(最常用):$$f(x) = max(0, x)$$,优点:计算快、缓解梯度消失,缺点:存在"死亡ReLU"(部分神经元永久失活);② Leaky ReLU:解决死亡ReLU问题,给负区间加一个小斜率(如0.01),缺点:斜率需手动调整;③ Sigmoid:输出[0,1],适用于二分类输出层,缺点:梯度消失严重、计算慢;④ Tanh:输出[-1,1],比Sigmoid更易收敛,缺点:仍存在梯度消失;⑤ GELU:适用于Transformer,结合了ReLU和正态分布,性能更优。
-
Q2:MLP的过拟合问题如何解决? A:① Dropout:训练时随机"关闭"部分神经元(按概率p),迫使网络学习更鲁棒的特征,测试时不关闭神经元,激活值乘以(1-p);② 正则化(L1、L2):限制权重大小;③ 早停(Early Stopping):监控验证集误差,当误差不再下降时停止训练;④ 增加训练数据量。
-
Q3:MLP的隐藏层个数和神经元个数如何选择? A:无固定标准,需通过实验调优:① 隐藏层个数:一般1-3层(浅层MLP),层数过多易过拟合、梯度消失;② 神经元个数:输入层神经元数=特征数,输出层神经元数=类别数(分类)或1(回归),隐藏层神经元数介于输入层和输出层之间,可逐步调整(如从64、128开始尝试)。
易错点:忘记激活函数的核心作用(引入非线性);混淆不同激活函数的适用场景;忽略Dropout在训练和测试时的差异。
二、图像专项网络:CNN(卷积神经网络)
核心原理:专门处理网格结构数据(如图像、语音频谱)的网络,核心优势是"局部感知、参数共享、层级特征提取",减少参数数量,提升训练效率。核心层:卷积层(提取特征)、池化层(降维、保留关键特征)、全连接层(输出预测结果)。
面试必答题:
-
Q1:CNN的核心组件(卷积层、池化层)的作用? A:① 卷积层:通过卷积核(过滤器)与输入特征图进行卷积运算,提取局部特征(如边缘、纹理),参数共享(同一卷积核在整个特征图上重复使用),减少参数数量;② 池化层:对卷积层输出的特征图进行下采样,降低维度、减少计算量,同时保留关键特征,防止过拟合(常用最大池化、平均池化,最大池化更能保留边缘特征)。
-
Q2:卷积层的核心参数有哪些?如何计算输出特征图的尺寸? A:核心参数:① 卷积核大小(如3×3、5×5,常用奇数,便于居中);② 步长(Stride,卷积核移动的步幅,步长越大,输出尺寸越小);③ 填充(Padding,在输入特征图边缘补0,避免边缘特征丢失,常用Same Padding(输出尺寸与输入一致)、Valid Padding(无填充))。输出尺寸计算公式:$$Output = \frac{(Input - Kernel + 2×Padding)}{Stride} + 1$$(向下取整)。
-
Q3:CNN为什么能处理图像?相比MLP的优势是什么? A:① 图像是网格结构(如28×28的灰度图,3×224×224的彩色图),CNN的局部感知(每个神经元只关注局部区域)贴合图像的局部相关性(如像素的相邻关系);② 优势:参数共享减少参数数量,避免MLP处理图像时参数爆炸;层级特征提取(浅层提取边缘,深层提取语义特征),更符合人类视觉识别逻辑。
-
Q4:什么是感受野? A:感受野是指输出特征图上的一个像素,对应输入图像上的区域大小,深层卷积层的感受野比浅层大,能捕捉更全局的特征(如浅层捕捉边缘,深层捕捉物体整体轮廓)。
易错点:混淆卷积层和池化层的作用;忘记输出特征图尺寸的计算公式;忽略Padding的作用(避免边缘特征丢失)。
三、CNN进阶:ResNet(残差网络)
核心原理:解决深层CNN的"梯度消失/梯度爆炸"问题,核心创新是"残差连接(Skip Connection)",即跳过1个或多个卷积层,将输入直接加到输出上,让网络能"恒等映射"(输入=输出),从而实现深层网络的训练(可训练百层以上网络)。
面试必答题:
-
Q1:ResNet为什么能解决梯度消失问题? A:深层网络训练时,梯度会随着反向传播逐渐衰减(梯度消失),导致浅层参数无法更新。残差连接让梯度可以"跳过"深层卷积层,直接传播到浅层,避免梯度衰减,同时恒等映射让网络在深层时仍能保持性能不下降。
-
Q2:ResNet的残差块有两种类型(瓶颈结构和基本块),区别是什么? A:① 基本块(Basic Block):由2个3×3卷积层组成,适用于较浅的ResNet(如ResNet-18、ResNet-34);② 瓶颈结构(Bottleneck):由1×1卷积(降维)→3×3卷积(特征提取)→1×1卷积(升维)组成,减少参数数量,适用于较深的ResNet(如ResNet-50、ResNet-101)。
-
Q3:ResNet的创新点是什么?相比传统CNN的优势? A:核心创新点:残差连接、恒等映射。优势:① 解决深层网络梯度消失问题,可训练更深的网络;② 提升模型泛化能力,避免过拟合;③ 训练更稳定,收敛速度更快。
易错点:误认为残差连接是"直接相加",忽略输入和输出的维度需一致(若维度不一致,需用1×1卷积调整维度);混淆两种残差块的适用场景。
四、序列专项网络:RNN、LSTM
核心场景:处理序列数据(如文本、时间序列、语音),核心优势是"记忆性",能利用序列的上下文信息(如文本中的前后词语、时间序列中的历史数据)。
1. RNN(循环神经网络)
核心原理:网络中包含循环结构,能将上一时刻的隐藏状态传递到下一时刻,实现对序列上下文的记忆。核心公式:$$h_t = \sigma(W_{xh}x_t + W_{hh}h_{t-1} + b_h)$$,$$y_t = W_{hy}h_t + b_y$$(h_t为当前时刻隐藏状态,h_{t-1}为上一时刻隐藏状态)。
面试必答题:
-
Q1:RNN的缺点是什么?为什么会出现这些问题? A:核心缺点:梯度消失/梯度爆炸(长期依赖问题)。原因:反向传播时,梯度需要通过循环结构传递,当序列过长时,梯度会随着时间步的增加而指数级衰减(梯度消失)或增长(梯度爆炸),导致模型无法学习到长期上下文信息(如长文本的前后关联)。
-
Q2:RNN的应用场景有哪些? A:短序列场景,如短文本分类、简单时间序列预测、语音识别(短片段),不适用于长序列场景。
2. LSTM(长短期记忆网络)
核心原理:RNN的改进版,通过"门结构"(遗忘门、输入门、输出门)解决RNN的长期依赖问题,能选择性地记忆长期信息、遗忘无关信息,保留有用的上下文信息。
面试必答题:
-
Q1:LSTM的三个门结构的作用分别是什么? A:① 遗忘门(Forget Gate):决定上一时刻的隐藏状态中,哪些信息需要被遗忘(输出0表示完全遗忘,1表示完全保留);② 输入门(Input Gate):决定当前时刻的输入信息中,哪些需要被保留到细胞状态中;③ 输出门(Output Gate):决定细胞状态中,哪些信息需要被输出到当前时刻的隐藏状态中。
-
Q2:LSTM如何解决RNN的梯度消失问题? A:① 细胞状态(Cell State):类似"传送带",信息可以直接传递,梯度衰减缓慢;② 门结构的 sigmoid 激活函数,能让梯度保持在合理范围,避免梯度指数级衰减,从而实现对长期上下文信息的学习。
-
Q3:LSTM与RNN的区别?适用场景? A:区别:① 结构上,LSTM多了门结构和细胞状态,RNN只有简单的循环结构;② 功能上,LSTM能解决长期依赖问题,RNN无法处理长序列。适用场景:LSTM适用于长序列场景,如长文本翻译、长时时间序列预测、语音识别;RNN适用于短序列场景。
易错点:混淆LSTM三个门的作用;忘记LSTM的核心是"细胞状态"和"门结构";误认为LSTM能完全解决梯度消失(仍可能存在轻微梯度消失,可通过调参优化)。
五、NLP进阶:Transformer、BERT
核心背景:Transformer是当前NLP领域的核心架构,BERT基于Transformer的Encoder部分,是预训练语言模型的代表,面试重点考察"自注意力机制""预训练任务"。
1. Transformer
核心原理:完全基于自注意力机制(Self-Attention),替代RNN的循环结构,实现并行训练,解决RNN的长期依赖问题,能更好地捕捉序列的全局上下文信息。核心结构:Encoder(编码器,用于特征提取)和Decoder(解码器,用于生成任务),每层包含Multi-Head Self-Attention(多头自注意力)和Feed-Forward Network(前馈网络),辅以残差连接和层归一化。
面试必答题:
-
Q1:自注意力机制(Self-Attention)的原理是什么?作用? A:原理:计算序列中每个位置与其他所有位置的"注意力权重"(相关性),然后根据权重对所有位置的特征进行加权求和,得到当前位置的特征表示。核心公式:通过Query(查询)、Key(键)、Value(值)计算注意力权重,$$Attention(Q,K,V) = softmax(\frac{QK^T}{\sqrt{d_k}})V$$($$\sqrt{d_k}$$用于防止维度过高导致的softmax饱和)。作用:能捕捉序列中任意两个位置的关联(全局依赖),无需像RNN那样逐时刻传递,实现并行训练,提升效率。
-
Q2:Multi-Head Self-Attention(多头自注意力)的作用是什么? A:将自注意力机制分成多个"头",每个头关注不同的特征维度(如有的头关注语法,有的头关注语义),然后将多个头的输出拼接,能捕捉更丰富的上下文信息,提升模型性能。
-
Q3:Transformer为什么需要位置编码(Position Embedding)? A:Transformer没有循环结构,无法捕捉序列的位置信息(如文本中词语的顺序),位置编码通过给每个位置添加一个独特的向量,让模型知道序列中每个元素的位置,从而保留位置信息。
-
Q4:Encoder和Decoder的区别? A:① Encoder:双向自注意力,能同时关注序列的前后位置,适用于理解任务(如文本分类、情感分析);② Decoder:包含Masked Self-Attention(掩码自注意力,防止模型看到未来的token)和Cross-Attention(交叉注意力,关注Encoder的输出),适用于生成任务(如文本翻译、文本生成)。
2. BERT(Bidirectional Encoder Representations from Transformers)
核心原理:基于Transformer的Encoder部分,是"双向预训练语言模型",核心是通过预训练任务(MLM、NSP)学习文本的双向语义信息,然后通过微调适配下游NLP任务(如文本分类、问答、命名实体识别)。
面试必答题:
-
Q1:BERT的核心创新点是什么?为什么是"双向"的? A:核心创新点:① 基于Transformer Encoder,实现双向注意力;② 预训练+微调的模式,提升下游任务性能。"双向"的原因:采用Masked Language Model(MLM,掩码语言模型),随机掩盖文本中的部分token,让模型预测被掩盖的token,迫使模型同时关注token的前后上下文,从而学习双向语义信息(区别于GPT的单向自回归)。
-
Q2:BERT的预训练任务有哪些?作用是什么? A:① MLM(掩码语言模型):随机掩盖15%的token(80%替换为[MASK],10%替换为随机token,10%保留原token),让模型预测被掩盖的token,学习文本的语义特征;② NSP(Next Sentence Prediction,下一句预测):判断两个句子是否为连续的句子,学习句子间的语义关联(BERT原始版本,部分改进版已取消)。
-
Q3:BERT的优缺点?如何优化BERT的缺点? A:优点:① 双向语义理解能力强,下游任务适配性好;② 泛化能力强,适用于多种NLP任务。缺点:① 参数量大,推理速度慢;② 长文本处理效率低(输入长度有限制)。优化方法:① 轻量化(如DistilBERT、ALBERT,减少参数量);② 长文本处理(如Longformer、Transformer-XL,提升输入长度限制);③ 推理加速(如量化、剪枝)。
-
Q4:BERT与GPT的区别? A:① 架构:BERT是Encoder-only(双向注意力),GPT是Decoder-only(单向自注意力);② 预训练任务:BERT用MLM(双向预测),GPT用自回归下一句预测(单向);③ 适用场景:BERT适用于理解任务(文本分类、问答),GPT适用于生成任务(文本生成、翻译)。
易错点:混淆BERT和Transformer的关系(BERT基于Transformer Encoder);忘记MLM的掩码策略(三种掩码方式);忽略BERT的输入表示(Word Embedding + Segment Embedding + Position Embedding)。
第三部分:面试实战提示
-
回答问题的逻辑:先讲"核心原理"(一句话总结),再讲"关键细节"(参数、结构、步骤),最后讲"优缺点+适用场景",面试官最看重这种清晰的逻辑。
-
高频场景题:重点准备"算法对比"(如逻辑回归vs朴素贝叶斯、K-means vs DBSCAN、CNN vs MLP、LSTM vs RNN),这些题能快速体现你的理解深度。
-
避坑提醒:① 不强行推导复杂公式(如CNN反向传播、Transformer注意力计算),面试官不会为难应届毕业生,重点是理解原理;② 不夸大项目经验,若有课程设计、小项目,重点讲"用了什么算法、解决了什么问题、如何调参、提升了多少性能";③ 遇到不会的题,不要慌