最大似然估计与最大后验概率
从大学第一次学概率论的时候,就接触了最大似然估计,后来慢慢也学到了最大后验概率。最大似然只知道咋算,但为啥叫这个名字并没有深究,对于两者之间的关系,隐约觉得有些相似,但又说不上来,困扰了我许久。
最大似然估计
最大似然估计(Maximum Likelihood Estimation,MLE)在机器学习任务中十分常见。我个人对likelihood一词的理解就是他能够最大限度的逼近事实。
举个抛硬币的例子,这里假设硬币服从二项分布,正面朝上为1,正面朝下为0,抛了10次后结果4次正面朝上,6次正面朝下。对于最大似然函数估计,它的目标是
θ
M
L
E
=
arg
max
θ
P
(
X
∣
θ
)
=
arg
max
θ
log
∏
i
P
(
x
i
∣
θ
)
=
arg
max
θ
∑
i
log
P
(
x
i
∣
θ
)
=
arg
max
θ
4
log
θ
+
6
log
(
1
−
θ
)
\begin{aligned} \theta_{MLE} &= \arg \max_\theta P(X|\theta) \\ &= \arg \max_\theta \log \prod_i P(x_i|\theta) \\ & = \arg \max_\theta \sum_i \log P(x_i|\theta) \\ & = \arg \max_\theta 4\log\theta+6\log{(1-\theta)} \end{aligned}
θMLE=argθmaxP(X∣θ)=argθmaxlogi∏P(xi∣θ)=argθmaxi∑logP(xi∣θ)=argθmax4logθ+6log(1−θ)
将上式求导可得
θ
M
L
E
=
0.4
\theta_{MLE}=0.4
θMLE=0.4。如果
θ
M
L
E
≠
0.4
\theta_{MLE} \neq 0.4
θMLE=0.4,那么上式就不能得到最大值,因此
θ
\theta
θ就是一个能最好描述已经发生事件的参数,只有
θ
M
L
E
=
0.4
\theta_{MLE} = 0.4
θMLE=0.4才与事实相符。
最大后验概率
最大后验概率(Maximum A Posteriori Estimation,MAP)是贝叶斯学派的估计方法,它主要思想这样的,同样拿投硬币来说,假设其服从二项分布,首先我内心有个硬币正面朝上概率是0.5的先验知识,可是经过10次投掷后,发现只有4次朝上,这时我内心开始动摇了,我慢慢改变对他的看法,可能正面朝上的概率是0.45才更能让投掷10次正面朝上4次这件事发生。
将上述问题抽象,根据贝叶斯定理,我们可以得到最大后验概率为
P
(
θ
∣
X
)
=
P
(
X
∣
θ
)
P
(
θ
)
P
(
X
)
∝
P
(
X
∣
θ
)
P
(
θ
)
\begin{aligned} P(\theta|X)&=\frac{P(X|\theta)P(\theta)}{P(X)} \\ &\propto P(X|\theta)P(\theta) \end{aligned}
P(θ∣X)=P(X)P(X∣θ)P(θ)∝P(X∣θ)P(θ)
上式分母与
θ
\theta
θ无关,因此可以省略。我们替换最大似然估计中的概率项,有
θ
M
A
P
=
arg
max
θ
P
(
X
∣
θ
)
P
(
θ
)
=
arg
max
θ
log
∏
i
P
(
x
i
∣
θ
)
P
(
θ
)
=
arg
max
θ
∑
i
log
P
(
x
i
∣
θ
)
+
log
P
(
θ
)
\begin{aligned} \theta_{MAP} &= \arg \max_\theta P(X|\theta)P(\theta) \\ &= \arg \max_\theta \log \prod_i P(x_i|\theta)P(\theta) \\ & = \arg \max_\theta \sum_i \log P(x_i|\theta)+\log{P(\theta)} \\ \end{aligned}
θMAP=argθmaxP(X∣θ)P(θ)=argθmaxlogi∏P(xi∣θ)P(θ)=argθmaxi∑logP(xi∣θ)+logP(θ)
MLE与MAP对比
对比两者,可以看出唯一区别是
θ
M
A
P
\theta_{MAP}
θMAP中多了先验概率的项。对于投硬币来说,先验知识是
P
(
θ
)
=
0.5
P(\theta)=0.5
P(θ)=0.5,带入
θ
M
A
P
\theta_{MAP}
θMAP后是常数,不影响任何参数的求解,有
θ
M
A
P
=
arg
max
θ
P
(
X
∣
θ
)
P
(
θ
)
=
arg
max
θ
log
∏
i
P
(
x
i
∣
θ
)
P
(
θ
)
=
arg
max
θ
∑
i
log
P
(
x
i
∣
θ
)
+
log
0.5
=
arg
max
θ
∑
i
log
P
(
x
i
∣
θ
)
+
c
=
arg
max
θ
∑
i
log
P
(
x
i
∣
θ
)
=
θ
M
L
E
\begin{aligned} \theta_{MAP} &= \arg \max_\theta P(X|\theta)P(\theta) \\ &= \arg \max_\theta \log \prod_i P(x_i|\theta)P(\theta) \\ & = \arg \max_\theta \sum_i \log P(x_i|\theta)+\log{0.5} \\ & = \arg \max_\theta \sum_i \log P(x_i|\theta)+c \\ & = \arg \max_\theta \sum_i \log P(x_i|\theta) \\ & = \theta_{MLE} \end{aligned}
θMAP=argθmaxP(X∣θ)P(θ)=argθmaxlogi∏P(xi∣θ)P(θ)=argθmaxi∑logP(xi∣θ)+log0.5=argθmaxi∑logP(xi∣θ)+c=argθmaxi∑logP(xi∣θ)=θMLE
如果使用其他不同的先验项,如高斯分布,这时常数项不再固定,最终求解的 θ M A P \theta_{MAP} θMAP和 θ M L E \theta_{MLE} θMLE会有略微差别。因此我们可以得出一个结论,MLE是MAP的特殊情况,即MAP的先验是均匀分布的情况。
这篇笔记参考了MLE vs MAP这位大神的笔记,又加了些自己的理解,以此记录,以便以后查阅。