☰
似然函数在统计与机器学习中的核心应用
2026/10/29 18:25:12 网站建设 项目流程

1. 似然函数的概念与起源

在统计学和机器学习领域,似然函数(Likelihood function)是一个基础但极其重要的概念。我第一次接触这个概念是在研究生时期的统计推断课程上,当时教授用了一个非常生动的比喻:假设你是一位侦探,犯罪现场留下的证据是固定不变的,而似然函数就是用来评估不同嫌疑人作案可能性的工具。

严格来说,似然函数是给定观测数据X时,关于参数θ的函数,记作L(θ|X)。它与概率函数形式相同,但解释的角度完全不同。概率函数描述的是在已知参数θ的情况下,观测到数据X的可能性;而似然函数则是在观测到数据X后,评估不同参数θ合理性的工具。

关键区别:概率是参数固定、数据变化;似然是数据固定、参数变化。这个区别看似细微,实则至关重要。

2. 似然函数的数学表达与性质

2.1 数学定义形式

对于独立同分布(i.i.d.)的样本X₁,X₂,...,Xₙ,似然函数通常表示为各样本点概率密度(或质量)函数的乘积:

L(θ|x) = ∏ f(xᵢ|θ)

其中f(xᵢ|θ)是给定参数θ下xᵢ的概率密度(或质量)函数。在实际应用中,我们更常使用对数似然函数:

ℓ(θ|x) = log L(θ|x) = ∑ log f(xᵢ|θ)

这种转换有三个主要优势:

  1. 将乘积转换为求和,计算更稳定
  2. 对数函数的单调性保持极值位置不变
  3. 许多概率分布的指数形式在对数转换后简化

2.2 似然函数的核心性质

  1. 相对性:似然函数的值本身没有绝对意义,只有相对大小有意义。我们关心的是不同θ值对应的似然比。

  2. 不变性:如果η = g(θ)是θ的一一对应变换,那么L*(η|x) = L(g⁻¹(η)|x)。

  3. 渐近性:在大样本情况下,似然函数会呈现出近似正态分布的形状(Wilks定理)。

3. 似然函数的实际应用场景

3.1 参数估计:最大似然估计(MLE)

最大似然估计是似然函数最经典的应用。其基本思想是:找到使观测数据出现概率最大的参数值。用数学表达就是:

θ̂_MLE = argmax L(θ|x)

在实际操作中,我们通常会:

  1. 写出似然函数表达式
  2. 取对数得到对数似然函数
  3. 对θ求导并令导数为零
  4. 解方程得到估计值

注意事项:有时解析解难以获得,需要使用数值优化方法(如牛顿法、梯度下降等)。

3.2 假设检验:似然比检验

似然比检验(LRT)是比较两个嵌套模型的有效方法。检验统计量为:

λ = 2[ℓ(θ̂|x) - ℓ(θ₀|x)]

其中θ̂是无约束下的MLE,θ₀是零假设下的参数值。在常规条件下,λ渐近服从χ²分布。

3.3 模型选择:AIC和BIC

基于似然函数的模型选择准则:

  • AIC = -2ℓ(θ̂|x) + 2k
  • BIC = -2ℓ(θ̂|x) + k log n

其中k是参数个数,n是样本量。这些准则在模型复杂度与拟合优度之间进行权衡。

4. 常见概率分布的似然函数示例

4.1 正态分布

对于X ~ N(μ,σ²),样本x₁,...,xₙ的对数似然函数为:

ℓ(μ,σ²|x) = -n/2 log(2π) - n/2 log(σ²) - 1/(2σ²) ∑(xᵢ-μ)²

求导可得MLE: μ̂ = x̄ σ̂² = 1/n ∑(xᵢ-x̄)²

4.2 伯努利分布

对于X ~ Bernoulli(p),对数似然函数为:

ℓ(p|x) = ∑[xᵢ log p + (1-xᵢ)log(1-p)]

MLE为: p̂ = (∑xᵢ)/n

4.3 泊松分布

对于X ~ Poisson(λ),对数似然函数为:

ℓ(λ|x) = -nλ + (∑xᵢ)logλ - ∑log(xᵢ!)

MLE为: λ̂ = x̄

5. 似然函数的数值计算技巧

5.1 处理小概率问题

当概率值非常小时,直接计算可能导致下溢(underflow)。常用解决方案:

  1. 使用对数似然
  2. 在必要时使用log-sum-exp技巧
  3. 对数据进行标准化处理

5.2 优化算法选择

对于复杂模型,MLE可能需要数值优化。常用方法包括:

  • 梯度下降法
  • 牛顿法
  • BFGS算法
  • EM算法(存在隐变量时)

5.3 并行计算策略

对于大规模数据,可以:

  1. 将数据分块
  2. 计算每块的对数似然
  3. 将结果相加

这种方法特别适合MapReduce框架。

6. 似然函数的常见误区与注意事项

6.1 似然与概率的混淆

最常见的错误是将似然函数解释为概率分布。必须记住:

  • 似然函数不是概率密度函数
  • 似然函数对θ的积分不一定为1
  • 似然函数可以任意缩放

6.2 样本量不足的问题

在小样本情况下:

  • MLE可能有偏
  • 似然函数形状可能不规则
  • 可能需要使用贝叶斯方法引入先验

6.3 模型误设的影响

如果模型假设错误:

  • MLE可能不一致
  • 标准误估计可能有偏
  • 需要进行模型诊断

7. 高级话题:似然函数的扩展应用

7.1 剖面似然函数

当关注部分参数时,可以将其他参数"剖出":

L_p(θ₁) = max_{θ₂} L(θ₁,θ₂)

这在处理nuisance参数时特别有用。

7.2 拟似然函数

当完整似然难以指定时,可以使用基于矩条件的拟似然函数,适用于广义线性模型等场景。

7.3 经验似然

一种非参数方法,不假设具体分布形式,而是基于经验分布函数构建似然。

8. 实际案例分析:线性回归中的似然函数

考虑线性回归模型:

y = Xβ + ε, ε ~ N(0,σ²I)

其对数似然函数为:

ℓ(β,σ²|y,X) = -n/2 log(2π) - n/2 log(σ²) - 1/(2σ²)||y-Xβ||²

MLE解与OLS估计一致: β̂ = (X'X)⁻¹X'y σ̂² = ||y-Xβ̂||²/n

这个例子展示了似然函数与传统统计方法的联系。

9. 计算实现:Python代码示例

import numpy as np from scipy.optimize import minimize from scipy.stats import norm # 生成模拟数据 np.random.seed(42) true_mu, true_sigma = 2.5, 1.2 n_samples = 100 data = np.random.normal(true_mu, true_sigma, n_samples) # 定义负对数似然函数(因为优化器通常最小化) def neg_log_likelihood(params, data): mu, sigma = params if sigma <= 0: # 确保sigma为正 return np.inf return -np.sum(norm.logpdf(data, loc=mu, scale=sigma)) # 初始猜测 initial_guess = [1.0, 1.0] # 优化 result = minimize(neg_log_likelihood, initial_guess, args=(data,), method='L-BFGS-B', bounds=((None, None), (1e-6, None))) mu_mle, sigma_mle = result.x print(f"MLE for mu: {mu_mle:.4f} (true: {true_mu})") print(f"MLE for sigma: {sigma_mle:.4f} (true: {true_sigma})")

10. 似然函数在机器学习中的应用

10.1 逻辑回归

逻辑回归的损失函数实际上是负对数似然函数:

ℓ(β|y,X) = ∑[yᵢ log pᵢ + (1-yᵢ)log(1-pᵢ)]

其中pᵢ = 1/(1+exp(-xᵢ'β))

10.2 神经网络

在分类任务中,交叉熵损失函数对应于多项分布的对数似然;在回归任务中,MSE对应于正态分布的对数似然。

10.3 生成模型

VAE、GAN等生成模型都隐式或显式地涉及似然函数或它的近似。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询