- 前言
- 频率学派与贝叶斯学派
- MLE与MAP
- 引例
- 极大似然估计MLE
- 最大后验估计MAP
- MLE与MAP的异同
- 相同点
- 不同点
- 后记
机器学习和优化过程中经常出现极大似然估计(Maximum Likelihood Estimation, MLE)和最大后验估计(Maximum A Posterior Estimation. MAP),现在来做个辨析。
频率学派与贝叶斯学派极大似然估计MLE是频率学派估计方法,最大后验估计MAP是贝叶斯学派的方法,二者都用于推测模型参数。
频率学派认为模型参数 θ \theta θ是一个固定值,而观测样本是随机的,因此频率学派的推测目标就是从参数空间(模型参数可能的取值范围)中找到那个确定的参数值。
贝叶斯学派认为模型参数 θ \theta θ是在参数空间中随机取值的,只不过不同参数所取的概率不同,而观测样本是固定,因此贝叶斯学派的推测目标就是获得参数的分布 p ( θ ) p(\theta) p(θ)。
因此MLE和MAP的第一个不同点就出现了:MLE将获得固定值,MAP将获得一个概率分布。
MLE与MAP首先需要确定,MLE与MAP的共同目标是:对于某个模型参数未知的实验场景,通过反复实验获得了多个观测样本,根据样本推测模型参数。
引例假设抛一枚硬币10次,正9次反1次,求丢该硬币获得正面的概率?
极大似然估计MLE频率学派认为观测样本是随机的,模型参数是固定的,并且模型参数应当使得样本出现的概率是最大的。
因此,极大似然估计MLE要做的,就是求出使得样本出现概率最大化的参数。
假设模型参数和样本为 θ , x 1 : n \theta,x_{1:n} θ,x1:n,似然函数为 L ( θ ∣ x ) L(\theta|x) L(θ∣x),则极大似然估计可表示为: arg max θ ^ L ( θ ∣ x 1 : n ) = arg min θ ^ − log L ( θ ∣ x 1 : n ) \begin{aligned} & \argmax_{\hat \theta} \quad L(\theta|x_{1:n}) \\ = &\argmin_{\hat \theta} \quad -\log L(\theta|x_{1:n}) \end{aligned} =θ^argmaxL(θ∣x1:n)θ^argmin−logL(θ∣x1:n) 一般将似然函数化为负对数似然,更容易求极值。
对于引例,极大似然估计MLE是这么处理的: p ( x = 1 ) = θ p ( x = 0 ) = 1 − θ L ( θ ∣ x 1 : 10 ) = θ 9 ( 1 − θ ) arg max θ ^ L ( θ ∣ x 1 : 10 ) = arg min θ ^ − log C 10 9 θ 9 ( 1 − θ ) = arg min θ ^ ( − 9 log θ − log ( 1 − θ ) ) f ( θ ) = ( − 9 log θ − log ( 1 − θ ) ) d f / d θ = − 9 θ + 1 1 − θ = 0 θ ^ = 0.9 \begin{aligned} &p(x=1)=\theta \\ &p(x=0)=1-\theta \\ &L(\theta|x_{1:10})=\theta^9(1-\theta) \\ \quad \\ &\argmax_{\hat \theta} \quad L(\theta|x_{1:10}) \\ = & \argmin_{\hat \theta} \quad -\log C_{10}^9\theta^9(1-\theta) \\ = & \argmin_{\hat \theta} \quad (-9\log \theta - \log (1-\theta)) \\ \quad \\ f(\theta) & = (-9\log \theta - \log (1-\theta)) \\ df/d\theta & = \frac{-9}{\theta} +\frac{1}{1-\theta}=0 \\ \hat \theta & = 0.9 \end{aligned} ==f(θ)df/dθθ^p(x=1)=θp(x=0)=1−θL(θ∣x1:10)=θ9(1−θ)θ^argmaxL(θ∣x1:10)θ^argmin−logC109θ9(1−θ)θ^argmin(−9logθ−log(1−θ))=(−9logθ−log(1−θ))=θ−9+1−θ1=0=0.9 MLE算出来的抛硬币正面概率是0.9,这丢十次九次正面的概率最大化,也就是所谓的极大似然。
最大后验估计MAP贝叶斯学派认为观测样本是固定的,而模型参数是随机的,在参数空间中模型参数服从某个分布,并且在观测前就能够获得模型参数的假设,即先验分布。
因此,最大后验估计MAP要做的,就是通过观测样本更新模型参数的分布。
贝叶斯定理: p o s t e r i o r = p r i o r × l i k e l i h o o d e v i d e n c e p ( θ ∣ x ) = p ( θ ) p ( x ∣ θ ) p ( x ) = p ( θ ) p ( x ∣ θ ) ∫ p ( x ∣ θ ) p ( θ ) d θ \begin{aligned} posterior &= \frac {prior\times likelihood}{evidence} \\ \quad \\ p(\theta|x) &= \frac {p(\theta)p(x|\theta)}{p(x)} \\ &= \frac {p(\theta)p(x|\theta)}{\int p(x|\theta)p(\theta)d\theta} \\ \end{aligned} posteriorp(θ∣x)=evidenceprior×likelihood=p(x)p(θ)p(x∣θ)=∫p(x∣θ)p(θ)dθp(θ)p(x∣θ)
假设模型参数分布和样本为 θ , x 1 : n \theta,x_{1:n} θ,x1:n,先验为 p ( θ ) p(\theta) p(θ),则最大后验估计可表示为: arg max θ ^ p ( θ ∣ x 1 : n ) = arg min θ ^ − log p ( θ ∣ x 1 : n ) = arg min θ ^ − log p ( θ ) − log p ( x ∣ θ ) − log p ( x ) = arg min θ ^ − log p ( θ ) − log p ( x ∣ θ ) \begin{aligned} & \argmax_{\hat \theta} \quad p(\theta|x_{1:n}) \\ = &\argmin_{\hat \theta} \quad -\log p(\theta|x_{1:n}) \\ = &\argmin_{\hat \theta} \quad -\log p(\theta)- \log p(x|\theta) - \log p(x) \\ = &\argmin_{\hat \theta} \quad -\log p(\theta)- \log p(x|\theta) \end{aligned} ===θ^argmaxp(θ∣x1:n)θ^argmin−logp(θ∣x1:n)θ^argmin−logp(θ)−logp(x∣θ)−logp(x)θ^argmin−logp(θ)−logp(x∣θ) MAP和MLE形式上很相似。
对于引例,最大似后验估计MAP是这么做的,先假设模型参数服从某种分布(这里使用正态分布):
θ
∼
N
(
0.5
,
1
)
x
∼
B
(
n
,
θ
)
P
(
x
1
:
10
∣
θ
)
=
C
10
9
θ
9
(
1
−
θ
)
f
(
θ
)
=
1
2
π
exp
(
−
(
θ
−
0.5
)
2
2
)
arg max
θ
^
P
(
θ
∣
x
1
:
10
)
=
arg min
θ
^
−
log
f
(
θ
)
−
log
θ
9
(
1
−
θ
)
=
arg min
θ
^
(
(
θ
−
0.5
)
2
2
−
9
log
θ
−
log
(
1
−
θ
)
)
θ
−
0.5
−
9
θ
+
1
1
−
θ
=
0
\begin{aligned} & \theta \sim N(0.5,1) \\ & x\sim B(n,\theta) \\ & P(x_{1:10}|\theta)=C_{10}^9\theta^9(1-\theta) \\ & f(\theta)=\frac {1}{\sqrt {2\pi}}\exp(-\frac {(\theta-0.5)^2}{2})\\ \quad \\ &\argmax_{\hat \theta} \quad P(\theta|x_{1:10}) \\ = & \argmin_{\hat \theta} \quad - \log f(\theta) -\log \theta^9(1-\theta) \\ = & \argmin_{\hat \theta} \quad (\frac {(\theta-0.5)^2}{2} - 9\log \theta - \log (1-\theta)) \\ \quad \\ &\theta - 0.5 - \frac {9}{\theta} + \frac {1}{1-\theta} =0 \\ \end{aligned}
==θ∼N(0.5,1)x∼B(n,θ)P(x1:10∣θ)=C109θ9(1−θ)f(θ)=2π
1exp(−2(θ−0.5)2)θ^argmaxP(θ∣x1:10)θ^argmin−logf(θ)−logθ9(1−θ)θ^argmin(2(θ−0.5)2−9logθ−log(1−θ))θ−0.5−θ9+1−θ1=0 上面求极值的函数图像如下: 可以求出参数
θ
^
\hat \theta
θ^大致范围在
(
0.8
,
0.9
)
(0.8,0.9)
(0.8,0.9)之间,由此就可以更新模型参数的分布
θ
∼
N
(
θ
^
,
1
)
\theta \sim N(\hat \theta,1)
θ∼N(θ^,1)。
(注:严格来讲应当同时更新正态分布的均值和方差,但这里为了计算简化,只针对参数的期望进行了推导)
MLE与MAP的异同 相同点都是以最大化某个值来推测模型参数(参数分布)。
不同点MLE推测模型参数时,完全依靠观测样本来进行推断,因此当样本量小时,容易出现推测参数偏差过大的问题。
这反映了频率学派的思想:当实验次数足够大时,样本将反映真实的概率(期望),即大数定律。
MAP推测模型参数时,根据观测样本和先验进行推断,因此当样本量小时,参数分布更靠近先验,而样本量大时,参数分布更靠近数据。
MAP体现了一种通过观测更新分布的思想。
后记实际应用中,MLE的应用更加广泛,比如机器学习中的模型训练,使用的就是MLE的思想:通过样本与标签值,获得某个推断模型的固定参数。
MAP由于计算复杂,使用相对少一些。从上面的引例可以看出,MLE的计算相对容易,MAP涉及到概率分布计算,比较麻烦。