深夜的客厅里,一块蛋糕不见了。名侦探柯北蹲在地上,手里捏着三样“证据”:盘边的碎屑、桌角的奶油印、还有一串直通冰箱的小脚印。三个嫌疑人都声称无辜——爱甜食的小明、怕胖的小红、早就睡下的小丽。柯北要做的事,和我们学“最大似然估计”要做的事一模一样:把每个嫌疑人“制造出这套证据”的可能性都算一遍,然后径直走向那个可能性最大的人。 在机器学习的世界里,“证据”就是你手里的一堆数据,“嫌疑人”则是模型里那个未知的参数 θ。最大似然估计(Maximum Likelihood Estimation,简称 MLE)就是那位冷静的侦探:它不猜、不赌、不靠直觉,只问一个问题——“在什么样的参数下,我看到的这份数据最有可能出现?”答案就是参数的估计值。这篇文章会带你沿着“侦探的推理链”,一步步拆解似然函数的构造、对数似然的巧思、求解的步骤与数值方法、MLE 的渐近性质,以及它和贝叶斯推断的关系,最后用线性回归和逻辑回归两个经典案例,看看这位侦探如何在真实算法里大展身手。

岗位关联

对 AI 从业者而言,MLE 是理解监督学习损失函数(交叉熵、均方误差)的钥匙。掌握它,你才能真正读懂模型在“优化什么”,也才能在调参、设计损失函数时拥有自己的判断力。

目录
  1. 可视化演示
  2. 似然函数概念
  3. 对数似然技巧
  4. MLE求解步骤
  5. 数值优化方法
  6. 渐近性质
  7. 与贝叶斯关系
  8. 线性回归应用
  9. 逻辑回归应用
  10. AI 应用场景
  11. Python 演示
  12. 常见误区
  13. 面试题

可视化演示

展示系统处理流水线、实时性能指标曲线及多方案对比分析,包含数据流转、吞吐延迟监控与方案评估。

本节配有交互动效(进入视口后自动加载,约 3KB)。

系统可视化 处理流程:输入→处理→模型→输出 性能监控:实时指标 P=L×T

似然函数概念

柯北的笔记本上画着一张“嫌疑人匹配表”:小明见到奶油就迈不动腿,匹配度 0.9;小红对甜食避之不及,匹配度 0.1;小丽素来贪嘴,匹配度 0.6。每一行都写着“如果是这个人,眼前这套证据出现的概率有多大”。统计学家把这张表抽象成一个函数,名字就叫“似然函数”——但它有一个微妙的视角反转。

在概率论里,我们习惯写 P(x | θ),读作“给定参数 θ,观察值 x 出现的概率”:参数是固定的,数据是随机变动的。而似然函数把同一个式子反着读:L(θ | x) = P(x | θ)。数据是已经发生的事实(像现场固定的脚印),θ 才是待考察的变量(像不同身高的嫌疑人)。公式没变,但“谁是主角”颠倒了——这就是“概率与似然的视角差异”,也是“参数的函数视角”:把 θ 当作自变量,考察它对数据的解释力。

对一组独立同分布的样本 x₁, x₂, …, xₙ,它们同时出现的联合概率密度,就是每个样本概率密度的乘积。这把“多个证据同时指向一个人”的匹配度翻译成了数学语言:

L(θ)=∏i=1nf(xi∣θ)\displaystyle L(\theta) = \prod_{i=1}^{n} f(x_i \mid \theta)

1. 函数符号 L(θ):把 θ 当成自变量,衡量候选参数解释这份犯罪证据的合理程度。

L(θ)\displaystyle L(\theta)

2. 概率密度 f(xᵢ|θ):每个样本在参数 θ 下出现的概率(离散)或密度(连续),是乘积的基本单元。

f(xi∣θ)\displaystyle f(x_i \mid \theta)

3. 连乘号 ∏:n 个独立样本同时发生的概率等于各自概率相乘,证据越多乘积越能区分真凶。

∏i=1n\displaystyle \prod_{i=1}^{n}

读完这张表,柯北的做法已呼之欲出:把所有嫌疑人的匹配度都算一遍,匹配度最高的那个,就是最大似然估计给出的“答案”。只不过侦探靠直觉挑人,统计学家靠这个连乘函数精确打分。

对数似然技巧

柯北的小徒弟看着匹配表犯了难:三个人各有三组证据,要算 3×3 共九个乘法,而且越乘越小,0.2 乘以 0.3 就成了微不足道的 0.06。师傅笑了笑:“把乘法换成加法不就清爽了?”这就是对数似然的直觉来源——取对数,让连乘变成连加。

取对数不是随便换的,它有一个关键保证:自然对数 log 是严格单调递增的函数。这意味着如果 L(θ₁) > L(θ₂),那么 log L(θ₁) > log L(θ₂) 也必然成立。单调变换不改变函数值的相对大小顺序,所以最大值点——也就是“MLE 的答案”——在变换前后完全一致。这就是“单调性保持”。

除了计算方便,取对数还有一个务实的理由:数值稳定性。n 个小于 1 的概率连乘,在计算机里会迅速下溢成 0,就像九个小数字相乘后小数点后全是零。取对数后变成 n 个负数的连加,数值大小温和得多,而且每个样本的贡献是独立的求和项,求导时一条一条分开算,简单又稳妥:

ℓ(θ)=log⁡L(θ)=∑i=1nlog⁡f(xi∣θ)\displaystyle \ell(\theta) = \log L(\theta) = \sum_{i=1}^{n} \log f(x_i \mid \theta)

1. 自然对数 log:严格单调递增,变换不改变各候选参数的排序,因此不移动最大值点。

ℓ(θ)=log⁡L(θ)\displaystyle \ell(\theta) = \log L(\theta)

2. 连乘变连加:对数把乘积展开成求和,每一项只依赖一个样本,求导时逐项处理即可。

∑i=1nlog⁡f(xi∣θ)\displaystyle \sum_{i=1}^{n} \log f(x_i \mid \theta)

3. 数值稳定性:大量小数连乘会下溢为零,连加则能保留数值精度,机器学习实现中尤为重要。

log⁡∏i=1nai=∑i=1nlog⁡ai\displaystyle \log \prod_{i=1}^{n} a_i = \sum_{i=1}^{n} \log a_i

于是柯北的破案手册里多了一条铁律:凡是遇到“多个证据匹配度连乘”,先取对数再算。侦探省了力气,计算机省了精度,而真凶一个也跑不掉。

MLE求解步骤

柯北的破案手册里有一套标准流程,MLE 也有。四个步骤环环相扣:第一步,写出似然函数——把数据代入分布,得到关于 θ 的连乘表达式;第二步,取对数似然——按上一节的办法把连乘换成连加;第三步,对 θ 求导并令导数为零——光滑函数的峰顶处,切线是水平的;第四步,解方程,得到估计量的具体形式。

第三步是整个流程的心脏。为什么“导数为零”就能找到最大值?想象侦探爬一座平滑的山丘,山顶上无论往哪个方向迈一小步,高度都不再上升——用数学语言说,该点的瞬时变化率为零。对数似然函数通常是个“单峰”的碗状函数,所以导数为零的点就是我们要找的山顶:

θ^MLE=arg⁡max⁡θℓ(θ),∂ℓ(θ)∂θ=0\displaystyle \hat{\theta}_{MLE} = \arg\max_{\theta} \ell(\theta), \quad \frac{\partial \ell(\theta)}{\partial \theta} = 0

1. 估计量 θ̂:头上带“帽子”的符号表示“由数据算出的估计值”,它随样本不同而不同。

θ^MLE\displaystyle \hat{\theta}_{MLE}

2. argmax 运算:返回使目标函数取最大值的那个 θ 本身,而不是最大值是多少。

arg⁡max⁡θℓ(θ)\displaystyle \arg\max_{\theta} \ell(\theta)

3. 偏导置零:峰顶处切线水平的数学表达,是“找到最高点”的等价条件。

∂ℓ(θ)∂θ=0\displaystyle \frac{\partial \ell(\theta)}{\partial \theta} = 0

4. 解方程:把样本观测值代入求导结果,解出 θ 的闭式表达式,例如抛硬币模型中得到样本均值。

θ^MLE=1n∑i=1nxi\displaystyle \hat{\theta}_{MLE} = \frac{1}{n} \sum_{i=1}^{n} x_i

四步走完,柯北合上手册,指向匹配度最高的嫌疑人。但现实中的案子往往更复杂:方程解不出闭式解怎么办?侦探自有下一招——一步一步往上爬。

数值优化方法

不是所有似然方程都能像抛硬币那样解出漂亮的公式。逻辑回归、神经网络里的参数,求导置零后是一团纠缠不清的非线性方程,根本没法手解。这时侦探换了一种策略:不一口气冲上山,而是蒙着眼睛,用脚底感受哪边坡度最陡,就朝哪个方向迈一步,然后重复——这就是梯度上升法。

梯度是多元函数在某点上升最快的方向。把当前参数 θ 代入对数似然的导数,就得到“该朝哪个方向迈步”;再乘以一个学习率 η 控制步子大小,就完成一次迭代。步子太大会一步跨过山顶,在对面坡上反复横跳;步子太小则像蚂蚁爬山,几百步还在山脚磨蹭。这就是“学习率选择”的分寸感:

θ(t+1)=θ(t)+η∂ℓ(θ(t))∂θ\displaystyle \theta^{(t+1)} = \theta^{(t)} + \eta \frac{\partial \ell(\theta^{(t)})}{\partial \theta}

1. 上标 (t):表示第 t 轮迭代时的参数值,是“侦探当前站的位置”。

θ(t)\displaystyle \theta^{(t)}

2. 梯度项:对数似然在当前点的偏导数,指出上升最快的方向,是侦探脚下的坡度感知。

∂ℓ(θ(t))∂θ\displaystyle \frac{\partial \ell(\theta^{(t)})}{\partial \theta}

3. 学习率 η:每次迈出的步长,控制收敛速度与稳定性,是调参时最重要的旋钮之一。

η\displaystyle \eta

4. 迭代更新:位置加上“方向×步长”得到新位置,反复执行直到满足收敛判据。

θ(t+1)=θ(t)+η∂ℓ(θ(t))∂θ\displaystyle \theta^{(t+1)} = \theta^{(t)} + \eta \frac{\partial \ell(\theta^{(t)})}{\partial \theta}

如果嫌梯度上升太慢,侦探还有加速道具——牛顿法:它利用二阶导数(曲率)预估峰顶的距离,一步往往能跨出很大一段,但每一步计算也更贵。无论哪种方法,最后都要靠“收敛判断准则”(参数变化量小于阈值)来确定何时收手。柯北拍了拍手上的灰:山再高,一步一步也能登顶。

渐近性质

柯北办案有个朴素的信念:证据越多,判断越准。MLE 之所以成为统计推断的“默认侦探”,正是因为它有三个让人放心的渐近性质——样本量趋于无穷时的表现:一致性、渐近正态性、渐近有效性。

一致性(consistency)是底线承诺:当样本量 n 越来越大时,估计值 θ̂ 依概率收敛到真实参数 θ。通俗地说,证据堆成山时,侦探几乎不可能抓错人。渐近正态性则进一步描述了“误差的模样”:把估计误差放大 √n 倍后,它的分布会趋近一个以 0 为中心的正态分布——就像把无数案件的破案误差画成直方图,最终呈现出熟悉的钟形。而方差由 Fisher 信息量 I(θ) 的倒数决定:信息越多,误差越紧。

θ^MLE→pθ∗,n(θ^MLE−θ∗)→dN(0,I(θ∗)−1)\displaystyle \hat{\theta}_{MLE} \xrightarrow{p} \theta^*, \quad \sqrt{n}\left(\hat{\theta}_{MLE} - \theta^*\right) \xrightarrow{d} \mathcal{N}\left(0, I(\theta^*)^{-1}\right)

1. 依概率收敛:样本量趋于无穷时,估计值落在真实参数任意小邻域内的概率趋近于 1。

θ^MLE→pθ∗\displaystyle \hat{\theta}_{MLE} \xrightarrow{p} \theta^*

2. 标准化偏差:用 √n 缩放“估计值减真值”,抵消随机波动随样本量增大的衰减速度。

n(θ^MLE−θ∗)\displaystyle \sqrt{n}\left(\hat{\theta}_{MLE} - \theta^*\right)

3. 渐近正态分布:缩放后的误差趋近均值为零、方差为 Fisher 信息倒数的正态分布,这是构造置信区间与假设检验的理论基石。

→dN(0,I(θ∗)−1)\displaystyle \xrightarrow{d} \mathcal{N}\left(0, I(\theta^*)^{-1}\right)

这三条性质让柯北在法庭上底气十足:证据够多时,我的判断不但几乎不会错,而且误差有多大都能提前算出来。从“凭感觉断案”到“可量化的推理”,这就是 MLE 的统计学承诺。

与贝叶斯关系

再厉害的侦探也有“先入为主”的时候。柯北接手蛋糕案时,脑子里已有一份档案:小明上周刚被投诉偷吃零食。这份“看到证据之前的印象”,在贝叶斯框架里叫先验分布 P(θ)。MLE 只看证据,而贝叶斯推断要求把“先验印象”和“现场证据”放在一起综合判断。

最大后验估计(MAP)就是在干这事:在给定数据 X 的条件下,寻找使后验分布 P(θ|X) 最大的参数。根据贝叶斯公式,后验正比于“似然 × 先验”,取对数后,目标函数变成“证据的匹配度”加上“先验的分数”两项之和。这就是 MLE 与 MAP 的核心分水岭:MLE 眼中只有证据,MAP 还要掂量档案里的旧账:

θ^MAP=arg⁡max⁡θ[log⁡P(X∣θ)+log⁡P(θ)]\displaystyle \hat{\theta}_{MAP} = \arg\max_{\theta} \left[\log P(X \mid \theta) + \log P(\theta)\right]

1. 先验 P(θ):观测数据之前对参数的既有判断,相当于侦探档案里嫌疑人的前科记录。

log⁡P(θ)\displaystyle \log P(\theta)

2. 似然项:与 MLE 完全相同的证据匹配度,衡量数据对参数的“指认力度”。

log⁡P(X∣θ)\displaystyle \log P(X \mid \theta)

3. 两项相加:后验分数 = 先验印象 + 证据分数;数据越多,证据项权重越大,先验影响被稀释。

log⁡P(X∣θ)+log⁡P(θ)\displaystyle \log P(X \mid \theta) + \log P(\theta)

有个漂亮的回归:当柯北选择对所有人一视同仁(均匀先验),“旧账”不产生任何差异,MAP 和 MLE 给出同一个答案。而一旦侦探有明确的先验倾向,证据的分量就要和偏见讨价还价——这正是贝叶斯学派和频率学派最精彩的对话。

线性回归应用

柯北接手一个新案子:根据脚印长度预测嫌疑人身高。他收集了一批“身高—脚印”数据,想画一条直线 y = βx + b。问题是,怎么确定这条直线最好?MLE 给出的答案是:先假设误差服从正态分布,再找让数据最有可能出现的直线。

线性回归的标准假设是:真实关系是线性的,观测值在直线附近波动,噪声 ε 服从均值为零的高斯分布。每个样本 yᵢ 的条件分布就是“以 βᵀxᵢ 为中心的正态分布”。把这些条件密度全部乘起来取对数,神奇的事情发生了——对数似然中与 β 有关的部分,恰好是误差平方和的负值:

ℓ(β)=−n2log⁡(2πσ2)−12σ2∑i=1n(yi−βTxi)2\displaystyle \ell(\beta) = -\frac{n}{2}\log(2\pi\sigma^2) - \frac{1}{2\sigma^2}\sum_{i=1}^{n}\left(y_i - \beta^T x_i\right)^2

1. 常数项:与 β 无关的归一化部分,求最大值时不影响最优 β 的位置,可以忽略。

−n2log⁡(2πσ2)\displaystyle -\frac{n}{2}\log(2\pi\sigma^2)

2. 误差平方和:预测值 βᵀxᵢ 与真实值 yᵢ 的平方偏差;平方项让大误差被加倍惩罚。

∑i=1n(yi−βTxi)2\displaystyle \sum_{i=1}^{n}\left(y_i - \beta^T x_i\right)^2

3. 与最小二乘等价:负号让“最大化”变成“最小化”,MLE 与最小二乘在这里握手言和。

β^MLE=arg⁡min⁡β∑i=1n(yi−βTxi)2\displaystyle \hat{\beta}_{MLE} = \arg\min_{\beta} \sum_{i=1}^{n}\left(y_i - \beta^T x_i\right)^2

由于目标是平方和,求导置零后能得到闭式解——侦探掏出公式,一瞬间就画出了那条最贴合数据的直线。这就是为什么线性回归的训练“不需要迭代”:MLE 早就为它准备好了标准答案。

逻辑回归应用

这一次,柯北要办的是一道二选一的题:判断一个用户会不会点击广告。输出不再是连续的身高,而是“点击 / 不点击”两个类别。线性回归的正态假设失效了,侦探改用伯努利分布来建模——每个样本的标签 yᵢ 服从一个“成功概率为 pᵢ 的抛硬币”。

但每个用户的特征不同,成功概率也该不同。于是侦探让 pᵢ 由线性得分 wᵀxᵢ 经过 Sigmoid 函数 σ 压缩到 (0,1) 区间:得分越高,点击概率越接近 1。把 n 个伯努利分布的概率乘起来取对数,就得到逻辑回归的目标——伯努利对数似然:

ℓ(w)=∑i=1n[yilog⁡σ(wTxi)+(1−yi)log⁡(1−σ(wTxi))]\displaystyle \ell(w) = \sum_{i=1}^{n}\left[ y_i \log \sigma(w^T x_i) + (1 - y_i) \log\left(1 - \sigma(w^T x_i)\right)\right]

1. Sigmoid 函数 σ:把任意实数得分映射到 (0,1),作为“正类概率”的桥梁。

σ(z)=11+e−z\displaystyle \sigma(z) = \frac{1}{1 + e^{-z}}

2. 正样本项:当 yᵢ=1 时这项保留,模型被鼓励让预测概率尽量大。

yilog⁡σ(wTxi)\displaystyle y_i \log \sigma(w^T x_i)

3. 负样本项:当 yᵢ=0 时这项保留,模型被鼓励让“负类概率”尽量大。

(1−yi)log⁡(1−σ(wTxi))\displaystyle (1 - y_i) \log\left(1 - \sigma(w^T x_i)\right)

4. 负对数似然:加负号把最大化转为最小化,得到分类任务的标准损失函数。

Loss(w)=−ℓ(w)\displaystyle \text{Loss}(w) = -\ell(w)

逻辑回归的对数似然没有闭式解,侦探只能启动梯度下降,在山坡上一步步向上爬。最终,w 的最优值确定了一条决策边界:一侧判为“点击”,另一侧判为“不点击”。从伯努利假设到交叉熵损失,MLE 又一次把“断案逻辑”变成了可训练的模型。

AI 应用场景

广告点击率预估

阶段:模型训练

解决的问题:传统规则打分靠人工经验设定权重,无法捕捉用户特征与点击行为之间的复杂关系。逻辑回归用 MLE 直接拟合“用户画像→是否点击”的伯努利模型,让数据自己说话,自动产出每个特征的权重。

具体案例:某广告平台积累 1 亿条样本,每条包含用户年龄、设备、历史点击率等特征。工程师用逻辑回归最大化伯努利对数似然(等价于最小化交叉熵),训练出的模型预估点击概率,用于广告排序。这里的“最大化似然”本质上就是让模型对真实点击数据的“匹配度”尽量高。

大语言模型的预训练

阶段:预训练

解决的问题:如何让模型学会“接着往下写”?自回归语言模型把文本拆成一个个 token,训练目标就是最大化“给定前文出现下一个词”的条件概率——这正是一个逐位置的 MLE。

具体案例:GPT 系列模型在万亿 token 的语料上训练,目标函数是每个位置负对数似然(交叉熵)的平均值。每一轮梯度更新都在调整网络参数,让语料中真实词序列的似然更高。可以说,ChatGPT 的“谈吐”就是最大似然估计在超大规模上的胜利。

A/B 实验的转化率分析

阶段:数据分析与推断

解决的问题:产品改版后转化率是否真的提升了?仅凭“新版 12%、旧版 10%”的观测值无法下结论,需要估计不确定性。MLE 给出转化率估计 p̂ = 成功次数 / 总次数,再借助渐近正态性构造置信区间,判断差异是否显著。

具体案例:电商首页改版,实验组与对照组各 10 万访客,观测到转化率分别为 12.1% 和 11.3%。数据分析师用 MLE 估计两个版本的转化率及差值的 95% 置信区间,发现区间下限大于零,从而有把握地宣布改版有效——这正是“MLE + 渐近正态”驱动业务决策的日常。

Python 演示

python42 行
# -*- coding: utf-8 -*-"""最大似然估计演示: 用模拟抛硬币数据估计正面概率 p同时展示梯度上升与解析解两种求解方式"""import numpy as np  def log_likelihood(p, flips):    """对数似然: sum(y*log(p) + (1-y)*log(1-p))"""    p = np.clip(p, 1e-12, 1 - 1e-12)    return np.sum(flips * np.log(p) + (1 - flips) * np.log(1 - p))  def grad_log_likelihood(p, flips):    """对数似然对 p 的导数"""    p = np.clip(p, 1e-12, 1 - 1e-12)    return np.sum(flips) / p - np.sum(1 - flips) / (1 - p)  def mle_gradient_ascent(flips, lr=0.1, epochs=2000):    """梯度上升迭代求解最大似然估计"""    p = 0.5    for _ in range(epochs):        p = p + lr * grad_log_likelihood(p, flips)        p = np.clip(p, 1e-12, 1 - 1e-12)    return p  def mle_closed_form(flips):    """解析解: 正面次数 / 总次数"""    return np.mean(flips)  if __name__ == "__main__":    rng = np.random.RandomState(42)    true_p = 0.7    flips = (rng.rand(500) < true_p).astype(int)    print("真实概率:", true_p)    print("梯度上升MLE:", round(mle_gradient_ascent(flips), 4))    print("解析解MLE:", round(mle_closed_form(flips), 4))    print("对数似然值:", round(log_likelihood(mle_closed_form(flips), flips), 4))
目的:用 500 次模拟抛硬币数据,分别用梯度上升和解析公式估计正面概率 p,对比两者与真实值的接近程度,直观感受 MLE 的求解过程。
  1. p = np.clip(p, 1e-12, 1 - 1e-12)把 p 限制在开区间 (0,1) 内,防止 log(0) 产生无穷值。
  2. return np.sum(flips * np.log(p) + (1 - flips) * np.log(1 - p))对数似然公式:正面样本贡献 log p,反面样本贡献 log(1-p)。
  3. return np.sum(flips) / p - np.sum(1 - flips) / (1 - p)对数似然对 p 的导数,梯度上升用它指明前进方向。
  4. p = p + lr * grad_log_likelihood(p, flips)沿梯度方向迈出一步,相当于侦探朝着山坡顶端爬一步。
  5. return np.mean(flips)解析解:正面次数除以总次数,就是伯努利模型 MLE 的闭式答案。
  6. flips = (rng.rand(500) < true_p).astype(int)用随机数模拟 500 次抛硬币,1 表示正面。

常见误区

误区我看到 L(θ) 的公式就是概率密度的连乘,那它一定是个概率吧?那所有 θ 对应的 L(θ) 加起来应该等于 1 才对,否则就不合理。

正解似然不是概率。概率是“参数固定、数据变动”时数据出现的可能性,对数据求和为 1;似然是“数据固定、参数变动”时参数的匹配度,对参数求和或积分没有等于 1 的要求。它更像侦探给嫌疑人的“匹配分”,三个嫌疑人的分数加起来完全可以是 1.6,这不代表逻辑有问题。

为何常见:似然的代数形式与概率密度完全相同,初学者很容易忽略“谁被固定、谁是变量”这个视角差异,于是把概率的归一化性质错误地搬到了似然头上。

误区最大似然估计这么“科学”,大数据下又收敛得这么好,那它无论样本多少都应该是无偏的吧?偏差应该都是零。

正解MLE 有“一致性”和“渐近无偏”,但不保证有限样本下无偏。经典例子是高斯分布方差 σ² 的 MLE:估计值是 Σ(xᵢ−x̄)²/n,它的期望比真实方差小 σ²/n。样本量大时这个偏差趋近于零,但小样本时肉眼可见地偏小。所以在小数据场景下,统计学家常会用 n−1 分母的修正版本。

为何常见:把“大样本下的渐近性质”直接当成“任意样本下都成立”的结论,是混淆了极限行为和有限样本行为的典型错误。

误区log 是对数变换,函数图形都压扁了,原来的最高点经过变换后位置难道不会移动吗?我怕换了函数就找错参数。

正解log 是严格单调递增的变换,它保序——L(θ₁) > L(θ₂) 当且仅当 log L(θ₁) > log L(θ₂)。排名不变,冠军就不换人。图形确实被“压扁”了,但所有点被一致地压缩,峰顶和峰顶对应的 θ 位置完全不动。取对数纯粹是为了计算方便和数值稳定,绝不是在篡改目标。

为何常见:人的直觉对“非线性变换”高度警惕,看到函数形状变化就担心极值点位移,忽略了单调变换的保序性是数学上最基础的性质之一。

误区机器学习里训练模型经常在损失函数后面加一个正则化项,看起来跟 MLE 的损失差不多,所以最大似然估计和最大后验估计应该是同一个东西吧?

正解两者的目标函数差一个先验项。MLE 只最大化似然;MAP 最大化“似然 + 先验”(取对数后)。只有当先验是均匀分布时,先验项是常数,MAP 才退化为 MLE。深度学习里的 L2 正则化,本质上就是“高斯先验下的 MAP”,它比纯 MLE 多了一根“参数不要太大”的缰绳,因此解也不同。

为何常见:实践中两类方法的损失函数长得极其相似,只有先验项之差,初学者不仔细拆解目标函数就很难意识到这是两套不同的统计哲学。

面试题

Q1. 似然函数 L(θ) 与概率函数 P(x|θ) 最本质的区别是什么?

单选题 · easy

  • A.公式相同但视角相反← 正确答案
  • B.公式完全不同来源
  • C.似然是概率的平方
  • D.似然不需要求和为一

答案:A。概率是“参数固定、数据变动”时数据出现的可能性;似然是“数据固定、参数变动”时参数的匹配度。两者共享同一个公式,只是谁是固定量、谁是自变量截然相反,所以 A 正确。B 说公式完全不同是错的;C 中平方关系无根据;D 的表述本身正确但它不是二者的本质区别,更不是区分点。

Q2. 为什么要用对数似然代替原始似然做优化?

单选题 · easy

  • A.让连乘变成连加← 正确答案
  • B.让估计值更加准确
  • C.让参数取值范围变大
  • D.让样本之间相互独立

答案:A。log 把 n 个概率的连乘变成 n 个对数值的连加,既避免数值下溢,又简化求导,A 正确。取对数是单调变换,不会让估计更准(B 错);不会改变参数范围(C 错);样本独立性是建模假设,不是取对数带来的(D 错)。

Q3. 抛一枚硬币 10 次观察到 6 次正面,设正面概率为 p,则 p 的 MLE 是?

单选题 · mid

  • A.0.60← 正确答案
  • B.0.50
  • C.0.75
  • D.1.00

答案:A。伯努利模型的似然为 p⁶(1−p)⁴,取对数求导置零得到 p̂ = 6/10 = 0.6。这相当于“正面次数除以总次数”。0.5 是先验猜测而非估计结果;0.75 和 1.0 都不是由 10 次观测推导出的最大化解。

Q4. 梯度上升迭代公式中,学习率 η 过大会造成什么后果?

单选题 · mid

  • A.越过山顶反复震荡← 正确答案
  • B.加快收敛速度一倍
  • C.完全消除估计偏差
  • D.让似然函数等于零

答案:A。学习率是迈步大小。步子太大,侦探会一步跨过峰顶冲到对面山坡,来回震荡甚至发散,A 正确。B 说稳定加速一倍过于理想化;C 与偏差无关;D 毫无依据。

Q5. MLE 的“一致性”指的是什么?

单选题 · mid

  • A.样本增多估计收敛真值← 正确答案
  • B.任意小样本都无偏
  • C.计算复杂度保持不变
  • D.参数估计完全不随机

答案:A。一致性指 n 趋于无穷时,估计量依概率收敛到真实参数,A 正确。B 混淆了有限样本无偏与渐近性质;C 说的是计算复杂度;D 忽略了估计量受随机抽样影响,本质上仍是随机变量。

Q6. 在什么条件下,MAP 估计会退化为 MLE?

单选题 · mid

  • A.采用均匀先验分布时← 正确答案
  • B.采用高斯先验分布时
  • C.采用拉普拉斯先验时
  • D.采用指数先验分布时

答案:A。MAP 的目标是“对数似然 + 对数先验”。当先验是均匀分布时,对数先验对参数是常数,最大值位置完全由似然决定,MAP 等于 MLE。高斯、拉普拉斯、指数先验都会在目标函数中引入与参数相关的项,使解偏离纯 MLE。

Q7. MLE 的渐近正态性中,估计量的方差由什么决定?

单选题 · hard

  • A.Fisher 信息量的倒数← 正确答案
  • B.初始参数的取值
  • C.迭代步长的总数
  • D.先验分布的方差

答案:A。渐近正态性指出 √n(θ̂−θ) 趋近 N(0, I(θ)⁻¹),方差是 Fisher 信息量的倒数。信息量越大,数据对参数的“指认”越强,方差越小。初始值、迭代步长只影响优化过程而非统计极限;先验方差属于贝叶斯框架的概念,MLE 的渐近方差中不出现它。

Q8. 以下哪些步骤属于 MLE 的标准求解流程?

多选题 · mid

  • A.写出数据的似然函数← 正确答案
  • B.取对数似然化简← 正确答案
  • C.求导并令导数为零← 正确答案
  • D.随机猜测最佳参数

答案:ABC。标准四步是:写似然函数、取对数、求导置零、解方程,因此 A、B、C 正确。D 是蒙眼乱猜,不是 MLE 的流程;即使数值方法,也是沿着梯度方向迭代,而非随机猜测。

Q9. MLE 在正则条件下具有哪些渐近性质?

多选题 · hard

  • A.估计具有一致性← 正确答案
  • B.估计渐近正态分布← 正确答案
  • C.估计达到有效下界← 正确答案
  • D.估计必然完全无偏

答案:ABC。大样本下 MLE 具有一致性(收敛真值)、渐近正态性(缩放后呈正态分布)、渐近有效性(方差达到 Cramér-Rao 下界),所以 A、B、C 正确。D 说“必然完全无偏”太绝对,有限样本下 MLE 可以有偏差,无偏不是必然成立的。

Q10. 逻辑回归通过 MLE 求解等价于以下哪些做法?

多选题 · mid

  • A.最小化交叉熵损失← 正确答案
  • B.最大化伯努利对数似然← 正确答案
  • C.最小化均方误差
  • D.最小化负对数似然← 正确答案

答案:ABD。逻辑回归假设标签服从伯努利分布,最大化其对数似然(B 正确)等价于最小化负对数似然(D 正确),也等价于最小化交叉熵损失(A 正确)。最小化均方误差是线性回归在正态假设下的结论,不适用于逻辑回归的分类场景,C 错误。