极大似然估计,最大后验估计,贝叶斯估计


假设有数据 X = { x 1 , x 2 , . . . , x n } X=\{x_1, x_2, ...,x_n\} X={x1,x2,...,xn},模型 P ( x ∣ θ ) P(x|\theta) P(xθ)其中 θ \theta θ表示模型的全部参数。
那么该如何对 θ \theta θ进行估计呢?

频率学派vs贝叶斯学派

对于 θ \theta θ是否是一个服从某种分布的随机变量这个观点,各个学派持不同意见。

其中认为 θ \theta θ是一个未知常量的学派,就是频率学派,他们认为 θ \theta θ是一个常量,只不过我们还不清楚而已。对于他们来说对参数 θ \theta θ的估计就是最大化似然 P ( X ∣ θ ) P(X|\theta) P(Xθ)
其中X是给定的数据,是常量,而 θ \theta θ是未知变量。那么你可能就有疑问了,不是说 θ \theta θ是常量么?怎么到这里又是变量了?
其实 θ \theta θ确实是常量,我们的表示 P ( X ∣ θ ) P(X|\theta) P(Xθ)即表示在已知某个 θ \theta θ情况下的X的分布,而我们现在要做的就是去搜索一个 θ \theta θ使我们的 P ( X ∣ θ ) P(X|\theta) P(Xθ)能更好的符合出现的数据。

贝叶斯学派就不这么认为了,他觉着 θ \theta θ符合某种分布,即 θ \theta θ并不是一个未知的常量。那么按照这个思想,贝叶斯派其实就是在已知X的情况下,从 θ \theta θ的分布中求出一个能够比较好满足我们要求的 θ \theta θ,即我们要进行操作的目标是 P ( θ ∣ X ) P(\theta|X) P(θX)

MLE

极大似然估计属于频率派的东西,它的想法就是在所有的 θ \theta θ中,能让所有的已知样本出现几率最大的那个点就是最好的。
可以看出在上述描述中,我们是在 θ \theta θ所有可能中搜出满足条件的最好的 θ \theta θ然后认为它就是那个适合的常数。
具体的极大似然估计如下。
θ ^ = arg max ⁡ θ ∏ i = 1 n P ( x i ∣ θ ) \hat \theta = \argmax_{\theta}\prod_{i = 1}^nP(x_i|\theta) θ^=θargmaxi=1nP(xiθ)
为了方便计算我们通常会加一个log
θ ^ = arg max ⁡ θ ∑ i = 1 n l o g P ( x i ∣ θ ) \hat \theta = \argmax_{\theta}\sum_{i = 1}^nlogP(x_i|\theta) θ^=θargmaxi=1nlogP(xiθ)
我们把其中 ∑ i = 1 n l o g P ( x i ∣ θ ) \sum\limits_{i = 1}^nlogP(x_i|\theta) i=1nlogP(xiθ)叫做似然函数记做 L ( X ; θ ) L(X;\theta) L(X;θ),极大似然估计在学校里讲过很多次,这里就不再详细说了。
需要注意的是,似然和概率函数不一样,似然的未知量是 θ \theta θ,而概率函数的未知量是x

MAP

MAP叫最大后验估计,属于频率派,它的计算式子是
θ ^ = arg max ⁡ θ P ( θ ∣ X ) \hat \theta = \argmax_{\theta}P(\theta|X) θ^=θargmaxP(θX)
注意,这里写的是X不是x,X是全体样本。
根据贝叶斯公式,就有
P ( θ ∣ X ) = P ( X ∣ θ ) P ( θ ) P ( X ) ∝ P ( X ∣ θ ) P ( θ ) P(\theta|X)=\frac{P(X|\theta)P(\theta)}{P(X)}\propto P(X|\theta)P(\theta) P(θX)=P(X)P(Xθ)P(θ)P(Xθ)P(θ)
在上式中,由于X是已知的,所以P(X)为常数,所以有正比的关系。我们可以发现 P ( X ∣ θ ) P(X|\theta) P(Xθ)就是似然,而 P ( θ ) P(\theta) P(θ)是先验。

也就是说,MAP最后是这个样子
θ ^ = arg max ⁡ θ P ( X ∣ θ ) P ( θ ) \hat \theta = \argmax_{\theta}P(X|\theta)P(\theta) θ^=θargmaxP(Xθ)P(θ)
我们同样可以加上一个log,于是就变成:
θ ^ = arg max ⁡ θ [ l o g P ( X ∣ θ ) + l o g P ( θ ) ] \hat \theta = \argmax_{\theta}[logP(X|\theta) + logP(\theta)] θ^=θargmax[logP(Xθ)+logP(θ)]
我们回过头来看MAP,它的从式子可以看出,它的想法就是极大化后验概率 P ( θ ∣ X ) P(\theta|X) P(θX)
即从后验概率 P ( θ ∣ X ) P(\theta|X) P(θX)中找出出现可能性最大的一个 θ \theta θ
从这里可以看出MAP它考虑在X给定时不同 θ \theta θ出现的概率,最后选出出现概率最大的一个作为最后的估计值。

举个例子,比如我们做投硬币游戏(硬币可能不均匀),我们投了9次,记正面为1,反面为0,我们得到样本:
1 , 1 , 0 , 0 , 1 , 0 , 1 , 0 , 1 1,1,0,0,1,0,1,0,1 1,1,0,0,1,0,1,0,1,现在请你估计出 P ( x ∣ θ ) P(x|\theta) P(xθ) x ∈ { 0 , 1 } x\in\{0,1\} x{0,1}

解:
我们都知道投硬币服从二项分布,所以我们可以写出 P ( x ∣ θ ) P(x|\theta) P(xθ),其中 θ \theta θ为正面的概率
P ( x ∣ θ ) = θ x ( 1 − θ ) 1 − x P(x|\theta) = \theta^x(1 - \theta)^{1-x} P(xθ)=θx(1θ)1x
那么似然函数就可以很轻松地表示出来。
L ( X ; θ ) = ∑ i = 1 n l o g P ( x i ∣ θ ) L(X;\theta)=\sum_{i = 1}^n logP(x_i|\theta) L(X;θ)=i=1nlogP(xiθ)
根据MAP的计算式,我们还需要知道 P ( θ ) P(\theta) P(θ)才能计算。
这个 P ( θ ) P(\theta) P(θ)就是所谓的先验,我们通过以往的经验得到的一个分布。比如我们曾经使用同一个生产线的硬币做实验,得到了这个硬币的 θ \theta θ值大概服从某个正态分布,比如 N ∼ ( 0.5 , 1 ) N\thicksim(0.5,1) N(0.5,1)

θ ^ = arg max ⁡ θ [ ∑ i = 1 n l o g P ( x i ∣ θ ) + l o g ( 1 2 π e − ( θ − 0.5 ) 2 2 ) ] \hat \theta = \argmax_{\theta}[\sum_{i = 1}^n logP(x_i|\theta) + log(\frac{1}{2\pi}e^{-\frac{(\theta-0.5)^2}{2}})] θ^=θargmax[i=1nlogP(xiθ)+log(2π1e2(θ0.5)2)]
我们尽心进一步的化简,对后面的对数高斯分布进行化简
l o g ( 1 2 π e − ( θ − 0.5 ) 2 2 ) = l o g ( 1 2 π ) + l o g ( e − ( θ − 0.5 ) 2 2 ) log(\frac{1}{2\pi}e^{-\frac{(\theta-0.5)^2}{2}})=log(\frac{1}{2\pi}) + log(e^{-\frac{(\theta-0.5)^2}{2}}) log(2π1e2(θ0.5)2)=log(2π1)+log(e2(θ0.5)2)
由于 l o g ( 1 2 π ) log(\frac{1}{2\pi}) log(2π1)是常数,不影响优化,所以舍弃。我们假设log以e为底,就有
l o g ( 1 2 π e − ( θ − 0.5 ) 2 2 ) = − ( θ − 0.5 ) 2 2 log(\frac{1}{2\pi}e^{-\frac{(\theta-0.5)^2}{2}})={-\frac{(\theta-0.5)^2}{2}} log(2π1e2(θ0.5)2)=2(θ0.5)2
我们设 λ = 0.5 \lambda=0.5 λ=0.5就有
l o g ( 1 2 π e − ( θ − 0.5 ) 2 2 ) = − λ ( θ − 0.5 ) 2 log(\frac{1}{2\pi}e^{-\frac{(\theta-0.5)^2}{2}})=-\lambda(\theta-0.5)^2 log(2π1e2(θ0.5)2)=λ(θ0.5)2
带回到原式就有
θ ^ = arg max ⁡ θ [ ∑ i = 1 n l o g P ( x i ∣ θ ) + − λ ( θ − 0.5 ) 2 ] \hat \theta = \argmax_{\theta}[\sum_{i = 1}^n logP(x_i|\theta) + -\lambda(\theta-0.5)^2] θ^=θargmax[i=1nlogP(xiθ)+λ(θ0.5)2]
到此,我们只需要求导然后取导数等于0就可以求出解了。

我们此时再观察一下式子,就会发现 λ ( θ − 0.5 ) 2 \lambda(\theta-0.5)^2 λ(θ0.5)2其实就是一个L2正则。也就是说我们使用MAP进行估计时实质上就是使用了正则对MLE进行约束,使得我们的先验概率在参数估计中能起到一定的干预作用。

具体的,对于高维高斯分布:
f ( x ) = 1 ( 2 π ) n 2 ( d e t ( C ) ) 0.5 e x p ( − 1 2 ( x − μ ) T C − 1 ( x − μ ) ) f(x)=\frac{1}{(2\pi)^{\frac{n}{2}}(det(C))^{0.5}}exp(-\frac{1}{2}(x-\mu)^TC^{-1}(x-\mu)) f(x)=(2π)2n(det(C))0.51exp(21(xμ)TC1(xμ))
其中 x = ( x 1 , x 2 , . . . , x n ) T , μ = ( μ 1 , μ 2 , . . . , μ 3 ) T x = (x_1, x_2, ..., x_n)^T, \mu=(\mu_1, \mu_2, ..., \mu_3)^T x=(x1,x2,...,xn)T,μ=(μ1,μ2,...,μ3)TC表示各个维度随机变量之间构成的协方差矩阵。
对于确定的高维高斯分布,前面的一个乘数依然是常数,记为 1 ( 2 π ) n 2 ( d e t ( C ) ) 0.5 = k \frac{1}{(2\pi)^{\frac{n}{2}}(det(C))^{0.5}}=k (2π)2n(det(C))0.51=k
假设 μ = ( μ 1 , μ 2 , . . . , μ 3 ) T = ( 0 , 0 , . . . , 0 ) T \mu=(\mu_1, \mu_2, ..., \mu_3)^T=(0,0,...,0)^T μ=(μ1,μ2,...,μ3)T=(0,0,...,0)T即每个维度的随机变量的均值都为0,并且假设各个维度之间独立,那么此时 C − 1 C^{-1} C1就变成了单位矩阵
于是我们得到:
f ( x ) = k e x p ( − 1 2 ( x ) T C − 1 ( x ) ) f(x)=k exp(-\frac{1}{2}(x)^TC^{-1}(x)) f(x)=kexp(21(x)TC1(x))
我们把 C − 1 C^{-1} C1按列进行分块得到 C − 1 = ( C 1 , C 2 , . . . , C n ) C^{-1}=(C_1, C_2, ..., C_n) C1=(C1,C2,...,Cn)于是我们可以把上式写成
f ( x ) = k e x p ( − 1 2 ∣ ∣ x ∣ ∣ 2 ) f(x)=k exp(-\frac{1}{2}||x||^2) f(x)=kexp(21x2)
我们对其取log
f ( x ) = k e x p ( − 1 2 ∣ ∣ x ∣ ∣ 2 ) f(x)=k exp(-\frac{1}{2}||x||^2) f(x)=kexp(21x2)
我们把他放在MAP中,设 λ = 1 2 \lambda=\frac{1}{2} λ=21并且于是就得到了
− λ ∣ ∣ x ∣ ∣ 2 -\lambda||x||^2 λx2
这与L2正则完全一致,至于为啥有负号,是因为我们MAP求的是极大,而我们一般写目标函数时求的是极小。
对于其它的一些先验分布也有他们对应的正则,比如拉普拉斯分布对应L1正则。
可见MAP的本质就是加了正则的MLE。

对于MAP来说,在样本比较少的时候比较适合使用。
从两个角度去理解:
一方面是,样本少时容易产生过拟合,需要加正则抑制。
另一方面是,样本多时,我们的先验就不是那么重要了,因为根据中心极限定理,我们的数据足以逼近参数的真实值,此时MAP就近似等于MLE了。

BE

BE是贝叶斯估计,是贝叶斯学派的参数估计,MAP其实就是残缺的贝叶斯估计。
真正的贝叶斯估计是要求
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(θ)
注意,这里没有求极大值,这里是要实打实的求 P ( θ ∣ X ) P(\theta|X) P(θX)
那么问题来了,求出这个有什么用呢?这里就需要来说一下贝叶斯推断了。
对于新给出得到一个样本 x x x我们要进行预测 P ( x ∣ X ) P(x|X) P(xX)。即在给定样本X情况下的x的概率。
这里我们没法直接求出来,但是我们可以通过 θ \theta θ进行联系。
P ( x ∣ X ) = ∫ P ( x , θ ∣ X ) d θ = ∫ P ( x ∣ θ , X ) P ( θ ∣ X ) d θ P(x|X) = \int P(x, \theta|X)d\theta=\int P(x|\theta, X)P(\theta|X)d\theta P(xX)=P(x,θX)dθ=P(xθ,X)P(θX)dθ
可以发现,贝叶斯推断的第二项就是后验概率 P ( θ ∣ X ) P(\theta|X) P(θX),所以想要使用贝叶斯推断就要求出 P ( θ ∣ X ) P(\theta|X) P(θX),这里贝叶斯估计求出了新数据的概率,没有估计 θ \theta θ

贝叶斯估计也可以估计 θ \theta θ不过使用的 P ( θ ∣ X ) P(\theta|X) P(θX)的期望来估计 θ \theta θ,我们对 P ( X ) P(X) P(X)进行变换
P ( θ ∣ X ) = P ( X ∣ θ ) P ( θ ) ∫ θ P ( X ∣ θ ) P ( θ ) d θ P(\theta|X)=\frac{P(X|\theta)P(\theta)}{\int_{\theta}P(X|\theta)P(\theta)d\theta} P(θX)=θP(Xθ)P(θ)dθP(Xθ)P(θ)
可以看到分母是要对所有可能的 θ \theta θ进行积分,这显然很难做到,所以我们很难直接对 P ( θ ∣ X ) P(\theta|X) P(θX)建模,但是我们可以通过一些其他手段(MCMC之类的)求出其值。
其贝叶斯估计的 θ ^ \hat \theta θ^
θ ^ = ∫ θ θ P ( θ ∣ X ) d θ \hat \theta = \int_{\theta}\theta P(\theta|X)d\theta θ^=θθP(θX)dθ

参考:
https://www.jianshu.com/p/9c153d82ba2d
https://zhuanlan.zhihu.com/p/37215276
统计机器学习

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值