最大似然估计和最大后验估计

学习机器学习了好几年,好多概念也是学了就忘,MAP和MLE之间的关系也一直没搞清楚。这段时间终于可以静下心来好好理解,趁着还没忘,赶紧写下来。
两大学派——频率学派 vs 贝叶斯学派

频率学派——最大似然估计 Maximum Likelihood Estimation (MLE)
贝叶斯学派——最大后验估计 Maximum A Posteriori (MAP)
问题定义
假设有一组独立同分布 i.i.d 的随机变量 X ∼ P ( X ∣ θ ) X\sim P(X|\theta) XP(Xθ) ,服从概率分布P,参数为 θ \theta θ

频率学派

频率派认为 θ \theta θ是未知的常数, X 是随机变量。频率学派使用的参数估计方法-极大似然估计(MLE),目的就是找到参数 θ \theta θ的一个估计值,使得当前样本出现的可能性最大。
P ( x 1 , x 2 , … , x n ∣ θ ) = P ( x 1 ∣ θ ) × P ( x 2 ∣ θ ) × P ( x n ∣ θ ) P(x_1,x_2,\dots,x_n|\theta)=P(x_1|\theta)\times P(x_2|\theta)\times P(x_n|\theta) P(x1,x2,,xnθ)=P(x1θ)×P(x2θ)×P(xnθ)
似然函数为:
L ( θ ∣ x 1 , x 2 , … , x n ) = P ( x 1 , x 2 , … , x n ∣ θ ) = ∏ P ( x i ∣ θ ) L(\theta|x_1,x_2,\dots,x_n)=P(x_1,x_2,\dots,x_n|\theta)=\prod P(x_i|\theta) L(θx1,x2,,xn)=P(x1,x2,,xnθ)=P(xiθ)
在实际使用中,由于 P ( x i ∣ θ ) P(x_i|\theta) P(xiθ) 一般比较小,而且 n 比较大,连乘容易造成浮点运算下溢。所以一般使用对数似然函数:
log ⁡ L ( θ ∣ x 1 , x 2 , … , x n ) = ∑ P ( x i ∣ θ ) \log L(\theta|x_1,x_2,\dots,x_n)= \sum P(x_i|\theta) logL(θx1,x2,,xn)=P(xiθ)
θ M L E = arg ⁡ max ⁡ log ⁡ P ( X ∣ θ ) = arg ⁡ min ⁡ − log ⁡ P ( X ∣ θ ) \begin{aligned} \theta_{MLE}&=\arg\max \log P(X|\theta)\\ &=\arg\min-\log P(X|\theta) \end{aligned} θMLE=argmaxlogP(Xθ)=argminlogP(Xθ)
注意,最后这一行称为负对数似然(Negative Log Likelihood, NLL)。
举个抛硬币的例子:
假设硬币正面朝上的概率 P ( H e a d s ∣ θ ) = θ P(Heads|\theta)=\theta P(Headsθ)=θ 。每一次抛硬币都是一次 i.i.d ,一共抛了十次硬币,结果为X=(H, H, T, T, H, T, H, H, H, T)。正面朝上次数为 n h = 6 n_h=6 nh=6,背面朝上 n t = 4 n_t=4 nt=4
似然函数为:
L ( θ ∣ X ) = θ n h × ( 1 − θ ) n t L(\theta|X)=\theta^{n_h} \times (1-\theta)^{n_t} L(θX)=θnh×(1θ)nt
θ M L E = arg ⁡ max ⁡ log ⁡ P ( X ∣ θ ) = arg ⁡ max ⁡ [ n h log ⁡ θ + n t log ⁡ ( 1 − θ ) ] \begin{aligned} \theta_{MLE}&= \arg\max \log P(X|\theta)\\ &=\arg\max[ n_h\log \theta + n_t\log(1-\theta)] \end{aligned} θMLE=argmaxlogP(Xθ)=argmax[nhlogθ+ntlog(1θ)]
θ \theta θ 求导:
n h θ − n t 1 − θ = 0 ⇔ θ = n h n h + h t \frac{n_h}{\theta}-\frac{n_t}{1-\theta}=0\\ \Leftrightarrow \theta = \frac{n_h}{n_h+h_t} θnh1θnt=0θ=nh+htnh
在上述情况下, θ = 0.6 \theta = 0.6 θ=0.6。当数据量趋于无穷时,这种方法能给出精准的估计,但是缺乏数据时则可能产生严重的偏差。例如,十次实验中出现了十次正面,这时候 θ = 1 \theta = 1 θ=1,这显然是不合理的。

贝叶斯学派

贝叶斯学派认为 θ \theta θ 也是一个随机变量,符合一定的概率分布 θ ∼ P ( θ ) \theta\sim P(\theta) θP(θ) ,这个就是先验概率(prior),反映的是我们没有观测到任何数据时对 θ \theta θ 的预先判断。贝叶斯中另一个输入是似然(likelihood),即 P ( X ∣ θ ) P(X|\theta) P(Xθ),是假设 θ \theta θ 已知后我们观察到的数据应该是什么样的。输出为后验分布(posterior),是最终的参数分布。贝叶斯公式如下:

P ( θ ∣ X ) ⏞ 后 验 = P ( X ∣ θ ) ⏞ 似 然 × P ( θ ) ⏞ 先 验 P ( X ) \overbrace{P(\theta|X)}^{后验}=\frac{\overbrace{P(X|\theta)}^{似然} \times \overbrace{P(\theta)}^{先验}}{P(X)} P(θX) =P(X)P(Xθ) ×P(θ)
由于分母 P(X) 是一个与 θ \theta θ 无关的随机变量,因此可以省略掉, ∝ \propto 表示两者成正比例:
P ( θ ∣ X ) ∝ P ( X ∣ θ ) × P ( θ ) P(\theta|X) \propto P(X|\theta) \times P(\theta) P(θX)P(Xθ)×P(θ)
最大后验概率(MAP)是贝叶斯学派常用的估计方法,假设我们用beta分布作为 θ \theta θ 的先验分布:
θ ∼ B e t a ( h , t ) P ( θ ) ∼ θ h − 1 ( 1 − θ ) t − 1 \theta\sim Beta(h,t) \\ P(\theta) \sim \theta^{h-1}(1-\theta)^{t-1} θBeta(h,t)P(θ)θh1(1θ)t1

Beta分布概率密度函数
Bata分布的期望为 E θ = h h + t E\theta=\frac{h}{h+t} Eθ=h+th
似然函数为:
P ( X ∣ θ ) = θ n h × ( 1 − θ ) n t P(X|\theta)=\theta^{n_h} \times (1-\theta)^{n_t} P(Xθ)=θnh×(1θ)nt
所以后验概率为:
P ( θ ∣ X ) ∼ P ( θ ) P ( X ∣ θ ) ∼ θ h − 1 ( 1 − θ ) t − 1 × θ n h ( 1 − θ ) n t = θ h − 1 + n h ( 1 − θ ) t − 1 + n t \begin{aligned} P(\theta|X)&\sim P(\theta)P(X|\theta)\\ &\sim \theta^{h-1}(1-\theta)^{t-1}\times\theta^{n_h} (1-\theta)^{n_t}\\ &=\theta ^{h-1+n_h}(1-\theta)^{t-1+n_t} \end{aligned} P(θX)P(θ)P(Xθ)θh1(1θ)t1×θnh(1θ)nt=θh1+nh(1θ)t1+nt
我们发现后验概率还是一个 Beta分布,这种特性为共轭先验:
θ ∣ X ∼ B e t a ( h + n t , t + n t ) \theta|X\sim Beta(h+n_t, t+n_t) θXBeta(h+nt,t+nt)
还是举一个扔硬币的例子,假设我们扔了十次硬币,这次运气爆棚,十次里有九次都是正面。先验概率为 θ ∼ B e t a ( 100 , 100 ) \theta\sim Beta(100,100) θBeta(100,100),期望 E ( θ ) = 0.5 E(\theta)=0.5 E(θ)=0.5
用最大似然来计算, θ ^ M L E = 9 9 + 1 = 0.9 \hat\theta_{MLE}=\frac{9}{9+1}=0.9 θ^MLE=9+19=0.9 ,显然这是不符合我们投硬币的经验的,因此最大似然在这种情况下有很大的偏差。
而通过贝叶斯公式计算的后验分布为:
θ ∣ X ∼ B e t a ( 109 , 101 ) \theta|X\sim Beta(109,101) θXBeta(109,101)
期望为 E θ = 109 109 + 101 = 0.52 E\theta=\frac{109}{109+101}=0.52 Eθ=109+101109=0.52 。结合试验数据后,Beta分布的中心从0.5往0.52移动了,由于这次试验数据量很小,所以对后验概率影响很小。随着数据量的增加,参数分布会越来越像数据靠拢,先验的影响力会越来越小。

红色为beta(100,100),蓝色为beta(109,101)
最后,MAP对 θ \theta θ 推导如下:
θ ^ M A P = arg ⁡ max ⁡ P ( θ ∣ X ) = arg ⁡ min ⁡ − l o g P ( θ ∣ X ) = arg ⁡ min ⁡ − l o g P ( X ∣ θ ) P ( θ ) P ( X ) = arg ⁡ min ⁡ − l o g P ( X ∣ θ ) − P ( θ ) + log ⁡ P ( X ) = arg ⁡ min ⁡ − l o g P ( X ∣ θ ) − P ( θ ) \begin{aligned} \hat\theta_{MAP}&=\arg\max P(\theta|X)\\ &=\arg\min-logP(\theta|X)\\ &=\arg\min -log\frac{P(X|\theta)P(\theta)}{P(X)}\\ &=\arg\min-logP(X|\theta)-P(\theta)+\log P(X)\\ &=\arg\min-logP(X|\theta)-P(\theta) \end{aligned} θ^MAP=argmaxP(θX)=argminlogP(θX)=argminlogP(X)P(Xθ)P(θ)=argminlogP(Xθ)P(θ)+logP(X)=argminlogP(Xθ)P(θ)
所以MAP和MLE在优化时的不同就在于增加了一个先验项 − l o g P ( θ ) -logP(\theta) logP(θ)
所以他们之间的关系为: M A P ( θ ) ≈ M L E ( θ ) + P ( θ ) MAP(\theta)\approx MLE(\theta)+P(\theta) MAP(θ)MLE(θ)+P(θ)
一个不严谨的总结就是:后验分布=先验分布+实验数据

参考
如何通俗理解 beta 分布?
张小磊:极大似然估计与最大后验概率估计
夏飞:聊一聊机器学习的MLE和MAP:最大似然估计和最大后验估计

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值