绪论
假如我们有一个任务;已知数据和模型,来推测模型的参数。解决该问题,一般有两类方法:极大似然估计与最大后验估计,关于极大似然估计,可以看我这篇博客:机器学习系列之极大似然估计(MLE)。
例子
我们还是拿抛硬币来举例,假如现在有一个不规则的硬币,我们实验抛了10次,结果10次全部是正面。我们记硬币朝上的概率为
θ
\theta
θ 。如果按照极大似然估计的方法来求解,似然函数为:
L
(
θ
)
=
C
10
10
θ
10
(
1
−
θ
)
0
L(\theta) = C_{10}^{10}{\theta}^{10}(1-\theta)^0
L(θ)=C1010θ10(1−θ)0
最大该似然函数:
θ
M
L
E
=
a
r
g
max
L
(
θ
)
=
1
\theta_{MLE} = arg\max L(\theta) = 1
θMLE=argmaxL(θ)=1
即正面朝上的概率
θ
\theta
θ 为 1。
这时,贝叶斯就不同意了,他认为,大部分的硬币都是均匀的,出现这样的硬币本身就是一个概率特别小的事件,也就是我们同样需要考虑得到这样一枚硬币的概率。所以,最大后验估计就出来了,即最大化后验概率
p
(
θ
∣
X
)
p(\theta|X)
p(θ∣X)。从式子就可以看出它的意义很明确,就是已知观测到的数据
X
X
X ,求出可能性最大的那个
θ
\theta
θ:
θ
M
A
P
=
a
r
g
max
p
(
θ
∣
X
)
=
a
r
g
max
p
(
X
∣
θ
)
p
(
θ
)
p
(
X
)
=
a
r
g
max
p
(
X
∣
θ
)
p
(
θ
)
\begin{aligned} {\theta}_{MAP} &= arg\max p(\theta| X)\\\\ &= arg\max{\frac{p(X|\theta)p(\theta)}{p(X)}}\\\\ &= arg\max {p(X|\theta)p(\theta)} \end{aligned}
θMAP=argmaxp(θ∣X)=argmaxp(X)p(X∣θ)p(θ)=argmaxp(X∣θ)p(θ)
式子中,
X
X
X 是观测的样本分布,所以
p
(
x
)
p(x)
p(x) 已知,所以舍弃。从式子中,我们可以看出
p
(
X
∣
θ
)
p(X|\theta)
p(X∣θ) 就是似然函数,它跟极大似然估计的区别就是多了一个
p
(
θ
)
p(\theta)
p(θ)。
这时,我们来继续解上面的抛硬币的例子,将上面的似然函数化简后带入公式:
θ
M
L
E
=
a
r
g
max
θ
10
p
(
θ
)
\theta_{MLE} = arg\max {\theta}^{10} p(\theta)
θMLE=argmaxθ10p(θ)
假设取到一个正面朝上概率为1的硬币概率为0.01,取到正面朝上概率为0.9的硬币的概率为0.1。此时:
当
θ
=
1
\theta = 1
θ=1时:
θ
10
p
(
θ
)
=
0.01
{\theta}^{10} p(\theta) = 0.01
θ10p(θ)=0.01
当
θ
=
0.9
\theta = 0.9
θ=0.9时:
θ
10
p
(
θ
)
=
0.034
{\theta}^{10} p(\theta) = 0.034
θ10p(θ)=0.034
相比这两个结果,我们当然是取
θ
=
0.9
\theta = 0.9
θ=0.9了, 这样就跟极大似然估计的结果不一样了。
同时,当实验数据不断增加的时候,先验概率
p
(
θ
)
p(\theta)
p(θ) 的作用会越来越小。假设我们现在抛了100次硬币都是正面,此时:
当
θ
=
1
\theta = 1
θ=1时:
θ
100
p
(
θ
)
=
0.01
{\theta}^{100} p(\theta) = 0.01
θ100p(θ)=0.01
当
θ
=
0.9
\theta = 0.9
θ=0.9时:
θ
100
p
(
θ
)
=
0.00000265
{\theta}^{100} p(\theta) = 0.00000265
θ100p(θ)=0.00000265
这是明显能看出,先验概率的影响小了很多。
总结
最大后验估计和极大似然估计本质上就是多了一个先验概率,并且,随着观测的样本数据越来越多时,先验概率的影响越来越小。我们可以看出,当样本很少很少的时候,先验概率很有作用,不至于让结果太离谱。