参数估计的三种方法-MLE,MAP与BayesianEstimation

参数估计的三种方法

机器学习有三种典型的参数估计方法,分别是极大似然估计(MLE),极大后验估计(MAP)以及贝叶斯估计。除了参数估计,每种方法还对应有样本的密度估计。假设 X = [ x i ] i = 1 n X=[x_i]_{i=1}^n X=[xi]i=1n

MLE

极大似然是通过下式估计参数。

θ ∗ = a r g m a x θ P ( X ∣ θ ) \theta^* = argmax_\theta P(X|\theta) θ=argmaxθP(Xθ)

该式可以这样理解,在给定参数 θ \theta θ的情况下,求解具体概率 P ( X ∣ θ ) P(X|\theta) P(Xθ)的最大值,使得满足预期样本分布。上式往往通过下述方法求解:

θ ∗ = a r g m a x θ P ( X ∣ θ ) = a r g m a x θ ∏ i = 1 n P ( x i ∣ θ ) \theta^* = argmax_\theta P(X|\theta)=argmax_\theta \prod_{i=1}^nP(x_i|\theta) θ=argmaxθP(Xθ)=argmaxθi=1nP(xiθ)

MAP

极大后验则给定样本的后验和参数的先验,求解下式:

θ ∗ = a r g m a x θ P ( θ ∣ X ) \theta^* = argmax_\theta P(\theta|X) θ=argmaxθP(θX)

可以这样理解,在给定观测样本集的条件下,估计最有可能的 θ ∗ \theta^* θ。该式往往利用Bayes公式求解,由于:
P ( θ ∣ X ) = P ( X ∣ θ ) P ( θ ) P ( X ) P(\theta|X) = \frac{P(X|\theta)P(\theta)}{P(X)} P(θX)=P(X)P(Xθ)P(θ)
所以:
θ ∗ = a r g m a x θ P ( θ ∣ X ) = a r g m a x θ P ( X ∣ θ ) P ( θ ) P ( X ) = a r g m a x θ ∏ i = 1 n P ( x i ∣ θ ) P ( θ ) \theta^* = argmax_\theta P(\theta|X) = argmax_\theta \frac{P(X|\theta)P(\theta)}{P(X)} = argmax_\theta \prod_{i=1}^n P(x_i|\theta)P(\theta) θ=argmaxθP(θX)=argmaxθP(X)P(Xθ)P(θ)=argmaxθi=1nP(xiθ)P(θ)

其中, P ( θ ) P(\theta) P(θ)为参数的先验。

贝叶斯估计

MLE和MAP方法有着共同点,即他们都是估计最可能的 θ \theta θ,并极大化上述式子求解 θ \theta θ,这被称为点估计。而Bayes估计承认明显的事实,参数 θ \theta θ可能有多个与数据兼容的值,用Bayes公式计算在数据X上参数 θ \theta θ的概率分布。

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

注意,尽管和MAP形式上一致,但贝叶斯估计极大化过程。且有:

P ( θ ∣ X ) P ( X ) = P ( X ∣ θ ) P ( θ ) P(\theta|X)P(X) = P(X|\theta)P(\theta) P(θX)P(X)=P(Xθ)P(θ)

∫ P ( θ ∣ X ) P ( X ) d θ = ∫ P ( X ∣ θ ) P ( θ ) d θ = P ( X ) \int P(\theta|X)P(X) d\theta = \int P(X|\theta)P(\theta) d\theta = P(X) P(θX)P(X)dθ=P(Xθ)P(θ)dθ=P(X)

密度估计

样本的密度估计即估算预测分布。即计算下式:

P ( x ∗ ∣ X ) = ∫ P ( x ∗ ∣ θ ) P ( θ ∣ X ) d θ P(x^*|X) = \int P(x^*|\theta)P(\theta|X)d\theta P(xX)=P(xθ)P(θX)dθ

可以这样理解, P ( x ∗ ∣ θ ) P(x^*|\theta) P(xθ)是一个给定值 θ \theta θ的预测。所以,积分可以当做由不同参数 θ ​ \theta​ θ确定的预测的加权和,也就是期望。

由于MLE和MAP这两种参数估计方法均属于点估计,因此这两者在进行预测时

P ( x ∗ ∣ X ) = ∫ P ( x ∗ ∣ θ ) δ ( θ − θ ∗ ) d θ P(x^*|X) = \int P(x^*|\theta)\delta(\theta-\theta^*)d\theta P(xX)=P(xθ)δ(θθ)dθ

其中 δ ( z ) \delta(z) δ(z)积分为1,并且在除了z=0以外的任何点都为0。这是因为,在点估计方式下,隐含的假设为: θ \theta θ只有一个可能的最优值 θ ∗ \theta^* θ。因此这两种方法下,有:

P ( θ ∗ ∣ X ) = ∞ P(\theta^*|X) = \infty P(θX)=

P ( θ ≠ θ ∗ ∣ X ) = 0 P(\theta \neq \theta^*|X) = 0 P(θ̸=θX)=0

由于 P ( x ∗ ∣ X ) = ∫ P ( x ∗ ∣ θ ) δ ( θ − θ ∗ ) d θ = P ( x ∗ ∣ θ ∗ ) P(x^*|X) = \int P(x^*|\theta)\delta(\theta-\theta^*)d\theta = P(x^*|\theta^*) P(xX)=P(xθ)δ(θθ)dθ=P(xθ)

因此,MLE和MAP的密度估计方法自然导出:给定 θ ∗ \theta^* θ,预测样本的分布。

贝叶斯估计中却不是这种方法,这是因为贝叶斯估计给出的 P ( θ ∣ X ) P(\theta|X) P(θX)是概率分布,非极大化的结果。所以,无法用 δ \delta δ函数对 P ( θ ∣ X ) P(\theta|X) P(θX)进行替换。

举例-一元正态分布

假设n个数据点 [ x i ] i = 1 n [x_i]_i=1^n [xi]i=1n从均值方差均为1的正态分布中采样得到。本例的目的是利用这些观测数据重新估算参数 μ , σ 2 \mu, \sigma^2 μ,σ2

MLE

利用极大似然估计,我们有

P ( X ∣ μ , σ 2 ) = ∏ i = 1 n P ( x i ∣ μ , σ ) = ∏ i = 1 n N o r m x i ( μ , σ ) P(X|\mu, \sigma^2) = \prod_{i=1}^n P(x_i|\mu, \sigma) = \prod_{i=1}^n Norm_{x_i}(\mu,\sigma) P(Xμ,σ2)=i=1nP(xiμ,σ)=i=1nNormxi(μ,σ)

其中 N o r m x i ( μ , σ ) = 1 2 π σ e − ( x i − μ ) 2 σ 2 Norm_{x_i}(\mu,\sigma) = \frac{1}{\sqrt{2\pi \sigma}}e^{-\frac{(x_i-\mu)^2}{\sigma^2}} Normxi(μ,σ)=2πσ 1eσ2(xiμ)2为点 x i x_i xi的概率密度。

极大似然估计即:

μ ∗ , σ 2 ∗ = a r g m a x μ , σ 2 P ( X ∣ μ , σ ) = a r g m a x μ , σ 2 l o g P ( X ∣ μ , σ 2 ) ​ \mu^*,\sigma^{2*} = argmax_{\mu, \sigma^2} P(X|\mu,\sigma) = argmax_{\mu, \sigma^2} log P(X|\mu,\sigma^2) ​ μ,σ2=argmaxμ,σ2P(Xμ,σ)=argmaxμ,σ2logP(Xμ,σ2)

P ( X ∣ μ , σ 2 ) P(X|\mu,\sigma^2) P(Xμ,σ2)取对数,然后对 μ , σ 2 \mu,\sigma^2 μ,σ2分别求偏导为0可得最优解。

MAP

利用极大后验估计,我们有

P ( μ , σ 2 ∣ X ) = P ( X ∣ μ , σ 2 ) P ( μ , σ 2 ) P ( X ) P(\mu,\sigma^2|X) = \frac{P(X|\mu,\sigma^2)P(\mu,\sigma^2)}{P(X)} P(μ,σ2X)=P(X)P(Xμ,σ2)P(μ,σ2)

其中 P ( X ∣ μ , σ 2 ) P(X|\mu,\sigma^2) P(Xμ,σ2)和MLE中一致, μ , σ 2 \mu,\sigma^2 μ,σ2的先验分布假设为正态逆伽马分布。表达式如下:

P ( μ , σ 2 ) P(\mu,\sigma^2) P(μ,σ2)
= N o r m I n v G a m m a μ , σ 2 ( α , β , γ , δ ) = NormInvGamma_{\mu,\sigma^2}(\alpha,\beta,\gamma,\delta) =NormInvGammaμ,σ2(α,β,γ,δ)

= γ σ 2 π β α Γ ( α ) ( 1 σ 2 ) α + 1 e − 2 β + γ ( δ − μ ) 2 2 σ 2 = \frac{\sqrt{\gamma}}{\sigma\sqrt{2\pi}} \frac{\beta^\alpha}{\Gamma(\alpha)}(\frac{1}{\sigma^2})^{\alpha+1} e^{-\frac{2\beta+\gamma(\delta-\mu)^2}{2\sigma^2}} =σ2π γ Γ(α)βα(σ21)α+1e2σ22β+γ(δμ)2

正态逆伽马分布是正态分布的共轭,它有4个参数,分别是 α , β , γ , δ \alpha,\beta,\gamma,\delta α,β,γ,δ。共轭性具有以下特点:

任意分布与其共轭分布乘积的结果正比于一个具有新参数的共轭分布。我们以正态分布和正态逆伽马分布为例:

N o r m x i ( μ , σ 2 ) ∗ N o r m I n v G a m m a μ , σ 2 ( α , β , γ , δ ) = χ ( x i , α , β , γ , δ ) ∗ N o r m I n v G a m m a μ , σ 2 ( α ^ , β ^ , γ ^ , δ ^ ) Norm_{x_i}(\mu,\sigma^2)*NormInvGamma_{\mu,\sigma^2}(\alpha,\beta,\gamma,\delta) = \chi(x_i, \alpha,\beta,\gamma,\delta) * NormInvGamma_{\mu,\sigma^2}(\hat{\alpha}, \hat{\beta}, \hat{\gamma}, \hat{\delta}) Normxi(μ,σ2)NormInvGammaμ,σ2(α,β,γ,δ)=χ(xi,α,β,γ,δ)NormInvGammaμ,σ2(α^,β^,γ^,δ^)

这在贝叶斯估计中很有用,具体地我们会在下一小节讲述。

回到正题,现在我们得到了 P ( μ , σ 2 ∣ X ) P(\mu,\sigma^2|X) P(μ,σ2X),对其直接进行极大化,通过对参数求偏导为0可求解得到最优解。

μ ∗ , σ 2 ∗ = a r g m a x μ , σ P ( μ , σ 2 ∣ X ) = a r g m a x μ , σ l o g P ( μ , σ 2 ∣ X ) \mu^*,\sigma^{2*}= argmax_{\mu,\sigma}P(\mu,\sigma^2|X) = argmax_{\mu,\sigma}log P(\mu,\sigma^2|X) μ,σ2=argmaxμ,σP(μ,σ2X)=argmaxμ,σlogP(μ,σ2X)

贝叶斯估计

贝叶斯估计则要复杂一些,它和MAP具有同样的形式,不同的是在最后一步。

P ( μ , σ 2 ∣ X ) ​ P(\mu,\sigma^2|X)​ P(μ,σ2X)
= P ( X ∣ μ , σ 2 ) P ( μ , σ 2 ) P ( X ) ​ = \frac{P(X|\mu,\sigma^2)P(\mu,\sigma^2)}{P(X)}​ =P(X)P(Xμ,σ2)P(μ,σ2)
= ∏ i = 1 n N o r m x i ( μ , σ 2 ) N o r m I n v G a m m a μ , σ 2 ( α , β , γ , δ ) P ( X ) ​ = \frac{\prod_{i=1}^n Norm_{x_i}(\mu,\sigma^2)NormInvGamma_{\mu,\sigma^2}(\alpha,\beta,\gamma,\delta)}{P(X)}​ =P(X)i=1nNormxi(μ,σ2)NormInvGammaμ,σ2(α,β,γ,δ)
= N o r m I n v G a m m a μ , σ 2 ( α ^ , β ^ , γ ^ , δ ^ ) ∏ i = 1 n χ ( x i , α , β , γ , δ ) P ( X ) ​ = \frac{NormInvGamma_{\mu,\sigma^2}(\hat{\alpha}, \hat{\beta}, \hat{\gamma}, \hat{\delta})\prod_{i=1}^n \chi(x_i, \alpha,\beta,\gamma,\delta) }{P(X)}​ =P(X)NormInvGammaμ,σ2(α^,β^,γ^,δ^)i=1nχ(xi,α,β,γ,δ)

由于后验 P ( μ , σ 2 ∣ X ) P(\mu,\sigma^2|X) P(μ,σ2X)必须是有效的概率分布且和为1,而 N o r m I n v G a m m a μ , σ 2 ( α ^ , β ^ , γ ^ , δ ^ ) NormInvGamma_{\mu,\sigma^2}(\hat{\alpha}, \hat{\beta}, \hat{\gamma}, \hat{\delta}) NormInvGammaμ,σ2(α^,β^,γ^,δ^)也是一个概率分布且和为1。因此有:

P ( μ , σ 2 ∣ X ) = N o r m I n v G a m m a μ , σ 2 ( α ^ , β ^ , γ ^ , δ ^ ) P(\mu,\sigma^2|X)=NormInvGamma_{\mu,\sigma^2}(\hat{\alpha}, \hat{\beta}, \hat{\gamma}, \hat{\delta}) P(μ,σ2X)=NormInvGammaμ,σ2(α^,β^,γ^,δ^)

其中, α ^ = α + n / 2 , γ ^ = γ + n , δ ^ = γ δ + ∑ x i γ + n , β ^ = 0.5 ∑ x i 2 + β + 0.5 γ δ 2 − ( γ δ + ∑ x i ) 2 2 ( γ + n ) \hat{\alpha} = \alpha+n/2, \hat{\gamma}=\gamma+n, \hat{\delta} = \frac{\gamma\delta+\sum x_i}{\gamma+n}, \hat{\beta} = 0.5\sum x_i^2 + \beta+0.5\gamma\delta^2-\frac{(\gamma\delta+\sum x_i)^2}{2(\gamma+n)} α^=α+n/2,γ^=γ+n,δ^=γ+nγδ+xi,β^=0.5xi2+β+0.5γδ22(γ+n)(γδ+xi)2

可以看到,利用贝叶斯公式我们可以得到参数的概率分布,这里我们看到使用共轭先验进行贝叶斯估计的第一个优点,比起MLE和MAP,这种方法得到的结果是一个closed-solution。并且,参数概率分布的峰值即为MAP的解。

当数据比较多的时候,参数被指定好,概率分布比较集中,此时把所有概率量放到MAP估计处是对后验的一个好的逼近。然而,当数据稀少的时候,许多可能的参数也许已经解释了数据并且后验很宽,这种情况下用点估计方法是不合适的。

密度估计

对于MLE和MAP,由于它们是点估计。可以分别直接采用 P ( x ∗ ∣ μ ∗ , σ 2 ∗ ) P(x^*|\mu^*,\sigma^{2*}) P(xμ,σ2) P ( x ∗ ∣ μ ∗ , σ 2 ∗ ) P ( μ ∗ , σ 2 ∗ ) P(x^*|\mu^*,\sigma^{2*})P(\mu^*,\sigma^{2*}) P(xμ,σ2)P(μ,σ2)预测新样本 x ∗ x^* x的密度。
对于贝叶斯估计方法,有:

P ( x ∗ ∣ X ) P(x^*|X) P(xX)
= ∫ ∫ P ( x ∗ ∣ μ , σ 2 ) P ( μ , σ 2 ∣ X ) d μ d σ = \int \int P(x^*|\mu,\sigma^2)P(\mu,\sigma^2|X)d\mu d\sigma =P(xμ,σ2)P(μ,σ2X)dμdσ
= ∫ ∫ N o r m x ∗ ( μ , σ 2 ) N o r m I n v G a m m a μ , σ 2 ( α ^ , β ^ , γ ^ , δ ^ ) d μ d σ =\int\int Norm_{x^*}(\mu,\sigma^2)NormInvGamma_{\mu,\sigma^2}(\hat{\alpha}, \hat{\beta}, \hat{\gamma}, \hat{\delta})d\mu d\sigma =Normx(μ,σ2)NormInvGammaμ,σ2(α^,β^,γ^,δ^)dμdσ
= χ ( x ∗ , α ^ , β ^ , γ ^ , δ ^ ) ∫ ∫ N o r m I n v G a m m a μ , σ 2 ( α ‾ , β ‾ , γ ‾ , δ ‾ ) d μ d σ =\chi(x^*,\hat{\alpha}, \hat{\beta}, \hat{\gamma}, \hat{\delta}) \int \int NormInvGamma_{\mu,\sigma^2}(\overline{\alpha}, \overline{\beta}, \overline{\gamma}, \overline{\delta})d\mu d\sigma =χ(x,α^,β^,γ^,δ^)NormInvGammaμ,σ2(α,β,γ,δ)dμdσ

显然,积分项为1,所以有:
P ( x ∗ ∣ X ) = χ ( x ∗ , α ^ , β ^ , γ ^ , δ ^ ) = 1 2 π γ ^ γ ‾ β α ^ ^ β ‾ α ‾ Γ ( α ‾ ) Γ ( α ^ ) P(x^*|X) =\chi(x^*,\hat{\alpha}, \hat{\beta}, \hat{\gamma}, \hat{\delta})=\frac{1}{\sqrt{2\pi}}\frac{\sqrt{\hat{\gamma}}}{\sqrt{\overline{\gamma}}}\frac{\hat{\beta^{\hat{\alpha}}}}{\overline{\beta}^{\overline{\alpha}}}\frac{\Gamma(\overline{\alpha})}{\Gamma(\hat{\alpha})} P(xX)=χ(x,α^,β^,γ^,δ^)=2π 1γ γ^ βαβα^^Γ(α^)Γ(α)

其中,
α ‾ = α ^ + n / 2 , γ ‾ = γ ^ + n , δ ‾ = γ ^ δ ^ + ∑ x i γ ^ + n , β ‾ = 0.5 ∑ x i 2 + β ^ + 0.5 γ ^ δ ^ 2 − ( γ ^ δ ^ + ∑ x i ) 2 2 ( γ ^ + n ) \overline{\alpha} = \hat{\alpha}+n/2, \overline{\gamma}=\hat{\gamma}+n, \overline{\delta} = \frac{\hat{\gamma}\hat{\delta}+\sum x_i}{\hat{\gamma}+n}, \overline{\beta} = 0.5\sum x_i^2 +\hat{ \beta}+0.5\hat{\gamma}\hat{\delta}^2-\frac{(\hat{\gamma}\hat{\delta}+\sum x_i)^2}{2(\hat{\gamma}+n)} α=α^+n/2,γ=γ^+n,δ=γ^+nγ^δ^+xi,β=0.5xi2+β^+0.5γ^δ^22(γ^+n)(γ^δ^+xi)2

这里,我们可以看到使用共轭先验进行贝叶斯估计的第二个优点,它意味着积分是可以计算的,所以可以得到密度预测的一个不错的闭式表达式。

对大量数据而言,贝叶斯估计和MAP估计得到的样本密度是非常接近的。但是在样本量少的情况下,贝叶斯估计的分布更加平稳,这也意味着它更不确定样本密度的真实性。

    原文作者:青春是一条不归路
    原文地址: https://blog.csdn.net/wuyanxue/article/details/88666613
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞