似然函数的理解

2025-7-31

1. 似然函数(Likelihood Function)

直观理解

似然函数回答的问题是:给定某个参数值,观察到当前数据的可能性有多大?

数学定义

假设我们有数据 \(x_1, x_2, …, x_n\),参数为 $\theta$,那么似然函数是: \(L(\theta) = P(观察到数据 x_1, x_2, …, x_n | 参数为\theta)\)

如果数据独立,则: \(L(\theta) = P(x_1|\theta) \times P(x_2|\theta) \times … \times P(x_n|\theta) = \prod_{i=1}^{n} P(x_i|\theta)\)

举个具体例子

抛硬币10次,得到:正、正、反、正、反、反、正、正、正、反

如果硬币正面概率是 \(p\),那么似然函数是: \(L(p) = p \times p \times (1-p) \times p \times (1-p) \times (1-p) \times p \times p \times p \times (1-p)\) = \(p^6 \times (1-p)^4\)

解读

  • 当 \(p = 0.6\) 时,\(L(0.6) = 0.6^6 \times 0.4^4 = 0.001\)
  • 当 \(p = 0.8\) 时,\(L(0.8) = 0.8^6 \times 0.2^4 = 0.004\)
  • 当 \(p = 0.5\) 时,\(L(0.5) = 0.5^6 \times 0.5^4 = 0.001\)

\(p = 0.8\) 时似然值最大,说明这个参数值最能解释观察到的数据。

2. 对数似然函数(Log-Likelihood Function)

为什么要取对数?

实际问题:似然函数通常是很多小概率的乘积,会导致:

  1. 数值下溢:连乘很多小数会趋近于0
  2. 计算困难:乘积的导数计算复杂

解决方案:取对数!

数学变换

\(\ell(\theta) = \log L(\theta) = \log \prod_{i=1}^{n} P(x_i|\theta) = \sum_{i=1}^{n} \log P(x_i|\theta)\)

关键性质

  • 乘积变成求和(更好计算)
  • 单调性保持不变(最大值位置不变)
  • 数值稳定性更好

继续上面的例子

\(\ell(p) = \log L(p) = \log(p^6 \times (1-p)^4) = 6\log p + 4\log(1-p)\)

计算对比

  • 当 \(p = 0.6\) 时:\(\ell(0.6) = 6\log(0.6) + 4\log(0.4) = -3.56\)
  • 当 \(p = 0.8\) 时:\(\ell(0.8) = 6\log(0.8) + 4\log(0.2) = -2.77\)
  • 当 \(p = 0.5\) 时:\(\ell(0.5) = 6\log(0.5) + 4\log(0.5) = -6.93\)

同样,\(p = 0.8\) 时对数似然最大。

3. 极大似然估计(Maximum Likelihood Estimation)

核心思想

找到使似然函数(或对数似然函数)达到最大值的参数值

\(\hat{\theta}{MLE} = \arg\max{\theta} L(\theta) = \arg\max_{\theta} \ell(\theta)\)

求解步骤

步骤1:写出对数似然函数 \(\ell(\theta) = \sum_{i=1}^{n} \log P(x_i|\theta)\)

步骤2:求导数 \(\frac{d\ell(\theta)}{d\theta} = \sum_{i=1}^{n} \frac{d}{d\theta}\log P(x_i|\theta)\)

步骤3:令导数为0 \(\frac{d\ell(\theta)}{d\theta} = 0\)

步骤4:解方程得到估计值

完整例子演示

继续硬币例子,求 \(p\) 的极大似然估计:

步骤1:对数似然函数 \(\ell(p) = 6\log p + 4\log(1-p)\)

步骤2:求导 \(\frac{d\ell(p)}{dp} = \frac{6}{p} – \frac{4}{1-p}\)

步骤3:令导数为0 \(\frac{6}{p} – \frac{4}{1-p} = 0\)

步骤4:解方程 \(\frac{6}{p} = \frac{4}{1-p}\) \(6(1-p) = 4p\) \(6 – 6p = 4p\) \(6 = 10p\) \(\hat{p} = 0.6\)

结果解释:10次抛硬币中6次正面,所以估计概率为 \(\frac{6}{10} = 0.6\)

三者关系总结

概念 定义 作用 特点
似然函数 \(L(\theta) = \prod P(x_i|\theta)\) 衡量参数的合理性 连乘形式,可能数值不稳定
对数似然函数 \(\ell(\theta) = \sum \log P(x_i|\theta)\) 同上,但计算更方便 求和形式,数值稳定
极大似然估计 \(\hat{\theta} = \arg\max \ell(\theta)\) 找最优参数值 优化问题的解

直观类比

想象你是侦探,要推断罪犯的身高:

  • 似然函数:不同身高假设下,留下现有证据的可能性
  • 对数似然函数:同样的可能性,但用更方便的数学形式表示
  • 极大似然估计:最能解释现有证据的身高值

实际应用中的考虑

1. 计算技巧

# 避免数值下溢
# 不好的做法
likelihood = np.prod([p_i for p_i in probabilities])

# 好的做法  
log_likelihood = np.sum([np.log(p_i) for p_i in probabilities])

2. 优化算法

当无法解析求解时,使用数值方法:

  • 梯度下降
  • 牛顿法
  • BFGS等

3. 多参数情况

对每个参数分别求偏导: \(\frac{\partial \ell(\theta_1, \theta_2, …)}{\partial \theta_i} = 0\)

这三个概念是统计学和机器学习的基础,理解它们有助于深入理解各种模型的原理和训练过程。

分类:作品
评论