正态分布被命名为高斯分布,我们也容易认为是高斯发现了正态分布,其实不然,高斯分布最早由棣莫弗在1718年著作的书籍(Doctrine of Change),及1734年发表的一篇关于二项分布文章中提出的,不过高斯对于正态分布历史地位的确立起到了决定性的作用。本篇主要介绍一维高斯分布参数的极大似然估计如何计算。
一维高斯分布
对于一元实值变量
x
x
x,高斯分布被定义为
N
(
x
∣
μ
,
σ
2
)
=
1
(
2
π
σ
2
)
1
2
exp
{
−
1
2
σ
2
(
x
−
μ
)
2
}
N\left( x|\mu ,\sigma ^2 \right) =\frac{1}{\left( 2\pi \sigma ^2 \right) ^{\frac{1}{2}}}\exp \left\{ -\frac{1}{2\sigma ^2}\left( x-\mu \right) ^2 \right\}
N(x∣μ,σ2)=(2πσ2)211exp{−2σ21(x−μ)2}
给定一个数据集
x
=
(
x
1
,
x
2
,
.
.
.
,
x
N
)
T
\boldsymbol{x}=\left( x_1,x_{2,}...,x_N \right) ^T
x=(x1,x2,...,xN)T,表示变量
x
x
x的
N
N
N次观测,这里假定每个观测值是独立地从高斯分布中抽取的,分布的均值
μ
\mu
μ 和方差
σ
2
\sigma ^2
σ2未知。
因此数据的联合概率为
p
(
x
∣
μ
,
σ
2
)
=
∏
i
=
1
N
N
(
x
i
∣
μ
,
σ
2
)
p\left( \boldsymbol{x|}\mu ,\sigma ^2 \right) =\prod_{i=1}^N{N\left( x_i|\mu ,\sigma ^2 \right)}
p(x∣μ,σ2)=i=1∏NN(xi∣μ,σ2)
这里我们使用极大似然估计来估计高斯分布的参数。对数似然函数为
ln L = ln p ( x ∣ μ , σ 2 ) = ln ∏ n = 1 N N ( x n ∣ μ , σ 2 ) \ln L=\ln p\left( \boldsymbol{x|}\mu ,\sigma ^2 \right) =\ln \prod_{n=1}^N{N\left( x_n|\mu ,\sigma ^2 \right)} lnL=lnp(x∣μ,σ2)=lnn=1∏NN(xn∣μ,σ2)
将高斯分布的分布函数代入得对数似然函数
ln
L
=
ln
p
(
x
∣
μ
,
σ
2
)
=
−
1
2
σ
2
∑
n
=
1
N
(
x
n
−
μ
)
2
−
N
2
ln
σ
2
−
N
2
ln
(
2
π
)
\ln L=\ln p\left( \boldsymbol{x|}\mu ,\sigma ^2 \right) =-\frac{1}{2\sigma ^2}\sum_{n=1}^N{\left( x_n-\mu \right)}^2-\frac{N}{2}\ln \sigma ^2-\frac{N}{2}\ln \left( 2\pi \right)
lnL=lnp(x∣μ,σ2)=−2σ21n=1∑N(xn−μ)2−2Nlnσ2−2Nln(2π)
对似然函数求偏导得
{
∂
ln
L
∂
μ
=
1
σ
2
∑
i
=
1
N
(
x
i
−
μ
)
=
0
∂
ln
L
∂
(
σ
2
)
=
−
N
2
σ
2
+
1
2
σ
4
∑
i
=
1
N
(
x
i
−
μ
)
2
=
0
\left\{ \begin{array}{c} \frac{\partial \ln L}{\partial \mu}=\frac{1}{\sigma ^2}\sum_{i=1}^N{\left( x_i-\mu \right) =0}\\ \frac{\partial \ln L}{\partial \left( \sigma ^2 \right)}=-\frac{N}{2\sigma ^2}+\frac{1}{2\sigma ^4}\sum_{i=1}^N{\left( x_i-\mu \right) ^2}=0\\ \end{array} \right.
{∂μ∂lnL=σ21∑i=1N(xi−μ)=0∂(σ2)∂lnL=−2σ2N+2σ41∑i=1N(xi−μ)2=0
由第一式得出
μ
\mu
μ的解为
μ
M
L
E
=
1
N
∑
i
=
1
N
x
i
\mu_{MLE}=\frac{1}{N}\sum\limits _{i=1}^{N}x_{i}
μMLE=N1i=1∑Nxi
以此代入第二式,得到
σ
2
\sigma^2
σ2的解为
σ
M
L
E
2
=
1
N
∑
i
=
1
N
(
x
i
−
μ
M
L
E
)
2
\sigma_{MLE}^{2}=\frac{1}{N}\sum\limits _{i=1}^{N}(x_{i}-\mu_{MLE})^{2}
σMLE2=N1i=1∑N(xi−μMLE)2
分别对
μ
\mu
μ和
σ
2
\sigma^2
σ2求期望
E
[
μ
M
L
E
]
=
E
[
1
N
∑
i
=
1
N
x
i
]
=
1
N
∑
i
=
1
N
E
[
x
i
]
=
μ
E\left[ \mu _{MLE} \right] =E\left[ \frac{1}{N}\sum\limits_{i=1}^N{x}_i \right] =\frac{1}{N}\sum_{i=1}^N{E\left[ x_i \right] =\mu}
E[μMLE]=E[N1i=1∑Nxi]=N1i=1∑NE[xi]=μ
E [ σ M L E 2 ] = E [ 1 N ∑ i = 1 N ( x i − μ M L E ) 2 ] = E [ 1 N ∑ i = 1 N ( x i 2 − 2 x i μ M L E + μ M L E 2 ) = E [ 1 N ∑ i = 1 N x i 2 − μ M L E 2 ] = 1 N ∑ i = 1 N E [ x i 2 ] − E [ μ M L E 2 ] = 1 N ∑ i = 1 N [ v a r ( x i ) + E 2 ( x i ) ] − [ v a r ( μ M L E ) + E 2 ( μ M L E ) ] = 1 N ( N σ 2 + N μ 2 ) − [ v a r ( 1 N ∑ i = 1 N x i ) + μ 2 ] = σ 2 + μ 2 − [ 1 N 2 ( N σ 2 ) + μ 2 ] = σ 2 + μ 2 − 1 N σ 2 − μ 2 = N − 1 N σ 2 \begin{aligned} E\left[ \sigma _{MLE}^{2} \right] &=E\left[ \frac{1}{N}\sum\limits_{i=1}^N{\left( x_i-\mu _{MLE} \right)}^2 \right] =E\text{[}\frac{1}{N}\sum\limits_{i=1}^N{\left( x_{i}^{2}-2x_i\mu _{MLE}+\mu _{MLE}^{2} \right)}\\ &=E\left[ \frac{1}{N}\sum\limits_{i=1}^N{x}_{i}^{2}-\mu _{MLE}^{2} \right] =\frac{1}{N}\sum_{i=1}^N{E\left[ x_i^2 \right] -E\left[ \mu _{MLE}^{2} \right]}\\ &=\frac{1}{N}\sum_{i=1}^N{\left[ var\left( x_i \right) +E^2\left( x_i \right) \right] -\left[ var\left( \mu _{MLE} \right) +E^2\left( \mu _{MLE} \right) \right]}\\ &=\frac{1}{N}\left( N\sigma ^2+N\mu ^2 \right) -\left[ var\left( \frac{1}{N}\sum_{i=1}^N{x_i} \right) +\mu ^2 \right]\\ &=\sigma ^2+\mu ^2-\left[ \frac{1}{N^2}\left( N\sigma ^2 \right) +\mu ^2 \right]\\ &=\sigma ^2+\mu ^2-\frac{1}{N}\sigma ^2-\mu ^2\\ &=\frac{N-1}{N}\sigma ^2\\ \end{aligned} E[σMLE2]=E[N1i=1∑N(xi−μMLE)2]=E[N1i=1∑N(xi2−2xiμMLE+μMLE2)=E[N1i=1∑Nxi2−μMLE2]=N1i=1∑NE[xi2]−E[μMLE2]=N1i=1∑N[var(xi)+E2(xi)]−[var(μMLE)+E2(μMLE)]=N1(Nσ2+Nμ2)−[var(N1i=1∑Nxi)+μ2]=σ2+μ2−[N21(Nσ2)+μ2]=σ2+μ2−N1σ2−μ2=NN−1σ2
我们可以看到 μ M L E \mu_{MLE} μMLE是 μ \mu μ的无偏估计,而 σ M L E 2 \sigma_{MLE}^{2} σMLE2则是有偏的,经过修正得无偏估计 σ ^ 2 = 1 N − 1 ∑ i = 1 N ( x i − μ M L E ) 2 \hat{\sigma}^{2}=\frac{1}{N-1}\sum\limits _{i=1}^{N}(x_{i}-\mu_{MLE})^{2} σ^2=N−11i=1∑N(xi−μMLE)2
那么为什么一个有偏一个无偏呢?
我们注意到
σ
M
L
E
2
\sigma_{MLE}^{2}
σMLE2是关于样本均值
μ
M
L
E
\mu_{MLE}
μMLE的样本方差。这是因为我们要同时关于
μ
\mu
μ和
σ
2
\sigma^2
σ2最大化函数,但是在高斯分布的情况下,
μ
\mu
μ的解和
σ
2
\sigma^2
σ2的无关(
∂
ln
L
∂
μ
\frac{\partial \ln L}{\partial \mu}
∂μ∂lnL直接得到了
μ
\mu
μ的解),因此我们先估计公式
∂
ln
L
∂
μ
\frac{\partial \ln L}{\partial \mu}
∂μ∂lnL,然后使用这个结果来估计公式
∂
ln
L
∂
(
σ
2
)
\frac{\partial \ln L}{\partial \left( \sigma ^2 \right)}
∂(σ2)∂lnL,感觉是在这个过程中
σ
2
\sigma^2
σ2的估计便产生了偏移。如图
当样本数量 N N N增大时,最大似然解的偏移会逐渐变小,当 N → ∞ N\rightarrow \infty N→∞时, N − 1 N \frac {N-1}{N} NN−1 的极限为1,方差的最大似然解与真实分布的真实方差相等。在实际应⽤中,只要N的值不太小,那么偏移的现象不是个⼤问题。但是对于那些带有很多参数的模型,最大似然偏移的问题会更加严重。实际上,在机器学习中,最大似然的偏移问题是我们在多项式曲线拟合问题中遇到的过拟合问题的核心(这里暂不做论证)。
参考:
陈希孺:概率论与数理统计
模式识别与机器学习(PRML)
维基百科