前言
极大似然估计在贝叶斯算法、EM算法和高斯混合聚类等算法中均有用到,其重要性显而易见。
极大似然估计
1、概述
极大似然估计有什么用?
答:已知某个随机样本
(
x
1
,
x
2
,
.
.
.
,
x
n
)
(x_{1},x_{2},...,x_{n})
(x1,x2,...,xn)符合某种概率分布,但是其中某个具体参数
θ
\theta
θ不知道这时可以用极大似然估计得到
θ
^
\widehat {\theta}
θ
,该
θ
\theta
θ使这个随机样本出现的概率最大
2、计算过程
用个例子说明极大似然估计:在掷硬币实验中估计出现正面向上的概率
θ
\theta
θ
解释下该问题:
令
x
i
x_{i}
xi表示第i次掷硬币的结果,
X
=
{
x
1
,
x
2
,
.
.
.
,
x
n
}
,
X=\{x_{1},x_{2},...,x_{n}\},
X={x1,x2,...,xn},很明显
x
i
x_{i}
xi服从二项分布:
x
i
∼
b
(
1
,
θ
)
=
{
1
,
正
面
0
,
反
面
(1)
x_{i}\sim b(1,\theta)=\left\{\begin{matrix} 1&,正面 \\ 0 &,反面 \end{matrix}\right.\tag{1}
xi∼b(1,θ)={10,正面,反面(1)
那么二项分布的概率密度函数可以写为:
P
(
X
=
x
)
=
θ
x
(
1
−
θ
)
1
−
x
(2)
P(X=x)=\theta^{x}(1-\theta)^{1-x}\tag{2}
P(X=x)=θx(1−θ)1−x(2)
极大似然估计的思想是:假设已经有了参数
θ
\theta
θ,然后根据实验结果写出出现这组结果的概率,为了使该结果出现的概率最大,即最大化似然函数(假设实验服从独立同分布):
m
a
x
θ
L
(
θ
)
=
P
(
X
=
x
1
∣
θ
)
∗
P
(
X
=
x
2
∣
θ
)
∗
.
.
.
∗
P
(
X
=
x
n
∣
θ
)
(3)
\underset{\theta}{max}L(\theta)=P(X=x_{1}|\theta)*P(X=x_{2}|\theta)*...*P(X=x_{n}|\theta)\tag{3}
θmaxL(θ)=P(X=x1∣θ)∗P(X=x2∣θ)∗...∗P(X=xn∣θ)(3)
把(2)带入(3)中:
m
a
x
θ
L
(
θ
)
=
m
a
x
θ
∏
i
=
1
n
θ
x
i
(
1
−
θ
)
1
−
x
i
(4)
\underset{\theta}{max}L(\theta)=\underset{\theta}{max}\prod_{i=1}^{n}\theta^{x_{i}}(1-\theta)^{1-x_{i}}\tag{4}
θmaxL(θ)=θmaxi=1∏nθxi(1−θ)1−xi(4)
求(4)式的最大化等价于求其对数的最大化(将连乘转换成累加):
m
a
x
θ
L
(
θ
)
=
m
a
x
θ
l
n
L
(
θ
)
=
m
a
x
θ
l
n
[
∏
i
=
1
n
θ
x
i
(
1
−
θ
)
1
−
x
i
]
=
m
a
x
θ
∏
i
=
1
n
[
l
n
θ
x
i
+
l
n
(
1
−
θ
)
1
−
x
i
]
=
m
a
x
θ
{
∑
i
=
1
n
x
i
l
n
θ
+
(
n
−
∑
i
=
1
n
x
i
)
l
n
(
1
−
θ
)
}
(5)
\underset{\theta}{max}L(\theta)=\underset{\theta}{max}lnL(\theta)=\underset{\theta}{max}ln[\prod_{i=1}^{n}\theta^{x_{i}}(1-\theta)^{1-x_{i}}]=\underset{\theta}{max}\prod_{i=1}^{n}[ln\theta^{x_{i}}+ln(1-\theta)^{1-x_{i}}]\\=\underset{\theta}{max}\left \{ \sum_{i=1}^{n}x_{i}ln\theta +(n-\sum_{i=1}^{n}x_{i})ln(1-\theta)\right \}\tag{5}
θmaxL(θ)=θmaxlnL(θ)=θmaxln[i=1∏nθxi(1−θ)1−xi]=θmaxi=1∏n[lnθxi+ln(1−θ)1−xi]=θmax{i=1∑nxilnθ+(n−i=1∑nxi)ln(1−θ)}(5)
(5)式对
θ
\theta
θ求导,置0:
∂
l
n
L
(
θ
)
∂
θ
=
∑
i
=
1
n
x
i
θ
−
n
−
∑
i
=
1
n
x
i
1
−
θ
=
0
(6)
\frac{\partial lnL(\theta)}{\partial \theta}=\frac{\sum_{i=1}^{n}x_{i}}{\theta}-\frac{n-\sum_{i=1}^{n}x_{i}}{1-\theta}=0\tag{6}
∂θ∂lnL(θ)=θ∑i=1nxi−1−θn−∑i=1nxi=0(6)
那么就可以得到
θ
\theta
θ的极大似然估计结果:
θ
^
=
∑
i
=
1
n
x
i
n
(7)
\widehat{\theta}=\frac{\sum_{i=1}^{n}x_{i}}{n}\tag{7}
θ
=n∑i=1nxi(7)
3、总结
总结下极大似然估计(套路):
- 写出似然函数 L ( θ ) = ∏ i = 1 n P ( x i ∣ θ ) L(\theta)=\prod_{i=1}^{n}P(x_{i}|\theta) L(θ)=∏i=1nP(xi∣θ)
- 对似然函数取对数 l n L ( θ ) lnL(\theta) lnL(θ)
- 对 θ \theta θ求偏导 ∂ l n L ( θ ) ∂ θ \frac{\partial lnL(\theta)}{\partial\theta} ∂θ∂lnL(θ)
- 解似然方程 ∂ l n L ( θ ) ∂ θ = 0 \frac{\partial lnL(\theta)}{\partial\theta}=0 ∂θ∂lnL(θ)=0
贝叶斯估计
1、计算过程
极大似然估计是完全根据样本信息对参数
θ
\theta
θ做出估计,而在贝叶斯估计中要用的不止样本信息,还有先验信息,也就是说,在试验之前对参数
θ
\theta
θ有一个大概的判断,
还是用上面的例子:在掷硬币实验中估计出现正面向上的概率
θ
\theta
θ
先验信息就是这个参数
θ
\theta
θ是在0和1之间的,在0.5附近取值的概率比较高,0和1之间的均匀分布,可以用贝塔分布表示,那么先验信息的概率密度函数为:
π
(
θ
)
=
τ
(
α
+
β
)
τ
(
α
)
+
τ
(
β
)
θ
α
−
1
(
1
−
θ
)
β
−
1
(8)
\pi(\theta)=\frac{\tau (\alpha+\beta)}{\tau (\alpha)+\tau(\beta)}\theta^{\alpha-1}(1-\theta)^{\beta-1}\tag{8}
π(θ)=τ(α)+τ(β)τ(α+β)θα−1(1−θ)β−1(8)
关于
α
\alpha
α和
β
\beta
β怎样赋值这里不讨论。
假设试验得到一组样本
{
x
1
,
x
2
,
.
.
,
x
n
}
\{x_{1},x_{2},..,x_{n}\}
{x1,x2,..,xn},那么就需要用样本信息来调整先验信息
根据贝叶斯公式:
P
(
A
∣
B
)
=
P
(
B
∣
A
)
P
(
A
)
P
(
B
)
(9)
P(A|B)=\frac{P(B|A)P(A)}{P(B)}\tag{9}
P(A∣B)=P(B)P(B∣A)P(A)(9)
基于样本信息得到的参数
θ
\theta
θ的概率密度:
P
(
θ
∣
x
1
,
x
2
,
.
.
.
,
x
n
)
=
P
(
θ
,
x
1
,
x
2
,
.
.
,
x
n
)
P
(
x
1
,
x
2
,
.
.
,
x
n
)
=
P
(
θ
)
P
(
x
1
∣
θ
)
P
(
x
2
∣
θ
)
.
.
.
P
(
x
n
∣
θ
)
P
(
x
1
,
x
2
,
.
.
,
x
n
)
=
π
(
θ
)
P
(
x
1
∣
θ
)
P
(
x
2
∣
θ
)
.
.
.
P
(
x
n
∣
θ
)
P
(
x
1
,
x
2
,
.
.
,
x
n
)
=
π
(
θ
)
P
(
x
1
∣
θ
)
P
(
x
2
∣
θ
)
.
.
.
P
(
x
n
∣
θ
)
∫
P
(
θ
,
x
1
,
x
2
,
.
.
,
x
n
)
d
θ
(10)
P(\theta|x_{1},x_{2},...,x_{n})=\frac{P(\theta,x_{1},x_{2},..,x_{n})}{P(x_{1},x_{2},..,x_{n})}=\frac{P(\theta)P(x_{1}|\theta)P(x_{2}|\theta)...P(x_{n}|\theta)}{P(x_{1},x_{2},..,x_{n})}\\=\frac{\pi(\theta)P(x_{1}|\theta)P(x_{2}|\theta)...P(x_{n}|\theta)}{P(x_{1},x_{2},..,x_{n})}\\=\frac{\pi(\theta)P(x_{1}|\theta)P(x_{2}|\theta)...P(x_{n}|\theta)}{\int P(\theta,x_{1},x_{2},..,x_{n})d\theta}\tag{10}
P(θ∣x1,x2,...,xn)=P(x1,x2,..,xn)P(θ,x1,x2,..,xn)=P(x1,x2,..,xn)P(θ)P(x1∣θ)P(x2∣θ)...P(xn∣θ)=P(x1,x2,..,xn)π(θ)P(x1∣θ)P(x2∣θ)...P(xn∣θ)=∫P(θ,x1,x2,..,xn)dθπ(θ)P(x1∣θ)P(x2∣θ)...P(xn∣θ)(10)
(10)式中去掉与
θ
无
关
的
项
,
(
分
母
对
θ
求
完
积
分
后
就
与
θ
无
关
了
—
—
去
掉
,
分
子
的
π
(
θ
)
中
τ
(
α
+
β
)
τ
(
α
)
+
τ
(
β
)
的
也
与
θ
无
关
—
—
去
掉
)
:
\theta无关的项,(分母对\theta 求完积分后就与\theta无关了——去掉,分子的\pi(\theta)中\frac{\tau (\alpha+\beta)}{\tau (\alpha)+\tau(\beta)}的也与\theta无关——去掉):
θ无关的项,(分母对θ求完积分后就与θ无关了——去掉,分子的π(θ)中τ(α)+τ(β)τ(α+β)的也与θ无关——去掉):
P
(
θ
∣
x
1
,
x
2
,
.
.
.
,
x
n
)
∝
正
比
于
θ
α
−
1
(
1
−
θ
)
β
−
1
∏
i
=
1
n
θ
x
i
(
1
−
θ
)
1
−
x
i
=
θ
∑
i
=
1
n
x
i
+
α
−
1
(
1
−
θ
)
n
−
∑
i
=
1
n
x
i
+
β
−
1
(11)
P(\theta|x_{1},x_{2},...,x_{n})\overset{正比于}{\propto}\theta^{\alpha-1}(1-\theta)^{\beta-1}\prod_{i=1}^{n}\theta^{x_{i}}(1-\theta)^{1-x_{i}}\\=\theta^{\sum_{i=1}^{n}x_{i}+\alpha-1}(1-\theta)^{n-\sum_{i=1}^{n}x_{}i+\beta-1}\tag{11}
P(θ∣x1,x2,...,xn)∝正比于θα−1(1−θ)β−1i=1∏nθxi(1−θ)1−xi=θ∑i=1nxi+α−1(1−θ)n−∑i=1nxi+β−1(11)
可以看出(11)也是贝塔分布的形式,其参数是
∑
i
=
1
n
x
i
+
α
\sum_{i=1}^{n}x_{i}+\alpha
∑i=1nxi+α和
∑
i
=
1
n
x
i
+
α
\sum_{i=1}^{n}x_{i}+\alpha
∑i=1nxi+α,为了找到参数
θ
\theta
θ,就要在后验分布中找到使得概率密度最大的,现在推出
θ
\theta
θ的后验分布是一个贝塔分布,贝塔分布的最大是其众数,那么就能够得到:
θ
^
=
∑
i
=
1
n
x
i
+
α
−
1
n
+
α
+
β
−
2
(12)
\widehat{\theta}=\frac{\sum_{i=1}^{n}x_{i}+\alpha-1}{n+\alpha+\beta-2}\tag{12}
θ
=n+α+β−2∑i=1nxi+α−1(12)
2、总结
总结下贝叶斯估计(套路):
- 写出似然函数 L ( θ ) = P ( θ ∣ D ) = P ( D ∣ θ ) P ( θ ) P ( D ) L(\theta)=P(\theta|D)=\frac{P(D|\theta)P(\theta)}{P(D)} L(θ)=P(θ∣D)=P(D)P(D∣θ)P(θ)
- 对似然函数取对数 l n L ( θ ) lnL(\theta) lnL(θ)
- 对 θ \theta θ求偏导 ∂ l n L ( θ ) ∂ θ \frac{\partial lnL(\theta)}{\partial\theta} ∂θ∂lnL(θ)
- 解似然方程 ∂ l n L ( θ ) ∂ θ = 0 \frac{\partial lnL(\theta)}{\partial\theta}=0 ∂θ∂lnL(θ)=0
对比
极大似然估计和贝叶斯估计对比
观察式(7)和(12):
极
大
似
然
估
计
结
果
:
θ
^
=
∑
i
=
1
n
x
i
n
极大似然估计结果:\widehat{\theta}=\frac{\sum_{i=1}^{n}x_{i}}{n}
极大似然估计结果:θ
=n∑i=1nxi
贝
叶
斯
估
计
结
果
:
θ
^
=
∑
i
=
1
n
x
i
+
α
−
1
n
+
α
+
β
−
2
贝叶斯估计结果:\widehat{\theta}=\frac{\sum_{i=1}^{n}x_{i}+\alpha-1}{n+\alpha+\beta-2}
贝叶斯估计结果:θ
=n+α+β−2∑i=1nxi+α−1
现在令样本个数区域无穷大:
n
∝
i
n
f
n\propto inf
n∝inf,那么在贝叶斯估计结果中,
α
\alpha
α和
β
\beta
β可忽略。即
贝
叶
斯
估
计
结
果
:
θ
^
=
∑
i
=
1
n
x
i
n
,
n
∝
i
n
f
贝叶斯估计结果:\widehat{\theta}=\frac{\sum_{i=1}^{n}x_{i}}{n},n\propto inf
贝叶斯估计结果:θ
=n∑i=1nxi,n∝inf
那么可以看出,极大似然和贝叶斯估计结果是相同的,由此看出但样本量足够大时,由自己定义的先验信息就微不足道了。
那么为什么还用贝叶斯估计呢?
前面考虑样本足够多时,由极大似然估计得到的结果和贝叶斯估计得到的结果是相同的,那么现在考虑样本数量少的情况,假设当前只有一个样本n=1,那么极大似然估计的结果不是等于0就是等于1,非常极端;但此时对于贝叶斯估计,
假
设
这
一
个
样
本
取
值
为
0
,
那
么
贝
叶
斯
估
计
的
结
果
就
是
:
α
−
1
α
+
β
−
1
假设这一个样本取值为0,那么贝叶斯估计的结果就是:\frac{\alpha-1}{\alpha +\beta -1}
假设这一个样本取值为0,那么贝叶斯估计的结果就是:α+β−1α−1
假
设
这
一
个
样
本
取
值
为
1
,
那
么
贝
叶
斯
估
计
的
结
果
就
是
:
α
α
+
β
−
1
假设这一个样本取值为1,那么贝叶斯估计的结果就是:\frac{\alpha}{\alpha +\beta -1}
假设这一个样本取值为1,那么贝叶斯估计的结果就是:α+β−1α
所以当样本少时贝叶斯估计就不会像极大似然那么极端。
极大似然估计 | 贝叶斯估计 |
---|---|
未知参数 θ \theta θ是一个定值 | 未知参数 θ \theta θ本身服从一定的概率分布 |
目标:未知参数 θ \theta θ使得数据集发生的概率最大 | 给定数据集的情况下,哪一个 θ \theta θ发生的概率最大 |