最大似然估计(Maximum Likelihood Estimation,MLE) 和 最大后验估计(Maximun A Posterior,MAP) 都是根据已知的观测数据估计出概率分布模型的参数的方法。这里的概率分布模型可以是正态分布、二项分布或均匀分布等各种模型。
篇幅较长,先说下主要内容:
- 介绍 MLE 和 MAP 方法用于参数估计的大致步骤。
- 详细介绍 MLE 和 MAP,包括其原理和计算过程。
- 讨论 MLE 和 MAP 的联系。
参数估计的大致步骤
在使用这两种参数估计方法之前,需要确定哪种概率分布模型更有可能最好地描述观测数据的分布。在一些简单的情况下,通过可视化观测数据,我们就能大致判断出这些观测数据所服从的分布,比如,根据下图所示可以判断这些一维数据大致呈正态分布(在 x = 3.0 x=3.0 x=3.0 附近较为聚集,两边逐步稀疏)。当然现实中一般无法这么轻易地判断出观测数据的所服从的分布的类别,需要运用一些专业知识,但这不是该博客的覆盖范围(因为我也不懂)。
在初步确定观测数据所服从的概率分布模型后,就该用参数估计方法对该概率分布模型的参数进行估计了。不同的概率分布模型具有不同的参数,参数数量也会不同(比如,正态分布具有两个参数:均值
μ
\mu
μ 和标准差
σ
\sigma
σ,而二项分布的参数只有一个)。下面分别描述 MLE 和 MAP,并在最后总结两者的联系。
最大似然估计
最大似然估计即估计模型参数
θ
\theta
θ,用参数确定概率分布模型,使该模型产生所给观测数据的可能性(
P
(
X
∣
θ
)
P(X|\theta)
P(X∣θ))最大。用公式表达如下,其中
X
X
X 为整体观测数据,并假设各个观测数据
x
i
x_i
xi 独立同分布。
θ
M
L
E
=
arg max
θ
P
(
X
∣
θ
)
=
arg max
θ
∏
i
=
1
N
P
(
x
i
∣
θ
)
(1)
\begin{aligned} \theta_{MLE} &= \argmax_{\theta} P(X|\theta) \\ &= \argmax_{\theta} \prod_{i=1}^{N} P(x_i|\theta) \end{aligned} \tag{1}
θMLE=θargmaxP(X∣θ)=θargmaxi=1∏NP(xi∣θ)(1)
观察上面的公式可知,由于
P
(
x
i
∣
θ
)
P(x_i|\theta)
P(xi∣θ) 均小于 1,当
N
N
N 过大的时候,
∏
i
=
1
N
P
(
x
i
∣
θ
)
\prod_{i=1}^{N} P(x_i|\theta)
∏i=1NP(xi∣θ) 将趋近于 0. 这会造成下溢出,故在实际中很难准确运算。又考虑到对数函数是单调递增的函数,故最大化
log
∏
i
=
1
N
P
(
x
i
∣
θ
)
\log \prod_{i=1}^{N} P(x_i|\theta)
log∏i=1NP(xi∣θ) 等价于最大化
∏
i
=
1
N
P
(
x
i
∣
θ
)
\prod_{i=1}^{N} P(x_i|\theta)
∏i=1NP(xi∣θ) ,且对数函数可把越接近于零的小数转化成整数位越大于零的负数(如下图),这就避免了下溢问题。
因此最大似然估计公式可化为:
θ
M
L
E
=
arg max
θ
log
P
(
X
∣
θ
)
=
arg max
θ
log
∏
i
=
1
N
P
(
x
i
∣
θ
)
=
arg max
θ
∑
i
N
log
P
(
x
i
∣
θ
)
(2)
\begin{aligned} \theta_{MLE} &= \argmax_{\theta}\log P(X|\theta) \\ &= \argmax_{\theta}\log \prod_{i=1}^{N} P(x_i|\theta) \\ &= \argmax_{\theta} \sum_i^N \log P(x_i|\theta) \end{aligned} \tag{2}
θMLE=θargmaxlogP(X∣θ)=θargmaxlogi=1∏NP(xi∣θ)=θargmaxi∑NlogP(xi∣θ)(2)
以正态分布为例
其实,如果我们初步判断观测数据呈正态分布,并使用上面公式计算根据观测数据计算正态分布的两个参数(均值
μ
\mu
μ 和标准差
σ
\sigma
σ )时会得出:
μ
=
1
N
∑
i
N
x
i
σ
=
1
N
∑
i
N
(
x
i
−
μ
)
2
(3)
\begin{aligned} \mu &= \frac{1}{N}\sum_i^N x_i \\ \sigma &= \sqrt{\frac{1}{N}\sum_i^N(x_i - \mu)^2} \end{aligned} \tag{3}
μσ=N1i∑Nxi=N1i∑N(xi−μ)2(3)
为什么呢?我们知道,正态分布的概率密度函数(Probability Density Function, PDF)为:
P
(
x
;
μ
,
σ
)
=
1
σ
2
π
exp
(
−
(
x
−
μ
)
2
2
σ
2
)
(4)
P(x;\mu,\sigma) = \frac{1}{\sigma\sqrt{2\pi}}\exp(-\frac{(x-\mu)^2}{2\sigma^2}) \tag{4}
P(x;μ,σ)=σ2π1exp(−2σ2(x−μ)2)(4)
将公式
(
2
)
(2)
(2) 中的
P
(
x
i
∣
θ
)
P(x_i|\theta)
P(xi∣θ) 替换成公式
(
4
)
(4)
(4) 中的
P
(
x
;
μ
,
σ
)
P(x;\mu,\sigma)
P(x;μ,σ),得:
θ
M
L
E
=
arg max
θ
log
P
(
X
∣
θ
)
=
arg max
θ
∑
i
N
log
P
(
x
i
∣
θ
)
=
arg max
θ
∑
i
N
log
P
(
x
i
;
μ
,
σ
)
(5)
\begin{aligned} \theta_{MLE} &= \argmax_{\theta}\log P(X|\theta) \\ &= \argmax_{\theta} \sum_i^N \log P(x_i|\theta) \\ &= \argmax_{\theta} \sum_i^N \log P(x_i;\mu,\sigma) \end{aligned} \tag{5}
θMLE=θargmaxlogP(X∣θ)=θargmaxi∑NlogP(xi∣θ)=θargmaxi∑NlogP(xi;μ,σ)(5)
使用常规的极值求解方法,如解析法(直接求各参数的偏导,并令其等于零,人工求解)和数值法(如梯度下降),便可求出正态分布的两个参数:均值
μ
\mu
μ 和标准差
σ
\sigma
σ ,和公式
(
3
)
(3)
(3) 一样.
这篇博文中的例子更为详细,讲解得很棒,读者如有疑惑可阅读该博文(外网,需要梯子)。
最大后验估计
在介绍最大后验估计之前,我觉得有必要先说明一下贝叶斯推断(Bayesian Inference),贝叶斯推断,如其名,基于贝叶斯定理。
P ( X ∣ θ ) P(X|\theta) P(X∣θ) : likelihood function,似然函数
P ( θ ) P(\theta) P(θ) : prior distribution,前验分布
P ( θ ∣ X ) P(\theta|X) P(θ∣X) : posterior distribution,后验分布
P ( X ) P(X) P(X) : evidence,事实,对于最大后验估计的计算无影响。
贝叶斯推断和最大似然估计(MLE)以及最大后验估计(MAP)一样,都是根据已知的观测数据,得到概率分布的属性。不过,贝叶斯推断与后两者的区别在于:MLE 和 MAP 得到的是确定的数值,而贝叶斯推断得到的是概率分布。也就是说, MLE 和 MAP 的计算结果是某种概率分布确定的参数值(如正态分布的 μ = 3 , σ = 0.1 \mu=3, \sigma=0.1 μ=3,σ=0.1) ,而贝叶斯推断得到的是有关于参数的后验概率分布。其实最大后验估计的结果即为最大化贝叶斯推断所获得的结果。想更具体地了解贝叶斯推断可阅读该博文(如上,外网)。
贝叶斯推断公式如下:
P
(
θ
∣
X
)
=
P
(
X
∣
θ
)
P
(
θ
)
P
(
X
)
(6)
P(\theta|X) = \frac{P(X|\theta)P(\theta)}{P(X)} \tag{6}
P(θ∣X)=P(X)P(X∣θ)P(θ)(6)
则最大后验估计公式为:
θ
M
A
P
=
arg max
θ
P
(
θ
∣
X
)
=
arg max
θ
P
(
X
∣
θ
)
P
(
θ
)
P
(
X
)
(6)
\begin{aligned} \theta_{MAP} &= \argmax_{\theta} P(\theta|X) \\ &= \argmax_{\theta}\frac{P(X|\theta)P(\theta)}{P(X)} \end{aligned} \tag{6}
θMAP=θargmaxP(θ∣X)=θargmaxP(X)P(X∣θ)P(θ)(6)
由于对于任意的
θ
\theta
θ ,
P
(
X
)
P(X)
P(X) 总是一常数,所以
P
(
X
)
P(X)
P(X) 的值对
θ
M
A
P
\theta_{MAP}
θMAP 没有影响,故可把
P
(
X
)
P(X)
P(X) 从公式
(
6
)
(6)
(6) 中去掉。再把最大似然函数公式
(
5
)
(5)
(5) 带入到公式
(
6
)
(6)
(6) 中,以及在前加上对数函数,可得:
θ
M
A
P
=
arg max
θ
P
(
θ
∣
X
)
=
arg max
θ
P
(
X
∣
θ
)
P
(
θ
)
=
arg max
θ
log
P
(
X
∣
θ
)
+
log
P
(
θ
)
=
arg max
θ
∑
i
N
log
P
(
x
i
∣
θ
)
+
log
P
(
θ
)
(7)
\begin{aligned} \theta_{MAP} &= \argmax_{\theta} P(\theta|X) \\ &= \argmax_{\theta}P(X|\theta)P(\theta) \\ &= \argmax_{\theta} \log P(X|\theta) + \log P(\theta) \\ &= \argmax_{\theta} \sum_i^N \log P(x_i|\theta) + \log P(\theta) \end{aligned} \tag{7}
θMAP=θargmaxP(θ∣X)=θargmaxP(X∣θ)P(θ)=θargmaxlogP(X∣θ)+logP(θ)=θargmaxi∑NlogP(xi∣θ)+logP(θ)(7)
接下来的计算步骤如在最大似然估计中所讲的一样,求极值,就不多说了。
看到这里,或许你已经发现,MAP 与 MLE 很相似,相比公式 ( 5 ) (5) (5) 和 ( 6 ) (6) (6) 就可以发现 MAP 的式子只比 MLE 多了个 log P ( θ ) \log P(\theta) logP(θ).
读到这里,读者可能会疑问: P ( θ ) P(\theta) P(θ) 是什么?它等于多少?
P ( θ ) P(\theta) P(θ) 是先验分布,其代表我们对参数真实值的信念。也就是在使用观测数据之前,我们对概率分布参数的一个判断,所以才叫先验分布。接下来以例子说明。
用例子说明 MAP 中的先验分布(以正态分布为例)
根据以往考试成绩的分布规律,可获知某省所有同学模拟考数学考试成绩服从
μ
=
85
,
σ
=
8
\mu=85, \sigma=8
μ=85,σ=8 的正态分布(这就是先验分布),如下图中的蓝线。某数学老师想要根据自己所教的几个班下次模拟考的数学成绩来估计下次模拟考全省学生数学成绩的概率分布,仅使用几个班的成绩估计全省学生的成绩肯定会存在偏差,但是可以利用前先全省成绩的规律(先验分布)加以扶正,以得到一个相对可靠的估计(后验分布)。模拟考成绩出来后,该数学老师根据自己学生的成绩,利用最大似然估计得出自己学生的成绩分布(下图中的黄线),最后利用最大后验估计(公式
(
7
)
(7)
(7))得出全省学生的成绩分布(下图中的红线)。
说明了先验分布 P ( θ ) P(\theta) P(θ)后,我们就可以进一步比较 MAP 和 MLE 的联系了。
MAP 和 MLE 的联系
前面也提到 MAP 与 MLE 很相似,MAP 的式子只比 MLE 多了个 log P ( θ ) \log P(\theta) logP(θ). 这就说明 MAP 只是比 MLE 多了个先验信息。对于 MAP ,当先验分布为均匀分布时(也就是先验信息缺失的情况下),对于任意的 θ \theta θ , log P ( θ ) \log P(\theta) logP(θ)都只为同一个常数,则该项对公式 ( 7 ) (7) (7) 的计算结果就产生不了影响了,这时的 MAP 就等价于 MLE 了。所以可以说,MLE 是 MAP 的一种特殊情况(无先验信息)。详情可见博客。
从这里可看出 MAP 相对于 MLE 的优势: 可纳入先验信息,好的先验信息可辅助得出更好的参数估计。这个优势也带来了相应的缺点:如果先验信息存在错误,那么将对参数估计产生负面影响。更多 MAP 和 MLE 的优缺点可见该博客(外网)。
回顾
该博客:
- 首先介绍了 MLE 和 MAP 方法用于参数估计的大致步骤。
- 详细介绍了 MLE,包括其原理和计算过程。
- 结合贝叶斯推断说明 MAP 的原理。
- 讨论了 MLE 和 MAP 的联系。
欢迎大家以评论的方式提出我这里的表述错误和理解错误。
参考源
- Probability concepts explained: Maximum likelihood estimation
- Probability concepts explained: Bayesian inference for parameter estimation.
- MLE vs MAP: the connection between Maximum Likelihood and Maximum A Posteriori Estimation
- MLE, MAP and Bayesian Inference
- Maximum Likelihood Estimation v.s. Bayesian Estimation
- 贝叶斯推断及其互联网应用(一):定理简介