极大似然估计(Maximum Likelihood Estimation, MLE) 是一种统计方法,用于从数据中估计模型参数。它的核心思想是选择那些使得观测数据最可能发生的参数值。换句话说,MLE 寻找能够最大化数据在给定模型下出现的概率(即似然函数)的参数。
核心思想
假设我们有一个参数为 θ \theta θ 的概率分布模型,比如正态分布、伯努利分布等,数据集由 n n n 个样本 x 1 , x 2 , … , x n x_1, x_2, \dots, x_n x1,x2,…,xn 组成。极大似然估计的目标是找到参数 θ \theta θ,使得在参数为 θ \theta θ 的情况下,这些数据出现的概率最大。
形式化定义
-
似然函数:
给定观测数据 x 1 , x 2 , … , x n x_1, x_2, \dots, x_n x1,x2,…,xn 和一个参数 θ \theta θ,似然函数 L ( θ ) L(\theta) L(θ) 表示在参数为 θ \theta θ 的条件下,观测数据的联合概率。对于独立同分布(i.i.d.)的数据,似然函数可以写作:
L ( θ ) = P ( x 1 , x 2 , … , x n ∣ θ ) = ∏ i = 1 n P ( x i ∣ θ ) L(\theta) = P(x_1, x_2, \dots, x_n | \theta) = \prod_{i=1}^n P(x_i | \theta) L(θ)=P(x1,x2,…,xn∣θ)=i=1∏nP(xi∣θ)这里, P ( x i ∣ θ ) P(x_i | \theta) P(xi∣θ) 表示在给定参数 θ \theta θ 的情况下,数据 x i x_i xi 的概率或概率密度。
-
极大化似然函数:
我们的目标是找到参数 θ \theta θ,使得似然函数 L ( θ ) L(\theta) L(θ) 达到最大值。由于乘法计算可能导致数值上的不稳定性,通常我们会取对数,并最大化对数似然函数(log-likelihood function):
ℓ ( θ ) = log L ( θ ) = ∑ i = 1 n log P ( x i ∣ θ ) \ell(\theta) = \log L(\theta) = \sum_{i=1}^n \log P(x_i | \theta) ℓ(θ)=logL(θ)=i=1∑nlogP(xi∣θ)这样可以简化计算并避免数值问题。
-
极大似然估计:
我们通过求解以下方程来找到参数 θ \theta θ:
θ ^ = arg max θ ℓ ( θ ) \hat{\theta} = \arg \max_{\theta} \ell(\theta) θ^=argθmaxℓ(θ)这就是极大似然估计的核心思想:找到使对数似然函数最大的参数 θ ^ \hat{\theta} θ^。
举例说明
1. 伯努利分布的极大似然估计
假设我们有一个二元随机变量 X X X,它服从伯努利分布,参数为 p p p(即 X X X 可能取值为 1 的概率)。我们有一个样本数据集 x 1 , x 2 , … , x n x_1, x_2, \dots, x_n x1,x2,…,xn,其中每个 x i x_i xi 都是 0 或 1。我们希望估计参数 p p p,使得这些数据出现的可能性最大。
-
伯努利分布的概率质量函数为:
P ( X = x i ∣ p ) = p x i ( 1 − p ) 1 − x i P(X = x_i | p) = p^{x_i} (1 - p)^{1 - x_i} P(X=xi∣p)=pxi(1−p)1−xi -
似然函数为:
L ( p ) = ∏ i = 1 n p x i ( 1 − p ) 1 − x i L(p) = \prod_{i=1}^n p^{x_i} (1 - p)^{1 - x_i} L(p)=i=1∏npxi(1−p)1−xi -
对数似然函数为:
ℓ ( p ) = ∑ i = 1 n ( x i log p + ( 1 − x i ) log ( 1 − p ) ) \ell(p) = \sum_{i=1}^n \left( x_i \log p + (1 - x_i) \log (1 - p) \right) ℓ(p)=i=1∑n(xilogp+(1−xi)log(1−p)) -
我们对 p p p 求导,并令导数为 0 来求极大值:
d ℓ ( p ) d p = ∑ i = 1 n x i p − ∑ i = 1 n ( 1 − x i ) 1 − p = 0 \frac{d\ell(p)}{dp} = \frac{\sum_{i=1}^n x_i}{p} - \frac{\sum_{i=1}^n (1 - x_i)}{1 - p} = 0 dpdℓ(p)=p∑i=1nxi−1−p∑i=1n(1−xi)=0 -
通过解这个方程,我们可以得到:
p ^ = ∑ i = 1 n x i n \hat{p} = \frac{\sum_{i=1}^n x_i}{n} p^=n∑i=1nxi这意味着 p p p 的极大似然估计值是样本中 1 的比例,即 p p p 的估计值是样本中 1 出现的频率。
本示例更加详细的求解过程
2. 正态分布的极大似然估计
假设我们有一个样本数据集 x 1 , x 2 , … , x n x_1, x_2, \dots, x_n x1,x2,…,xn,它们来自一个正态分布 N ( μ , σ 2 ) N(\mu, \sigma^2) N(μ,σ2),我们希望估计正态分布的参数 μ \mu μ 和 σ 2 \sigma^2 σ2。
-
正态分布的概率密度函数为:
f ( x i ∣ μ , σ 2 ) = 1 2 π σ 2 exp ( − ( x i − μ ) 2 2 σ 2 ) f(x_i | \mu, \sigma^2) = \frac{1}{\sqrt{2\pi\sigma^2}} \exp \left( -\frac{(x_i - \mu)^2}{2\sigma^2} \right) f(xi∣μ,σ2)=2πσ21exp(−2σ2(xi−μ)2) -
似然函数为:
L ( μ , σ 2 ) = ∏ i = 1 n 1 2 π σ 2 exp ( − ( x i − μ ) 2 2 σ 2 ) 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) L(μ,σ2)=i=1∏n2πσ21exp(−2σ2(xi−μ)2) -
对数似然函数为:
ℓ ( μ , σ 2 ) = − n 2 log ( 2 π ) − n 2 log ( σ 2 ) − 1 2 σ 2 ∑ i = 1 n ( x i − μ ) 2 \ell(\mu, \sigma^2) = -\frac{n}{2} \log(2\pi) - \frac{n}{2} \log(\sigma^2) - \frac{1}{2\sigma^2} \sum_{i=1}^n (x_i - \mu)^2 ℓ(μ,σ2)=−2nlog(2π)−2nlog(σ2)−2σ21i=1∑n(xi−μ)2 -
分别对 μ \mu μ 和 σ 2 \sigma^2 σ2 求导,令导数为 0:
-
对 μ \mu μ:
∂ ℓ ∂ μ = 1 σ 2 ∑ i = 1 n ( x i − μ ) = 0 \frac{\partial \ell}{\partial \mu} = \frac{1}{\sigma^2} \sum_{i=1}^n (x_i - \mu) = 0 ∂μ∂ℓ=σ21i=1∑n(xi−μ)=0解这个方程可得:
μ ^ = 1 n ∑ i = 1 n x i \hat{\mu} = \frac{1}{n} \sum_{i=1}^n x_i μ^=n1i=1∑nxi也就是说, μ \mu μ 的极大似然估计值是样本的均值。
-
对 σ 2 \sigma^2 σ2:
∂ ℓ ∂ σ 2 = − n 2 σ 2 + 1 2 σ 4 ∑ i = 1 n ( x i − μ ) 2 = 0 \frac{\partial \ell}{\partial \sigma^2} = -\frac{n}{2\sigma^2} + \frac{1}{2\sigma^4} \sum_{i=1}^n (x_i - \mu)^2 = 0 ∂σ2∂ℓ=−2σ2n+2σ41i=1∑n(xi−μ)2=0解这个方程可得:
σ ^ 2 = 1 n ∑ i = 1 n ( x i − μ ^ ) 2 \hat{\sigma}^2 = \frac{1}{n} \sum_{i=1}^n (x_i - \hat{\mu})^2 σ^2=n1i=1∑n(xi−μ^)2也就是说, σ 2 \sigma^2 σ2 的极大似然估计值是样本的方差。
-
总结
- 极大似然估计 是通过最大化样本数据在模型下出现的概率来估计模型参数的。
- 通过对似然函数或对数似然函数求导并找到其最大值,可以找到参数的估计值。
- 在许多机器学习和统计学问题中,极大似然估计是最常用的参数估计方法之一,特别是在需要从数据中估计概率分布或模型参数时!