【概率图与随机过程】01 一维高斯分布:极大似然与无偏性

在这个专栏中,我们开篇首先介绍高斯分布,他的重要性体现在两点:

第一:依据中心极限定理,当样本量足够大的时候,任意分布的均值都趋近于一个高斯分布,这是在整个工程领域体现出该分布的一种普适性;

第二:高斯分布是后续许多模型的根本基础,例如线性高斯模型(卡尔曼滤波)、高斯过程等等。

因此我们首先在这一讲当中,结合一元高斯分布,来讨论一下极大似然估计,估计的有偏性、无偏性等基本建模问题。

1.极大似然估计问题背景

首先我们来回顾一下一元高斯分布的概率密度函数 p d f pdf pdf,假设我们有一组观测样本数据 X = ( x 1 , x 2 , x 3 , . . . , x N ) X=(x_1,x_2,x_3,...,x_N) X=(x1,x2,x3,...,xN),他们服从参数 θ = ( μ , σ 2 ) \theta=(\mu,\sigma^2) θ=(μ,σ2)的一元高斯分布,那么我们如何利用这组样本来对分布的参数 θ \theta θ进行估计呢,换句话说也就是估计出样本所服从高斯分布的均值和方差?

这里需要使用我们非常熟悉的极大似然估计方法,我们首先来看一下一元高斯分布的概率密度函数的表达式:

p ( x ) = 1 2 π σ e x p ( − ( x − μ ) 2 2 σ 2 ) p(x)=\frac{1}{\sqrt{2\pi}\sigma}exp(-\frac{(x-\mu)^2}{2\sigma^2}) p(x)=2π σ1exp(2σ2(xμ)2)

在之前的《机器学习中的数学:概率统计》专栏中,我们曾经介绍过,极大似然估计的本质就是估计出模型的参数 θ \theta θ,使得我们所观测出的这组样本 X = ( x 1 , x 2 , x 3 , . . . , x N ) X=(x_1,x_2,x_3,...,x_N) X=(x1,x2,x3,...,xN)出现的概率最大。

这里我们还要熟悉另一个表达式的写法,那就是 p ( x ∣ θ ) p(x|\theta) p(xθ),我们常常能够看到这个条件概率的写法,他在这里就是指明确了参数 θ \theta θ(也就是 μ , σ 2 \mu,\sigma^2 μ,σ2)的情况下,服从高斯分布的样本 x x x出现的概率,那不难看出,实际上这个表达式最终的写法和上面的概率密度函数形式上是一样的:

p ( x ∣ θ ) = 1 2 π σ e x p ( − ( x − μ ) 2 2 σ 2 ) p(x|\theta)=\frac{1}{\sqrt{2\pi}\sigma}exp(-\frac{(x-\mu)^2}{2\sigma^2}) p(xθ)=2π σ1exp(2σ2(xμ)2)

那么对于服从高斯分布的这一组样本 X = ( x 1 , x 2 , x 3 , . . . , x N ) X=(x_1,x_2,x_3,...,x_N) X=(x1,x2,x3,...,xN)而言,我们的目标是估计出(换做更直白的语言,就是求出)这个分布的参数 θ \theta θ,也就是 μ , σ 2 \mu,\sigma^2 μ,σ2,使得在这个高斯分布的框架下,这组样本出现的概率最大,也就是 p ( X ∣ θ ) p(X|\theta) p(Xθ)的概率值最大,这样就确定了 p ( X ∣ θ ) p(X|\theta) p(Xθ)是我们的求取参数的优化目标了。

2.极大似然估计的求法

由于这一组样本 X = x 1 , x 2 , x 3 , . . . , x N X=x_1,x_2,x_3,...,x_N X=x1,x2,x3,...,xN中的每一个样本 x i x_i xi都是独立同分布的,即满足同一个高斯分布,并且彼此之间相互独立,那么依据随机变量独立的性质,优化目标 p ( X ∣ θ ) p(X|\theta) p(Xθ)进一步被变化为:

p ( X ∣ θ ) = ∏ i = 1 n p ( x i ∣ θ ) p(X|\theta)=\prod_{i=1}^np(x_i|\theta) p(Xθ)=i=1np(xiθ)

我们的目标就是找到一组参数 θ \theta θ,使得上述概率值取得最大。同时,为了能够简化后续计算,我们对目标函数取对数,一方面因为对数满足单调递增,另一方面对数函数能够使得连乘运算变化为连加运算,可以说是一个不错的选择:

l o g   p ( X ∣ θ ) = l o g ∏ i = 1 n p ( x i ∣ θ ) = ∑ i = 1 n l o g   p ( x i ∣ θ ) log \,p(X|\theta)=log\prod_{i=1}^np(x_i|\theta)=\sum_{i=1}^nlog \,p(x_i|\theta) logp(Xθ)=logi=1np(xiθ)=i=1nlogp(xiθ)

我们进一步带入概率密度函数的表达式:

∑ i = 1 n l o g   p ( x i ∣ θ ) = ∑ i = 1 n l o g 1 2 π σ e x p ( − ( x i − μ ) 2 2 σ 2 ) = ∑ i = 1 n [ l o g 1 2 π + l o g 1 σ − ( x i − μ ) 2 2 σ 2 ] \sum_{i=1}^nlog\,p(x_i|\theta)=\sum_{i=1}^nlog\frac{1}{\sqrt{2\pi}\sigma}exp(-\frac{(x_i-\mu)^2}{2\sigma^2})\\=\sum_{i=1}^n[log\frac{1}{\sqrt{2\pi}}+log\frac{1}{\sigma}-\frac{(x_i-\mu)^2}{2\sigma^2}] i=1nlogp(xiθ)=i=1nlog2π σ1exp(2σ2(xiμ)2)=i=1n[log2π 1+logσ12σ2(xiμ)2]

那么,现在目标明确了,我们来寻找最佳的 μ m l e \mu_{mle} μmle σ m l e \sigma_{mle} σmle,使得:
∑ i = 1 n [ l o g 1 2 π + l o g 1 σ − ( x i − μ ) 2 2 σ 2 ] \sum_{i=1}^n[log\frac{1}{\sqrt{2\pi}}+log\frac{1}{\sigma}-\frac{(x_i-\mu)^2}{2\sigma^2}] i=1n[log2π 1+logσ12σ2(xiμ)2]取得最大。

我们对这两个参数,一个个来看,具体处理方法很简单,就是求使得上面式子偏导数为 0 0 0 μ \mu μ σ \sigma σ取值。

先看参数 μ \mu μ

a r g m a x   μ m l e = a r g m a x μ ∑ i = 1 n [ l o g 1 2 π + l o g 1 σ − ( x i − μ ) 2 2 σ 2 ] argmax\,\mu_{mle}=argmax_{\mu}\sum_{i=1}^n[log\frac{1}{\sqrt{2\pi}}+log\frac{1}{\sigma}-\frac{(x_i-\mu)^2}{2\sigma^2}] argmaxμmle=argmaxμi=1n[log2π 1+logσ12σ2(xiμ)2]

由于前面两项都与 μ \mu μ无关,最终:

a r g m a x   μ m l e = a r g m a x μ ∑ i = 1 n [ − ( x i − μ ) 2 2 σ 2 ] = a r g m i n μ ∑ i = 1 n [ ( x i − μ ) 2 ] argmax\,\mu_{mle}=argmax_{\mu}\sum_{i=1}^n[-\frac{(x_i-\mu)^2}{2\sigma^2}]\\=argmin_{\mu}\sum_{i=1}^n[(x_i-\mu)^2] argmaxμmle=argmaxμi=1n[2σ2(xiμ)2]=argminμi=1n[(xiμ)2]

后面的就很好办了,直接求 μ \mu μ的偏导即可:

∂ ∂ μ ∑ i = 1 N ( x i − μ ) 2 = ∑ i = 1 N 2 ( x i − μ ) ( − 1 ) = 0 \frac{\partial}{\partial \mu}\sum_{i=1}^{N}(x_i-\mu)^2=\sum_{i=1}^{N}2(x_i-\mu)(-1)=0 μi=1N(xiμ)2=i=1N2(xiμ)(1)=0

∑ i = 1 N 2 ( x i − μ ) ( − 1 ) = ∑ i = 1 N ( x i − μ ) = ∑ i = 1 N x i − ∑ i = 1 N μ = ∑ i = 1 N x i − N μ = 0 \sum_{i=1}^{N}2(x_i-\mu)(-1)= \sum_{i=1}^{N}(x_i-\mu)\\=\sum_{i=1}^{N}x_i-\sum_{i=1}^{N}\mu=\sum_{i=1}^{N}x_i-N\mu=0 i=1N2(xiμ)(1)=i=1N(xiμ)=i=1Nxii=1Nμ=i=1NxiNμ=0

最终我们得出:

μ m l e = 1 N ∑ i = 1 N x i \mu_{mle}=\frac{1}{N}\sum_{i=1}^{N}x_i μmle=N1i=1Nxi

也就是说,样本的均值就是高斯分布参数 μ \mu μ的极大似然估计值。

同样的,我们再看如何利用样本数据对高斯分布的方差进行极大似然估计:

a r g m a x   σ m l e = a r g m a x σ ∑ i = 1 n [ l o g 1 2 π + l o g 1 σ − ( x i − μ ) 2 2 σ 2 ] = a r g m a x σ ∑ i = 1 n [ l o g 1 σ − ( x i − μ ) 2 2 σ 2 ] argmax\,\sigma_{mle}=argmax_{\sigma}\sum_{i=1}^n[log\frac{1}{\sqrt{2\pi}}+log\frac{1}{\sigma}-\frac{(x_i-\mu)^2}{2\sigma^2}]\\=argmax_{\sigma}\sum_{i=1}^n[log\frac{1}{\sigma}-\frac{(x_i-\mu)^2}{2\sigma^2}] argmaxσmle=argmaxσi=1n[log2π 1+logσ12σ2(xiμ)2]=argmaxσi=1n[logσ12σ2(xiμ)2]

同样的,我们还是利用求偏导的方法来解决问题:

∂ ∂ μ ∑ i = 1 n [ l o g 1 σ − ( x i − μ ) 2 2 σ 2 ] = ∑ i = 1 n [ − 1 σ + 1 2 ( x i − μ ) 2 2 σ − 3 ] = ∑ i = 1 n [ − σ 2 + ( x i − μ ) 2 ] = ∑ i = 1 n − σ 2 + ∑ i = 1 n ( x i − μ ) 2 = 0 \frac{\partial}{\partial \mu}\sum_{i=1}^n[log\frac{1}{\sigma}-\frac{(x_i-\mu)^2}{2\sigma^2}]=\sum_{i=1}^n[-\frac{1}{\sigma}+\frac{1}{2}(x_i-\mu)^22\sigma^{-3}]\\=\sum_{i=1}^n[-\sigma^2+(x_i-\mu)^2]=\sum_{i=1}^n-\sigma^2+\sum_{i=1}^n(x_i-\mu)^2=0 μi=1n[logσ12σ2(xiμ)2]=i=1n[σ1+21(xiμ)22σ3]=i=1n[σ2+(xiμ)2]=i=1nσ2+i=1n(xiμ)2=0

因此,最终我们也得出了高斯分布方差的极大似然估计值:

σ m l e 2 = 1 N ∑ i = 1 n ( x i − μ m l e ) 2 \sigma^2_{mle}=\frac{1}{N}\sum_{i=1}^n(x_i-\mu_{mle})^2 σmle2=N1i=1n(xiμmle)2

3.参数估计的有偏性和无偏性

我们在前面已经花了较大的篇幅,通过样本 X = x 1 , x 2 , x 3 , . . . , x N X={x_1,x_2,x_3,...,x_N} X=x1,x2,x3,...,xN求得了高斯分布两个参数 μ \mu μ σ 2 \sigma^2 σ2的极大似然估计值,那么此时我们自然就要关心了:

通过这种求解方法得到的参数估计值,他和模型参数的真实值有没有差距?我们如何来衡量极大似然估计值的性质?

这里我们来回顾一下无偏估计的概念:如果估计量的期望等于被估计参数的真实值,那么这个估计值就满足无偏性。那么从高斯分布的样本中推断出来的均值和方差的极大似然估计 μ m l e \mu_{mle} μmle σ m l e 2 \sigma^2_{mle} σmle2是否满足无偏性呢?

4.无偏性的验证

首先我们还是从均值的极大似然估计入手,我们对 μ m l e \mu_{mle} μmle求期望:

E [ μ m l e ] = E [ 1 N ∑ i = 1 n x i ] = 1 N ∑ i = 1 n E [ x i ] = 1 N ∑ i = 1 n μ = μ E[\mu_{mle}]=E[\frac{1}{N}\sum_{i=1}^nx_i]=\frac{1}{N}\sum_{i=1}^nE[x_i]=\frac{1}{N}\sum_{i=1}^n\mu=\mu E[μmle]=E[N1i=1nxi]=N1i=1nE[xi]=N1i=1nμ=μ

我们看到 E [ μ m l e ] = μ E[\mu_{mle}]=\mu E[μmle]=μ,即估计值的期望等于模型参数的真实值,因此均值的极大似然估计 μ m l e \mu_{mle} μmle是无偏的。

而方差的情况就要特殊一些,我们通过下面的公式推导就会看到方差的极大似然估计并不是无偏的,这个推导过程比较复杂,我们一点一点来解析:

σ m l e 2 = 1 N ∑ i = 1 N ( x i − μ m l e ) 2 = 1 N ∑ i = 1 N ( x i 2 + μ m l e 2 − 2 x i μ m l e ) = 1 N ∑ i = 1 N x i 2 + 1 N ∑ i = 1 N μ m l e 2 − 1 N ∑ i = 1 N 2 x i μ m l e = 1 N ∑ i = 1 N x i 2 + 1 N ∑ i = 1 N μ m l e 2 − 2 μ m l e 1 N ∑ i = 1 N x i \sigma_{mle}^2=\frac{1}{N}\sum_{i=1}^N(x_i-\mu_{mle})^2=\frac{1}{N}\sum_{i=1}^N(x_i^2+\mu_{mle}^2-2x_i\mu_{mle})\\=\frac{1}{N}\sum_{i=1}^Nx_i^2+\frac{1}{N}\sum_{i=1}^N\mu_{mle}^2-\frac{1}{N}\sum_{i=1}^N2x_i\mu_{mle}\\=\frac{1}{N}\sum_{i=1}^Nx_i^2+\frac{1}{N}\sum_{i=1}^N\mu_{mle}^2-2\mu_{mle}\frac{1}{N}\sum_{i=1}^Nx_i σmle2=N1i=1N(xiμmle)2=N1i=1N(xi2+μmle22xiμmle)=N1i=1Nxi2+N1i=1Nμmle2N1i=1N2xiμmle=N1i=1Nxi2+N1i=1Nμmle22μmleN1i=1Nxi

我们发现最后一项当中的 1 N ∑ i = 1 N x i \frac{1}{N}\sum_{i=1}^Nx_i N1i=1Nxi就是模型均值的极大似然估计 μ m l e \mu_{mle} μmle,因此我们稍作代换就有:

σ m l e 2 = 1 N ∑ i = 1 N x i 2 + 1 N ∑ i = 1 N μ m l e 2 − 2 μ m l e 1 N ∑ i = 1 N x i = 1 N ∑ i = 1 N x i 2 + μ m l e 2 − 2 μ m l e 2 = 1 N ∑ i = 1 N x i 2 − μ m l e 2 \sigma_{mle}^2=\frac{1}{N}\sum_{i=1}^Nx_i^2+\frac{1}{N}\sum_{i=1}^N\mu_{mle}^2-2\mu_{mle}\frac{1}{N}\sum_{i=1}^Nx_i\\=\frac{1}{N}\sum_{i=1}^Nx_i^2+\mu_{mle}^2-2\mu_{mle}^2=\frac{1}{N}\sum_{i=1}^Nx_i^2-\mu_{mle}^2 σmle2=N1i=1Nxi2+N1i=1Nμmle22μmleN1i=1Nxi=N1i=1Nxi2+μmle22μmle2=N1i=1Nxi2μmle2

因此,我们的目标就明确为求取下面式子的期望:

E [ σ m l e 2 ] = E [ 1 N ∑ i = 1 N x i 2 − μ m l e 2 ] E[\sigma_{mle}^2]=E[\frac{1}{N}\sum_{i=1}^Nx_i^2-\mu_{mle}^2] E[σmle2]=E[N1i=1Nxi2μmle2]

这个期望的求取有一定的技巧,我们引入模型均值的真实值 μ \mu μ

E [ σ m l e 2 ] = E [ 1 N ∑ i = 1 N x i 2 − μ 2 − ( μ m l e 2 − μ 2 ) ] = E [ 1 N ∑ i = 1 N x i 2 − μ 2 ] − E [ μ m l e 2 − μ 2 ] E[\sigma_{mle}^2]=E[\frac{1}{N}\sum_{i=1}^Nx_i^2-\mu^2-(\mu_{mle}^2-\mu^2)]\\=E[\frac{1}{N}\sum_{i=1}^Nx_i^2-\mu^2]-E[\mu_{mle}^2-\mu^2] E[σmle2]=E[N1i=1Nxi2μ2(μmle2μ2)]=E[N1i=1Nxi2μ2]E[μmle2μ2]

这前后两个期望的式子,我们分开来看,首先看: E [ 1 N ∑ i = 1 N x i 2 − μ 2 ] E[\frac{1}{N}\sum_{i=1}^Nx_i^2-\mu^2] E[N1i=1Nxi2μ2]

E [ 1 N ∑ i = 1 N x i 2 − μ 2 ] = E [ 1 N ∑ i = 1 N x i 2 − 1 N ∑ i = 1 N μ 2 ] = 1 N E [ ∑ i = 1 N ( x i 2 − μ 2 ) ] = 1 N ∑ i = 1 N E [ ( x i 2 − μ 2 ) ] E[\frac{1}{N}\sum_{i=1}^Nx_i^2-\mu^2]=E[\frac{1}{N}\sum_{i=1}^Nx_i^2-\frac{1}{N}\sum_{i=1}^N\mu^2]\\=\frac{1}{N}E[\sum_{i=1}^N(x_i^2-\mu^2)]=\frac{1}{N}\sum_{i=1}^NE[(x_i^2-\mu^2)] E[N1i=1Nxi2μ2]=E[N1i=1Nxi2N1i=1Nμ2]=N1E[i=1N(xi2μ2)]=N1i=1NE[(xi2μ2)]

这个式子有何端倪?我们仔细观察一下变换后的形式:

E [ ( x i 2 − μ 2 ) ] = E [ x i 2 ] − μ 2 = E [ x i 2 ] − E [ x i ] 2 = v a r ( x i ) = σ 2 E[(x_i^2-\mu^2)]=E[x_i^2]-\mu^2=E[x_i^2]-E[x_i]^2=var(x_i)=\sigma^2 E[(xi2μ2)]=E[xi2]μ2=E[xi2]E[xi]2=var(xi)=σ2

经过这么一变换,发现 E [ x i 2 ] − E [ x i ] 2 E[x_i^2]-E[x_i]^2 E[xi2]E[xi]2就是方差的定义,因此 E [ ( x i 2 − μ 2 ) ] E[(x_i^2-\mu^2)] E[(xi2μ2)]表示的就是方差的实际值 σ 2 \sigma^2 σ2,前面一部分期望的结果就是:

E [ 1 N ∑ i = 1 N x i 2 − μ 2 ] = 1 N ∑ i = 1 N σ 2 = σ 2 E[\frac{1}{N}\sum_{i=1}^Nx_i^2-\mu^2]=\frac{1}{N}\sum_{i=1}^N\sigma^2=\sigma^2 E[N1i=1Nxi2μ2]=N1i=1Nσ2=σ2

我们再看后半部分: E [ μ m l e 2 − μ 2 ] E[\mu_{mle}^2-\mu^2] E[μmle2μ2],对于这一部分的处理,也有颇多技巧:

E [ μ m l e 2 − μ 2 ] = E [ μ m l e 2 ] − E [ μ 2 ] = E [ μ m l e 2 ] − μ 2 E[\mu_{mle}^2-\mu^2]=E[\mu_{mle}^2]-E[\mu^2]=E[\mu_{mle}^2]-\mu^2 E[μmle2μ2]=E[μmle2]E[μ2]=E[μmle2]μ2

之前说过了,由于均值的极大似然估计是无偏估计,因此 μ = E [ μ m l e ] \mu=E[\mu_{mle}] μ=E[μmle],我们进行替换可以得到:

E [ μ m l e 2 ] − μ 2 = E [ μ m l e 2 ] − E [ μ m l e ] 2 = v a r ( μ m l e ) = v a r ( 1 N ∑ i = 1 N x i ) = 1 N 2 v a r ( ∑ i = 1 N x i ) = 1 N 2 ∑ i = 1 N v a r ( x i ) = 1 N 2 ∑ i = 1 N σ 2 = 1 N σ 2 E[\mu_{mle}^2]-\mu^2=E[\mu_{mle}^2]-E[\mu_{mle}]^2=var(\mu_{mle})\\=var(\frac{1}{N}\sum_{i=1}^Nx_i)=\frac{1}{N^2}var(\sum_{i=1}^Nx_i)=\frac{1}{N^2}\sum_{i=1}^Nvar(x_i)\\=\frac{1}{N^2}\sum_{i=1}^N\sigma^2=\frac{1}{N}\sigma^2 E[μmle2]μ2=E[μmle2]E[μmle]2=var(μmle)=var(N1i=1Nxi)=N21var(i=1Nxi)=N21i=1Nvar(xi)=N21i=1Nσ2=N1σ2

真是千回百转啊,我们现在把前后两个化简后的期望结果进行合并,就可以得到方差的极大似然估计值的期望值了:

E [ σ m l e 2 ] = E [ 1 N ∑ i = 1 N x i 2 − μ 2 ] − E [ μ m l e 2 − μ 2 ] = σ 2 − 1 N σ 2 = N − 1 N σ 2 E[\sigma_{mle}^2]=E[\frac{1}{N}\sum_{i=1}^Nx_i^2-\mu^2]-E[\mu_{mle}^2-\mu^2]\\=\sigma^2-\frac{1}{N}\sigma^2=\frac{N-1}{N}\sigma^2 E[σmle2]=E[N1i=1Nxi2μ2]E[μmle2μ2]=σ2N1σ2=NN1σ2

结果出来了,我们发现方差的极大似然估计值并不等于该参数的真实值 σ 2 \sigma^2 σ2,而是要偏小的,因此方差的极大似然估计是有偏的。

那么,如果想要他变得无偏,进行一下系数的简单修正,在前面乘上一个 N N − 1 \frac{N}{N-1} N1N即可:

σ 2 ^ = N N − 1 σ m l e 2 = N N − 1 1 N ∑ i = 1 N ( x i − μ m l e ) 2 = 1 N − 1 ∑ i = 1 N ( x i − μ m l e ) 2 \hat{\sigma^2}=\frac{N}{N-1}\sigma^2_{mle}=\frac{N}{N-1}\frac{1}{N}\sum_{i=1}^N(x_i-\mu_{mle})^2\\=\frac{1}{N-1}\sum_{i=1}^N(x_i-\mu_{mle})^2 σ2^=N1Nσmle2=N1NN1i=1N(xiμmle)2=N11i=1N(xiμmle)2

5.小结

这一讲的内容就到此为止,核心内容就是以一元高斯分布为例,围绕着极大似然估计的方法,来介绍如何对高斯分布的参数进行估计,并且高斯分布的极大似然参数估计值的有偏性进行了判断和验证,结论和思想都很简单,希望读者能够多注意其中的运算技巧。

  • 8
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

石 溪

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值