最大似然估计:从原理到机器学习应用

引言

在机器学习、统计学的学习过程中,参数估计是一个非常核心的基础模块。我们在建立概率模型时,模型的形式(比如正态分布、伯努利分布)往往是预先确定的,但分布里面的参数是未知的。例如一枚不均匀的硬币,抛硬币正面朝上的概率 p 我们不知道;一组测量数据服从正态分布 N(μ, σ²),均值 μ 和方差 σ² 未知。最大似然估计(Maximum Likelihood Estimation,简称 MLE),就是用来利用观测到的样本数据,反推最有可能产生这组样本的模型参数的经典点估计方法。

很多初学者会混淆最大似然估计和最大后验估计,也容易疑惑:为什么 MLE 要取对数?为什么求导置零就能得到参数估计值?本文将从直观理解出发,一步步完成最大似然估计完整数学推导,同时结合实例分析 MLE 的性质、适用条件与局限性。

一、最大似然估计核心思想

“似然”(likelihood)和概率(probability)是两个极易混淆的概念。

概率:参数已知,预测未来样本出现的可能性。P(x|θ):给定参数 θ,样本 x 发生的概率。

似然:样本已知,反过来衡量不同参数 θ 下,“产生当前这组观测样本”的可能性。L(θ|x):固定观测样本 x,看作关于参数 θ 的函数。

最大似然估计的核心假设:我们观测到的这一组样本,是真实世界里发生的事件,它出现的概率应当是最大的。因此我们要找到参数 θ̂,使得似然函数 L(θ) 取得最大值。

前提条件:样本独立同分布(i.i.d,independent and identically distributed)。独立同分布含义:每一次采样得到样本之间互不影响,并且所有样本服从同一个概率分布。

二、数学定义与似然函数构建

设总体随机变量 X 的概率密度函数(离散为概率质量函数)为:p(x; θ),θ 是待估参数,可以是标量,也可以是参数向量 θ = (θ₁, θ₂, ..., θₖ)。

抽取独立同分布样本:x₁, x₂, ..., xₙ。因为样本相互独立,多个样本同时发生的联合概率等于单个样本概率乘积。于是似然函数定义为:

L(θ) = L(θ; x₁, x₂, ..., xₙ) = ∏ᵢ₌₁ⁿ p(xᵢ; θ)

∏ 为连乘符号,代表从 i=1 到 n,将所有样本的概率密度相乘。

直接对连乘形式求最大值,在数学计算上很麻烦:连乘会出现极小浮点数,计算机容易下溢;求导时乘积法则复杂。为简化计算,引入对数似然函数。对数函数 ln(·) 是单调递增函数:函数单调性不变,原函数最大值对应的参数位置和对数变换后最大值对应的参数位置完全一致。

对数似然函数:ℓ(θ) = ln L(θ) = ln(∏ᵢ₌₁ⁿ p(xᵢ; θ)) = ∑ᵢ₌₁ⁿ ln p(xᵢ; θ)

连乘转化为求和,大幅简化求导运算,同时解决数值下溢问题。

MLE 的目标:找到参数 θ̂_MLE 使得对数似然函数最大:θ̂_MLE = argmax_θ ℓ(θ) = argmax_θ ∑ᵢ₌₁ⁿ ln p(xᵢ; θ)

三、最大似然估计求解步骤

通用求解流程分为 4 步:

  1. 根据总体分布,写出单个样本的概率 / 概率密度函数;
  2. 构造似然函数 L(θ),再取对数得到对数似然函数 ℓ(θ);
  3. 对参数 θ 求导,令导数等于 0,得到似然方程;
  4. 求解方程,得到参数估计值;若参数是向量,改用偏导数,令梯度等于零向量。

注意:令导数为 0 只是必要条件,不是充分条件。解出来的临界点还需要验证是否为极大值。很多常见分布(伯努利、正态分布)的对数似然函数是凹函数,临界点就是全局最大值。

四、实例 1:伯努利分布最大似然估计推导

伯努利分布:单次试验只有两种结果,1 和 0。例如抛硬币,1 = 正面,0 = 反面。

单个样本概率质量函数:P(x; p) = pˣ(1-p)¹⁻ˣ, x ∈ {0, 1},p:单次试验取 1 的概率,待估参数。

观测样本:x₁, x₂, ..., xₙ,每个 xᵢ ∈ {0, 1}。

步骤 1:构造似然函数

L(p) = ∏ᵢ₌₁ⁿ pˣⁱ(1-p)¹⁻ˣⁱ = p^(∑xᵢ)(1-p)^(n-∑xᵢ)

步骤 2:取对数,得到对数似然

ℓ(p) = ln L(p) = (∑ᵢ₌₁ⁿ xᵢ) ln p + (n - ∑ᵢ₌₁ⁿ xᵢ) ln(1-p)

步骤 3:对参数 p 求导,导数置 0

dℓ(p)/dp = (∑xᵢ)/p - (n - ∑xᵢ)/(1-p) = 0

步骤 4:解方程

(∑xᵢ)/p = (n - ∑xᵢ)/(1-p)

(∑xᵢ)(1-p) = p(n - ∑xᵢ)

∑xᵢ - p∑xᵢ = np - p∑xᵢ

∑xᵢ = np

得到估计量:p̂_MLE = (1/n)∑ᵢ₌₁ⁿ xᵢ

这个结果非常直观:正面朝上概率的最大似然估计,就是样本中正面出现的频率。

二阶导数验证极大值:d²ℓ/dp² = -(∑xᵢ)/p² - (n - ∑xᵢ)/(1-p)² < 0

二阶导数恒小于 0,函数凹,该临界点就是全局最大值。

五、实例 2:正态分布最大似然估计完整推导

设总体服从正态分布 X ~ N(μ, σ²),μ 和 σ² 均未知。

单个样本概率密度函数:p(x; μ, σ²) = (1/√(2π)σ) exp(-(x-μ)²/(2σ²))

样本 x₁, x₂, ..., xₙ 独立同分布。

似然函数:L(μ, σ²) = ∏ᵢ₌₁ⁿ (1/√(2π)σ) exp(-(xᵢ-μ)²/(2σ²))

取对数:

ℓ(μ, σ²) = ln L(μ, σ²)

= ∑ᵢ₌₁ⁿ [ -½ ln(2π) - ½ ln σ² - (xᵢ-μ)²/(2σ²) ]

= -(n/2) ln(2π) - (n/2) ln σ² - (1/(2σ²)) ∑ᵢ₌₁ⁿ (xᵢ-μ)²

现在有两个待估参数,分别求偏导,令偏导数等于 0。

对 μ 求偏导

∂ℓ/∂μ = -(1/(2σ²)) · ∑ᵢ₌₁ⁿ 2(xᵢ-μ)(-1) = (1/σ²) ∑ᵢ₌₁ⁿ (xᵢ-μ) = 0

σ² ≠ 0,所以:∑ᵢ₌₁ⁿ (xᵢ-μ) = 0 ⟹ ∑xᵢ - nμ = 0

μ̂_MLE = (1/n) ∑ᵢ₌₁ⁿ xᵢ

正态均值 MLE 就是样本均值。

对 σ² 求偏导,把 μ̂ 代入

∂ℓ/∂σ² = -n/(2σ²) + (1/(2(σ²)²)) ∑ᵢ₌₁ⁿ (xᵢ-μ)² = 0

两边乘 2(σ²)²:-nσ² + ∑(xᵢ-μ)² = 0

σ̂²_MLE = (1/n) ∑ᵢ₌₁ⁿ (xᵢ - μ̂)²

⚠️ 重要知识点:这个最大似然估计得到的方差是有偏估计。统计学里无偏样本方差是除以 n-1,而 MLE 方差除以 n。这是 MLE 一个典型性质:MLE 不一定是无偏估计,但当样本量 n → ∞ 时,偏差会消失,具备渐近无偏性。

六、最大似然估计优良性质

一致性:样本量 n 趋向无穷大时,θ̂_MLE 依概率收敛到真实参数 θ。样本越多,估计越准。

渐近正态性:大样本条件下,MLE 估计量近似服从正态分布,方便做假设检验和置信区间。

渐近有效性:大样本下,MLE 能达到克拉美罗下界,方差最小。

不变性:如果 θ̂ 是 θ 的 MLE,那么 g(θ̂) 就是 g(θ) 的 MLE。

缺点:① 小样本下可能存在偏差(正态方差例子);② 要求总体分布形式已知,如果模型假设错误,估计结果完全不可靠;③ 当对数似然函数不可导,或者参数有约束时,无法用求导方法求解,需要数值优化(梯度下降等)。

七、MLE 在机器学习中的应用

机器学习很多损失函数本质上就是负对数似然:

  • 逻辑回归:使用交叉熵损失,最小化交叉熵等价于最大化伯努利分布的对数似然;
  • 线性回归:使用均方误差 MSE 损失,在高斯噪声假设下,最小化 MSE 等价于最大化正态分布对数似然;
  • 深度学习分类任务:交叉熵损失,本质就是对类别分布做最大似然估计。

这里可以建立一个重要联系:训练模型最小化损失函数,等价于寻找模型参数,最大化观测样本出现的可能性。这也是为什么 MLE 是机器学习理论基石之一。

八、总结

最大似然估计,本质是一种反推思想:固定观测样本,把参数当成变量,寻找让当前样本发生可能性最大的参数。整个推导流程:构建似然函数 → 对数化简 → 求导找极值点。

通过伯努利分布、正态分布两个例子,我们可以看到 MLE 的结果往往符合直观认知,但同时要记住 MLE 的前提假设(独立同分布、分布形式已知),以及它的缺陷:小样本有偏、模型设定错误时估计失效。

最大似然估计不只是统计学考题里的推导公式。从逻辑回归到深度神经网络,绝大多数概率模型的训练目标,根源都来自 MLE。理解 MLE 的数学推导,能够帮助我们看懂损失函数的由来,不再把损失函数当成黑箱公式,真正理解模型训练背后的统计原理。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值