跳转至

概率统计与数学面试题 — 15 道 AI 必考数学推导题

重要性:概率论 / 线性代数 / 优化理论是 AI 算法岗面试数学基本功 难度标注:🟢 基础 | 🟡 进阶 | 🔴 困难 公司标签:[字节] [百度] [Google] [Meta] [阿里] [华为] 等

⚠️ 标签说明(2026-04-03):公司标签仅表示这类数学题在公开面经或岗位讨论中常被提到;数学结论本身按通用理论成立,与具体公司无关。


一、概率论基础( 5 题)


Q1: 贝叶斯定理及其在 ML 中的应用 🟢 [字节] [Google] [通用]

题目:推导贝叶斯定理,并说明其在机器学习中的应用。

参考答案

贝叶斯定理

\[ P(\theta | D) = \frac{P(D | \theta) \cdot P(\theta)}{P(D)} = \frac{P(D|\theta) \cdot P(\theta)}{\int P(D|\theta')P(\theta')d\theta'} \]
  • 后验 \(P(\theta|D)\):观测数据后对参数的信念
  • 似然 \(P(D|\theta)\):给定参数,数据的生成概率
  • 先验 \(P(\theta)\):对参数的先验信念
  • 边际似然 \(P(D)\):归一化常数( evidence )

在 ML 中的应用

  • MAP 估计:\(\hat{\theta} = \arg\max P(\theta\mid D)\)(等价于 MLE + 正则化)
  • 朴素贝叶斯:文本分类 \(P(y\mid x) \propto P(y)\prod P(x_i\mid y)\)
  • 贝叶斯神经网络:对权重分布建模而非点估计
  • 贝叶斯优化:超参数搜索用高斯过程建模
  • 变分推断:VAE 中近似后验分布

追问: MLE 和 MAP 的区别? → MLE 只最大化似然 \(P(D|\theta)\); MAP 额外考虑先验 \(P(\theta)\)。当先验为高斯分布时, MAP 等价于 L2 正则化;先验为拉普拉斯分布时,等价于 L1 正则化。


Q2: MLE 推导 🟡 [字节] [百度] [Google]

题目:推导高斯分布的最大似然估计。

参考答案

\(x_1, x_2, ..., x_n \sim \mathcal{N}(\mu, \sigma^2)\) i.i.d.

似然函数

\[ L(\mu, \sigma^2) = \prod_{i=1}^n \frac{1}{\sqrt{2\pi\sigma^2}} \exp\left(-\frac{(x_i-\mu)^2}{2\sigma^2}\right) \]

对数似然

\[ \ell(\mu, \sigma^2) = -\frac{n}{2}\ln(2\pi) - \frac{n}{2}\ln(\sigma^2) - \frac{1}{2\sigma^2}\sum_{i=1}^n(x_i - \mu)^2 \]

对 μ 求导

\[ \frac{\partial \ell}{\partial \mu} = \frac{1}{\sigma^2}\sum_{i=1}^n(x_i - \mu) = 0 \implies \hat{\mu}_{MLE} = \frac{1}{n}\sum x_i = \bar{x} \]

对 σ² 求导

\[ \frac{\partial \ell}{\partial \sigma^2} = -\frac{n}{2\sigma^2} + \frac{1}{2\sigma^4}\sum(x_i-\mu)^2 = 0 \implies \hat{\sigma}^2_{MLE} = \frac{1}{n}\sum(x_i-\bar{x})^2 \]

注意: MLE 的 \(\hat{\sigma}^2\) 是有偏估计(分母是 \(n\) 而非 \(n-1\)),无偏估计用 \(\frac{1}{n-1}\sum(x_i-\bar{x})^2\)

追问:为什么线性回归的 MSE 损失等价于高斯噪声假设下的 MLE ? → 假设 \(y = w^Tx + \epsilon\)\(\epsilon \sim \mathcal{N}(0, \sigma^2)\), MLE 最大化 \(\prod P(y_i|x_i,w)\),取对数后就是最小化 \(\sum(y_i - w^Tx_i)^2\),即 MSE 。


Q3: 常见概率分布及其联系 🟡 [字节] [Google] [阿里]

题目:总结 ML 中常见的概率分布及其关系。

参考答案

Text Only
             ┌─── 伯努利(p) ───→ 二项分布(n,p)
             │       ↓ n→∞, p→0
             │    泊松分布(λ)
分布族谱 ────┤
             │    均匀分布 ─→ Beta分布(α,β) 【伯努利的共轭先验】
             │    正态分布 ──→ 多元正态 ──→ 高斯混合模型(GMM)
             │       ↓ χ²             ↓
             └── t分布 ← F分布     Wishart分布

常见分布与 ML 对应

  • 伯努利:参数为 \(p\)|ML 中的角色:二分类
  • Categorical:参数为 \(p_1,...,p_K\)|ML 中的角色:多分类(softmax 输出)
  • 高斯:参数为 \(\mu, \sigma^2\)|ML 中的角色:假设数据噪声 / VAE 潜变量
  • 拉普拉斯:参数为 \(\mu, b\)|ML 中的角色:L1 正则化先验
  • Beta:参数为 \(\alpha, \beta\)|ML 中的角色:伯努利参数的先验
  • Dirichlet:参数为 \(\alpha_1,...,\alpha_K\)|ML 中的角色:Categorical 参数的先验
  • Gumbel-Softmax:参数为 \(\tau\)|ML 中的角色:离散采样的可微近似

共轭先验——如果先验和后验属于同一分布族,就是共轭先验。

  • 伯努利/二项:共轭先验为 Beta|后验为 Beta
  • Categorical/多项:共轭先验为 Dirichlet|后验为 Dirichlet
  • 高斯(已知方差):共轭先验为高斯|后验为高斯
  • 泊松:共轭先验为 Gamma|后验为 Gamma

Q4: 信息论三兄弟——熵、交叉熵、 KL 散度 🟡 [字节] [Google] [百度]

题目:解释熵、交叉熵和 KL 散度的定义、关系和在 ML 中的应用。

参考答案

信息熵(衡量不确定性):

\[ H(P) = -\sum_x P(x) \log P(x) \]

交叉熵(编码损失):

\[ H(P, Q) = -\sum_x P(x) \log Q(x) \]

KL 散度(分布差异):

\[ D_{KL}(P \| Q) = \sum_x P(x) \log \frac{P(x)}{Q(x)} = H(P, Q) - H(P) \]

关键关系

\[ H(P, Q) = H(P) + D_{KL}(P \| Q) \]

→ 最小化交叉熵 = 最小化 KL 散度(因为 \(H(P)\) 是常数)

ML 中的应用

  • 交叉熵:分类损失函数
  • KL 散度:VAE 正则项、知识蒸馏
  • 互信息:特征选择、对比学习(InfoNCE 下界)
  • 信息增益:决策树分裂标准
  • 困惑度(PPL):\(\text{PPL} = 2^{H(P,Q)}\),用于语言模型评估

追问: KL 散度为什么不对称? → \(D_{KL}(P\|Q) \neq D_{KL}(Q\|P)\),前者(前向 KL )倾向于让 Q 覆盖 P 的所有模式( mode-covering ),后者(反向 KL )让 Q 集中在 P 的一个模式上( mode-seeking )。 VAE 用反向 KL \(D_{KL}(q\|p)\)


Q5: 经典概率面试题 🟡 [字节] [Google] [Meta]

题目:你有两个孩子,已知至少有一个是女孩。两个都是女孩的概率是多少?

参考答案

直觉: ½ (错误!)

正确答案: ⅓

推导:两个孩子的所有等概率情况:{BB, BG, GB, GG}

已知"至少一个女孩"排除 BB ,剩余 {BG, GB, GG},每个概率 ⅓

\[ P(\text{GG} | \text{至少一个 G}) = \frac{P(\text{GG})}{P(\text{至少一个 G})} = \frac{1/4}{3/4} = \frac{1}{3} \]

变体——如果告诉你"大孩子是女孩"? → 答案变成 ½ 。因为条件变了:{GB, GG},概率 = ½ 。

面试启示:概率问题要小心条件,用贝叶斯或列举法严格推导。


二、线性代数( 5 题)


Q6: 特征值分解和 SVD 🟡 [字节] [Google] [百度]

题目:特征值分解 (EVD) 和奇异值分解 (SVD) 的区别和联系。

参考答案

特征值分解(方阵)

\[ A = Q \Lambda Q^{-1} \]
  • A 必须是方阵
  • Q 是特征向量矩阵,Λ 是特征值对角矩阵
  • 对称矩阵 A :\(A = Q\Lambda Q^T\)(正交分解)

奇异值分解(任意矩阵)

\[ A_{m \times n} = U_{m \times m} \Sigma_{m \times n} V^T_{n \times n} \]
  • U :左奇异向量(\(AA^T\) 的特征向量)
  • V :右奇异向量(\(A^TA\) 的特征向量)
  • Σ:奇异值(\(\sigma_i = \sqrt{\lambda_i(A^TA)}\)

联系

  • 对称正半定矩阵: SVD = EVD
  • SVD 中奇异值 = 特征值的平方根

ML 应用

  • SVD:应用为 PCA|说明:取前 k 个最大奇异值
  • SVD:应用为推荐系统|说明:矩阵分解(Netflix)
  • SVD:应用为 LoRA|说明:低秩近似微调大模型
  • EVD:应用为谱聚类|说明:图拉普拉斯矩阵特征分解
  • EVD:应用为协方差矩阵分析|说明:PCA 的另一种推导

追问: LoRA 和 SVD 的关系? → LoRA 将权重更新 \(\Delta W\) 限制为低秩矩阵 \(BA\)( B: d×r, A: r×d ), r 远小于 d 。这等价于假设更新矩阵可以用 SVD 的前 r 个分量近似。


Q7: 矩阵求导基础 🟡 [字节] [Google]

题目:推导常见的矩阵求导公式。

参考答案

标量对向量求导( ML 中最常用):

\[ \frac{\partial}{\partial x}(a^Tx) = a \]
\[ \frac{\partial}{\partial x}(x^TAx) = (A + A^T)x \quad \text{(A 对称时 = } 2Ax \text{)} \]
\[ \frac{\partial}{\partial x}\|y - Ax\|^2 = -2A^T(y - Ax) \]

→ 令其为 0 得到最小二乘解:\(\hat{x} = (A^TA)^{-1}A^Ty\)

线性回归正规方程推导

\[ L(w) = \|Xw - y\|^2 = (Xw-y)^T(Xw-y) \]
\[ \frac{\partial L}{\partial w} = 2X^T(Xw - y) = 0 \]
\[ \hat{w} = (X^TX)^{-1}X^Ty \]

追问\(X^TX\) 什么时候不可逆? → 当特征数 > 样本数 (\(p > n\)),或特征间共线性时。此时可加正则化 \(\hat{w} = (X^TX + \lambda I)^{-1}X^Ty\)(岭回归)。


Q8: 正定矩阵与凸优化 🟡 [Google] [字节]

题目:什么是正定矩阵?和凸优化有什么关系?

参考答案

正定矩阵定义

  • \(A\) 是对称矩阵,且 \(\forall x \neq 0, x^TAx > 0\)
  • 等价条件:所有特征值 > 0

半正定\(x^TAx \geq 0\),所有特征值 \(\geq 0\)

与凸优化的关系

对于二次函数 \(f(x) = \frac{1}{2}x^TAx + b^Tx + c\)

  • A 正定 → f 严格凸 → 有唯一全局最小值
  • A 半正定 → f 凸 → 局部最小值 = 全局最小值
  • A 不定 → f 非凸 → 可能有鞍点

判断凸性的方法: Hessian 矩阵(二阶导矩阵)半正定 ⟺ 函数凸

ML 场景

  • 线性回归:凸|说明:Hessian = \(2X^TX\) 半正定
  • 逻辑回归:凸|说明:Hessian 半正定
  • SVM:凸|说明:二次规划
  • 神经网络:非凸|说明:大量鞍点和局部最小值

追问:深度学习的损失面是非凸的,为什么 SGD 还能找到好的解? → 高维非凸空间中鞍点多于局部最小值。"坏"的局部最小值在高维中越来越少( loss barrier 理论),而 SGD 的噪声帮助逃离鞍点。


Q9: PCA 的数学推导 🟡 [字节] [百度] [阿里]

题目:从最大方差和最小重构误差两个角度推导 PCA 。

参考答案

最大方差角度

数据 \(X \in \mathbb{R}^{n \times d}\)(已中心化),找投影方向 \(w\) 使方差最大:

\[ \max_{w: \|w\|=1} w^T S w \quad \text{其中 } S = \frac{1}{n}X^TX \text{ (协方差矩阵)} \]

拉格朗日乘子法:\(\frac{\partial}{\partial w}(w^TSw - \lambda(w^Tw - 1)) = 0 \implies Sw = \lambda w\)

→ 最优 \(w\)\(S\) 的特征向量,对应最大特征值的方向。

最小重构误差角度

\[ \min_{W \in \mathbb{R}^{d \times k}} \sum_i \|x_i - WW^Tx_i\|^2 \]

→ 解也是协方差矩阵的前 k 个特征向量。

两种视角等价\(\text{总方差} = \text{保留方差} + \text{重构误差}\)

追问: PCA 的局限性? → 只能捕获线性关系。非线性可以用 Kernel PCA 或 t-SNE/UMAP (可视化)。 PCA 对尺度敏感,需要先标准化。


Q10: Softmax 的数学性质 🟢 [字节] [Meta] [通用]

题目:推导 Softmax 函数的梯度,以及数值稳定性技巧。

参考答案

Softmax 定义

\[ \text{softmax}(z_i) = \frac{e^{z_i}}{\sum_j e^{z_j}} \]

梯度

\[ \frac{\partial \text{softmax}(z_i)}{\partial z_j} = \begin{cases} p_i(1 - p_i) & \text{if } i = j \\ -p_i p_j & \text{if } i \neq j \end{cases} \]

矩阵形式:\(\frac{\partial p}{\partial z} = \text{diag}(p) - pp^T\)

数值稳定性:直接计算 \(e^{z_i}\) 可能溢出。

\[ \text{softmax}(z_i) = \frac{e^{z_i - \max(z)}}{\sum_j e^{z_j - \max(z)}} \]

减去最大值不改变结果(因为分子分母同乘 \(e^{-\max(z)}\)),但避免了上溢。

Python
def stable_softmax(z):
    z_shifted = z - np.max(z)
    exp_z = np.exp(z_shifted)
    return exp_z / np.sum(exp_z)

追问: Softmax + 交叉熵的梯度简化? → 合在一起计算:\(\frac{\partial L}{\partial z_i} = p_i - y_i\)(预测的 softmax 概率减去真实标签),非常简洁优美。这也是为什么框架实现时把 softmax 和 CE 合并(F.cross_entropy 接收 logits )。


三、优化理论( 5 题)


Q11: SGD/Momentum/Adam 对比推导 🟡 [字节] [Google] [通用]

题目:推导 SGD 、 Momentum 、 Adam 的更新公式并对比。

参考答案

SGD

\[ \theta_{t+1} = \theta_t - \eta g_t \]

SGD + Momentum (动量)

\[ v_t = \beta v_{t-1} + g_t \]
\[ \theta_{t+1} = \theta_t - \eta v_t \]
  • 指数移动平均 of gradients → 加速和平滑震荡

Adam ( Adaptive Moment Estimation )

\[ m_t = \beta_1 m_{t-1} + (1-\beta_1) g_t \quad \text{(一阶矩估计)} \]
\[ v_t = \beta_2 v_{t-1} + (1-\beta_2) g_t^2 \quad \text{(二阶矩估计)} \]
\[ \hat{m}_t = \frac{m_t}{1-\beta_1^t}, \quad \hat{v}_t = \frac{v_t}{1-\beta_2^t} \quad \text{(偏差修正)} \]
\[ \theta_{t+1} = \theta_t - \eta \frac{\hat{m}_t}{\sqrt{\hat{v}_t} + \epsilon} \]

AdamW (权重衰减修正)

\[ \theta_{t+1} = \theta_t - \eta \left(\frac{\hat{m}_t}{\sqrt{\hat{v}_t} + \epsilon} + \lambda \theta_t\right) \]

→ AdamW 将 weight decay 从梯度中分离出来( Adam 的 L2 正则和 weight decay 不等价), LLM 训练标配。

  • SGD+M:优点是泛化好|缺点是收敛慢|适用场景:CV(图像分类)
  • Adam:优点是收敛快|缺点是泛化可能差|适用场景:NLP/Transformer
  • AdamW:优点是 Adam 的修正版|缺点:-|适用场景:LLM 训练标配

Q12: 凸优化 vs 非凸优化 🟡 [Google] [字节]

题目:深度学习为什么是非凸优化?如何理解其损失面?

参考答案

凸 vs 非凸

  • 凸:任意局部最小值 = 全局最小值
  • 非凸:可能有多个局部最小值、鞍点

为什么神经网络非凸

  • 非线性激活函数引入非凸性
  • 权重置换对称性:交换两个神经元的参数得到相同的网络
  • 损失面有大量鞍点

现代理解——损失面的结构

Text Only
高维损失面特征:
1. 鞍点 >> 局部最小值(高维中随机点几乎不可能所有方向都是最小)
2. "坏"的局部最小值很少(loss barrier 理论)
3. 大多数局部最小值的loss相近且接近全局最优
4. 存在 loss basin(许多好解形成的"谷")

为什么 SGD 还能工作

  • SGD 的噪声帮助逃离鞍点和尖锐的局部最小值
  • 尖锐最小值泛化差( SAM 论文的发现)
  • 大 batch 训练容易收敛到尖锐最小值(泛化差)
  • 小 batch 的噪声反而是一种正则化

追问:什么是 SAM ( Sharpness-Aware Minimization )? → SAM 不仅最小化 loss ,还最小化最坏情况下的 loss :\(\min_\theta \max_{\|\epsilon\| \leq \rho} L(\theta + \epsilon)\),偏好平坦的最小值,泛化更好。


Q13: 方差和偏差 (Bias-Variance Tradeoff) 的数学推导 🟡 [字节] [百度] [通用]

题目:推导偏差-方差分解公式。

参考答案

设真实关系 \(y = f(x) + \epsilon\)\(\epsilon \sim \mathcal{N}(0, \sigma^2)\)

模型学到的函数 \(\hat{f}(x)\)(不同训练集会学到不同的 \(\hat{f}\)

期望预测误差

\[ E[(y - \hat{f}(x))^2] = \text{Bias}^2 + \text{Variance} + \text{Noise} \]

推导

\[ E[(y - \hat{f})^2] = E[(f + \epsilon - \hat{f})^2] \]
\[ = E[(f - E[\hat{f}] + E[\hat{f}] - \hat{f} + \epsilon)^2] \]
\[ = \underbrace{(f - E[\hat{f}])^2}_{\text{Bias}^2} + \underbrace{E[(\hat{f} - E[\hat{f}])^2]}_{\text{Variance}} + \underbrace{\sigma^2}_{\text{Noise}} \]
  • Bias²:含义是模型复杂度不够|降低方法:更复杂的模型
  • Variance:含义是模型对训练数据过敏感|降低方法:正则化 / 集成 / 更多数据
  • Noise:含义是数据固有噪声|降低方法:不可减少

追问:深度学习是高方差模型,为什么泛化还好? → Double Descent 现象:超参数化后模型反而泛化好。原因包括 SGD 隐式正则化、 Lottery Ticket Hypothesis 等。传统 bias-variance tradeoff 在超参数化区域不完全适用。


Q14: 采样方法 🟡 [Google] [字节]

题目:解释蒙特卡洛采样和重要性采样的原理。

参考答案

问题:计算期望 \(E_{x \sim P}[f(x)] = \int f(x)P(x)dx\),当 P(x) 复杂或高维时无法解析求解。

蒙特卡洛采样

\[ E_{P}[f(x)] \approx \frac{1}{N}\sum_{i=1}^N f(x_i), \quad x_i \sim P \]

直接从 P 采样 N 个点取平均。

重要性采样(当 P 难以采样时):

\[ E_{P}[f(x)] = \int f(x)\frac{P(x)}{Q(x)}Q(x)dx = E_{Q}\left[f(x)\frac{P(x)}{Q(x)}\right] \]
\[ \approx \frac{1}{N}\sum_{i=1}^N f(x_i)\frac{P(x_i)}{Q(x_i)}, \quad x_i \sim Q \]
  • \(\frac{P(x)}{Q(x)}\) 是重要性权重
  • Q 是提议分布(必须在 P 非零处也非零)

ML 中的应用

  • 蒙特卡洛:变分推断(VAE 中对 ELBO 的估计)
  • 重要性采样:PPO/RLHF 中旧策略采集的样本用于训练新策略
  • Gibbs 采样:玻尔兹曼机
  • MCMC:贝叶斯后验推断

追问: PPO 中的重要性采样比率 \(r(\theta) = \frac{\pi_\theta(a|s)}{\pi_{\theta_{old}}(a|s)}\) 是什么? → 用旧策略采集的 trajectory 来估计新策略的期望奖励。 PPO 用 clip 限制 \(r(\theta)\)\([1-\epsilon, 1+\epsilon]\),防止策略更新过大。


Q15: 拉格朗日对偶和 KKT 条件 🔴 [Google] [字节]

题目:解释拉格朗日对偶问题和 KKT 条件,及其在 SVM 中的应用。

参考答案

原问题

\[ \min f(x) \quad \text{s.t.} \quad g_i(x) \leq 0, \quad h_j(x) = 0 \]

拉格朗日函数

\[ L(x, \lambda, \nu) = f(x) + \sum_i \lambda_i g_i(x) + \sum_j \nu_j h_j(x) \]

对偶问题

\[ \max_{\lambda \geq 0, \nu} \min_x L(x, \lambda, \nu) \]

弱对偶:对偶最优 ≤ 原问题最优(总是成立) 强对偶:对偶最优 = 原问题最优(凸问题 + Slater 条件时成立)

KKT 条件(最优解的必要条件):

  1. 稳定性\(\nabla_x L = 0\)
  2. 原始可行\(g_i(x^*) \leq 0, h_j(x^*) = 0\)
  3. 对偶可行\(\lambda_i \geq 0\)
  4. 互补松弛\(\lambda_i g_i(x^*) = 0\)

SVM 中的应用

原问题:\(\min \frac{1}{2}\|w\|^2 \quad \text{s.t.} \quad y_i(w^Tx_i + b) \geq 1\)

对偶问题:

\[ \max_\alpha \sum_i \alpha_i - \frac{1}{2}\sum_{i,j}\alpha_i\alpha_j y_i y_j x_i^T x_j \quad \text{s.t.} \quad \alpha_i \geq 0 \]

互补松弛 \(\alpha_i(y_i(w^Tx_i+b)-1)=0\) → 只有支持向量的 \(\alpha_i > 0\)

→ 对偶形式只涉及 \(x_i^Tx_j\),可以用核函数 \(K(x_i, x_j)\) 替换,实现非线性 SVM 。


学习检查清单

  • 能推导贝叶斯定理和 MLE
  • 理解常见概率分布和共轭先验
  • 掌握信息论三兄弟(熵、交叉熵、 KL 散度)的关系
  • 能做 SVD/PCA 的推导
  • 掌握矩阵求导(向量对向量求导)
  • 理解 Softmax 的梯度和数值稳定性
  • 能推导 Adam 优化器的更新公式
  • 理解偏差-方差分解
  • 了解重要性采样和 PPO 的关系
  • 知道 KKT 条件在 SVM 中的应用

⚠️ 核验说明(2026-04-03):本页已完成 2026-04-03 人工复核。数学推导、最优性条件和优化结论按标准教材口径保留;“最优/必要条件”属于理论定义时未做弱化。


最后更新日期: 2026-04-03