一枚硬币有两面,一般来讲,抛一枚硬币出现正面和反面的概率是差不多的。假如我抛了100次硬币,结果100次都是正面。在这样的事实下,这枚硬币的参数不是公平的,即参数不是0.5。如果你硬要说是公平的,那就是在侮辱我的智商。
我们常常用概率(Probability) 来描述一个事件发生的可能性。而似然性(Likelihood) 正好反过来,意思是一个事件实际已经发生了,反推在什么参数条件下,这个事件发生的概率最大;推断出最有可能的情况,就是最大似然估计(Maximum likelihood estimation, 简称MLE)。在上例中,最有可能的情况是两面都是正面,即最大似然估计的参数值是1。
假设抛了100次硬币,出现了60次正面,我们最直观的感受是参数为0.6,虽然其他参数也能出现同样结果,但出现的概率是不一样的,我们希望找出能最大概率生成观测数据的参数作为估计结果
θ 值 \theta值 θ值 | 概率 |
---|---|
0.4 | 0.00002 |
0.5 | 0.01084 |
0.6 | 0.08122 |
0.7 | 0.00849 |
抛硬币事件是独立同分布的,我们设参数为
θ
\theta
θ,似然函数可以写做:
L
(
θ
)
=
θ
60
(
1
−
θ
)
40
(1)
L(\theta)=\theta^{60}(1-\theta)^{40} \tag{1}
L(θ)=θ60(1−θ)40(1)
我们要做的就是找到一个参数,使得发生该事件的概率最大,即
L
(
θ
)
L(\theta)
L(θ)取得最大值。所以求最大似然估计问题,就变成了求似然函数的极值。已知对数函数是单调的,为了简化连乘运算,可以对似然函数取对数,得:
ln
L
(
θ
)
=
ln
θ
60
+
ln
(
1
−
θ
)
40
=
60
ln
θ
+
40
ln
(
1
−
θ
)
(2)
\begin{aligned} \ln L(\theta) &= \ln \theta^{60} + \ln (1-\theta)^{40}\\ &= 60 \ln \theta + 40 \ln (1-\theta) \end{aligned} \tag{2}
lnL(θ)=lnθ60+ln(1−θ)40=60lnθ+40ln(1−θ)(2)
为了取似然函数的极大值,需要令上式的导数为0,即:
ln
L
(
θ
)
′
=
60
θ
−
40
1
−
θ
=
0
(3)
\begin{aligned} \ln L(\theta)^{\prime}&=\frac{60}{\theta}-\frac{40}{1-\theta}=0 \end{aligned} \tag{3}
lnL(θ)′=θ60−1−θ40=0(3)
因此,解得参数
θ
\theta
θ为0.6。下图为该似然函数的几何图形,从图中也可以看出,当
θ
\theta
θ=0.6时,似然函数的取值最大。
最大似然估计原理
最大似然估计是建立在极大似然原理的基础上的一个统计方法,是概率论在统计学中的应用。最大似然估计提供了一种给定观察数据来评估模型参数的方法,即:“模型已定,参数未知”。通过若干次实验,观察其结果,利用实验结果得到某个参数值能够使样本出现的概率为最大,则称为最大似然估计。
由于样本集D是独立同分布的,可以用来估计参数向量
θ
\theta
θ。样本集D记为:
D
=
{
x
1
,
x
2
,
…
,
x
n
}
(4)
D=\{x_1,x_2,\ldots,x_n\} \tag{4}
D={x1,x2,…,xn}(4)
联合概率密度函数
p
(
D
∣
θ
)
p(D|\theta)
p(D∣θ)称为相对于
{
x
1
,
x
2
,
…
,
x
n
}
\{x_1,x_2,\ldots,x_n\}
{x1,x2,…,xn}的
θ
\theta
θ的似然函数:
L
(
θ
)
=
p
(
D
∣
θ
)
=
p
(
x
1
,
x
2
,
…
,
x
N
∣
θ
)
=
∏
i
=
1
N
p
(
x
i
∣
θ
)
(5)
L(\theta)=p(D|\theta)=p(x_1,x_2,\ldots,x_N| \theta)=\prod_{i=1}^{N}p(x_i|\theta)\tag{5}
L(θ)=p(D∣θ)=p(x1,x2,…,xN∣θ)=i=1∏Np(xi∣θ)(5)
为了便于计算,对似然函数取对数:
H
(
θ
)
=
ln
L
(
θ
)
(6)
H(\theta)=\ln L(\theta) \tag{6}
H(θ)=lnL(θ)(6)
最大似然估计问题可以写成
θ
^
M
L
=
a
r
g
m
a
x
θ
H
(
θ
∣
D
)
=
a
r
g
m
a
x
θ
ln
L
(
θ
∣
D
)
=
a
r
g
m
a
x
θ
∑
i
=
1
N
ln
p
(
x
i
∣
θ
)
(7)
\begin{aligned} \hat{\theta}_{ML} &= arg\ \underset{\theta}{max} \ H(\theta|D) \\ &=arg\ \underset{\theta}{max} \ \ln L(\theta|D) \\ &=arg\ \underset{\theta}{max} \sum_{i=1}^{N}\ln p(x_i|\theta) \end{aligned}\tag{7}
θ^ML=arg θmax H(θ∣D)=arg θmax lnL(θ∣D)=arg θmaxi=1∑Nlnp(xi∣θ)(7)
这是一个关于
θ
\theta
θ的函数,求解这个优化问题通常对
θ
\theta
θ求导,得到导数为0的极值点。该函数取得最大值时,
θ
\theta
θ的取值就是我们估计的模型参数。
所以,极大似然估计就是,利用已知的样本结果,反推最有可能导致这样结果的参数值。
最大似然估计举例
例 1 假定样本服从均匀分布[a,b]。则X的概率密度函数为
P
(
x
∣
a
,
b
)
=
{
1
b
−
a
,
a
≤
x
≤
b
0
,
其它
(8)
P(x|a,b)= \begin{cases} \frac{1}{b-a}&,a \leq x \leq b \\ 0&, 其它 \end{cases}\tag{8}
P(x∣a,b)={b−a10,a≤x≤b,其它(8)
对样本
D
=
{
x
1
,
x
2
,
…
,
x
n
}
D=\{x_1,x_2,\ldots,x_n\}
D={x1,x2,…,xn},参数
θ
=
⟨
a
,
b
⟩
\theta=\langle a,b \rangle
θ=⟨a,b⟩,则似然函数为:
L
(
a
,
b
)
=
{
1
(
b
−
a
)
n
,
a
≤
x
i
≤
b
,
i
=
1
,
2
,
…
,
n
0
,
其它
(9)
L(a,b)= \begin{cases} \frac{1}{(b-a)^n}&,a \leq x_i \leq b ,i=1,2,\ldots,n\\ 0&, 其它 \end{cases}\tag{9}
L(a,b)={(b−a)n10,a≤xi≤b,i=1,2,…,n,其它(9)
很显然,
L
(
a
,
b
)
L(a,b)
L(a,b)作为a和b的二元函数是不连续的,不能使用导数来求解。必须从最大似然估计的定义出发,求
L
(
a
,
b
)
L(a,b)
L(a,b)的最大值。为使
L
(
a
,
b
)
L(a,b)
L(a,b)达到最大,b - a应该尽可能的小,而样本X在区间[a,b]内,所以b不能小于
max
{
x
1
,
x
2
,
…
,
x
n
}
\max\{x_1,x_2,\ldots,x_n\}
max{x1,x2,…,xn},同理,a不能大于
min
{
x
1
,
x
2
,
…
,
x
n
}
\min \{x_1,x_2,\ldots,x_n\}
min{x1,x2,…,xn}。因此,a和b的最大似然估计为:
a
∗
=
min
{
x
1
,
x
2
,
…
,
x
n
}
b
∗
=
max
{
x
1
,
x
2
,
…
,
x
n
}
(10)
a^*=\min \{x_1,x_2,\ldots,x_n\}\\ b^*=\max \{x_1,x_2,\ldots,x_n\} \tag{10}
a∗=min{x1,x2,…,xn}b∗=max{x1,x2,…,xn}(10)
例 2 假定X是一个可以在实轴上取值的连续变量。样本服从高斯分布,X的一个高斯模型是 P ( x ∣ μ , σ ) = 1 2 π σ e − ( x − μ ) 2 2 σ 2 (11) P(x|\mu,\sigma)=\frac{1}{\sqrt{2\pi}\sigma}e^{-\frac{(x-\mu)^2}{2\sigma^2}}\tag{11} P(x∣μ,σ)=2πσ1e−2σ2(x−μ)2(11)
其中
θ
=
⟨
μ
,
σ
⟩
\theta=\langle\mu,\sigma\rangle
θ=⟨μ,σ⟩。这个模型的参数空间是
Θ
=
R
×
R
+
\Theta=R\times R^+
Θ=R×R+,即允许
μ
\mu
μ的取值为任意的实数,允许
σ
\sigma
σ的取值范围为任意的正实数。
似然函数为:
L
(
μ
,
σ
2
)
=
∏
i
=
1
N
1
2
π
σ
e
−
(
x
i
−
μ
)
2
2
σ
2
=
(
2
π
σ
2
)
−
n
2
e
−
1
2
σ
2
∑
i
=
1
N
(
x
i
−
μ
)
2
(12)
L(\mu,\sigma^2)=\prod_{i=1}^N\frac{1}{\sqrt{2\pi}\sigma}e^{-\frac{(x_i-\mu)^2}{2\sigma^2}}=(2\pi\sigma^2)^{-\frac{n}{2}}e^{-\frac{1}{2\sigma^2}\sum\limits_{i=1}^{N}(x_i-\mu)^2}\tag{12}
L(μ,σ2)=i=1∏N2πσ1e−2σ2(xi−μ)2=(2πσ2)−2ne−2σ21i=1∑N(xi−μ)2(12)
它的对数:
ln
L
(
μ
,
σ
2
)
=
−
n
2
ln
(
2
π
)
−
n
2
ln
(
σ
2
)
−
1
2
σ
2
∑
i
=
1
N
(
x
i
−
μ
)
2
(13)
\ln L(\mu,\sigma^2)=-\frac{n}{2}\ln(2\pi)-\frac{n}{2}\ln( \sigma^2)-\frac{1}{2\sigma^2}\sum\limits_{i=1}^{N}(x_i-\mu)^2\tag{13}
lnL(μ,σ2)=−2nln(2π)−2nln(σ2)−2σ21i=1∑N(xi−μ)2(13)
求导,得方程组:
{
∂
ln
L
(
μ
,
σ
2
)
∂
μ
=
1
σ
2
∑
i
=
1
n
(
x
i
−
μ
)
=
0
∂
ln
L
(
μ
,
σ
2
)
∂
σ
2
=
−
n
2
σ
2
+
1
2
σ
4
∑
i
=
1
n
(
x
i
−
μ
)
2
=
0
(14)
\begin{cases} \frac{\partial \ln L(\mu,\sigma^2)}{\partial \mu}=\frac{1}{\sigma^2}\sum\limits_{i=1}^{n}(x_i-\mu) &= 0 \\ \frac{\partial \ln L(\mu,\sigma^2)}{\partial \sigma^2}=-\frac{n}{2\sigma^2}+\frac{1}{2\sigma^4}\sum\limits_{i=1}^{n}(x_i-\mu)^2 &= 0 \end{cases}\tag{14}
⎩
⎨
⎧∂μ∂lnL(μ,σ2)=σ21i=1∑n(xi−μ)∂σ2∂lnL(μ,σ2)=−2σ2n+2σ41i=1∑n(xi−μ)2=0=0(14)
联合解得:
{
μ
∗
=
x
‾
=
1
n
∑
i
=
1
n
x
i
σ
∗
2
=
1
n
∑
i
=
1
n
(
x
i
−
x
‾
)
2
(15)
\begin{cases} \mu^* &=\overline x = \frac{1}{n}\sum\limits_{i=1}^{n}x_i \\ \sigma^{*2} &= \frac{1}{n}\sum\limits_{i=1}^{n}(x_i-\overline x)^2 \\ \end{cases}\tag{15}
⎩
⎨
⎧μ∗σ∗2=x=n1i=1∑nxi=n1i=1∑n(xi−x)2(15)
似然方程有唯一解
(
μ
∗
,
σ
∗
2
)
(\mu^*,\sigma^{*2})
(μ∗,σ∗2),而且它一定是最大值点,即参数
(
μ
,
σ
)
(\mu,\sigma)
(μ,σ)的最大似然估计为
(
μ
∗
,
σ
∗
2
)
(\mu^*,\sigma^{*2})
(μ∗,σ∗2)。
总结
在样本结果已知的情况下,可以根据最大似然估计方法推测模型和参数。最大似然估计方法比其他估计方法更加简单;有收敛性,样本数增多时,收敛性会更好;模型选取正确的情况下,我们会得到较准确的估计值。
使用极大似然估计的重要前提是,训练样本的分布能代表样本的真实分布,每个样本集中的样本都是独立同分布的,并且有充分的训练样本。
求最大似然估计的一般步骤:
(1)写出似然函数;
(2)对似然函数取对数;
(3)求导数;
(4)解似然方程。