说人话搞懂【极大似然估计】和【最大后验概率】的区别!

MLE&MAP

什么是先验/后验概率

我们先给出一些符号定义,令θ表示模型参数,D表示数据。

先验概率比较好理解,比如 p(D)就表示数据的先验概率(prior probability)。

但是在之前我经常搞不明白 p(D|θ)p(θ|D) 哪个才是后验概率(posterior probability)。其实二者都可以看做是后验概率,只不过少了定语。具体来说 p(D|θ) 是数据 D 的后验概率,即已经告诉你模型参数 θ 了,要你求数据的概率,所以是后验概率。同理p(θ|D) 是告诉你数据后,让你求θ的后验概率。所以,要根据语境去判断哪个才是后验概率。

似然概率

下面介绍一下贝叶斯公式这个老朋友了,或者说是熟悉的陌生人。

(1)p(θ|D)=p(D|θ)p(θ)p(D)

假设我们研究的对象是变量θ,那么此时先验概率就是 p(θ),(θ的) 后验概率是p(θ|D)

p(D|θ) 是什么呢?它就是本文的另一个主角:似然概率 (likelihood probability),顾名思义是给定参数θ,求数据是D的概率是多少;另一种理解是似然概率是要求出θ在什么情况下能够使得数据D出现的概论最大。以神经网络模型优化为例,假设当前的输入图像是猫,那么我们要求出什么样的参数值θ才能使得模型在猫这个类别上的预测概率最大。

一般来说 p(θ)是不知道的或者说很难求解,但是我们可以知道后验概率和 (似然概率乘以先验概率)呈正相关关系,所以p(θ)即使不知道也不影响对后验概率的求解。

极大似然估计 与 最大后验概率估计

极大似然估计 (Maximum Likelihood Estimate, MLE)和最大后验概率估计(Maximum A Posteriori (MAP) estimation)其实是两个不同学派的方法论。

MLE是频率学派模型参数估计的常用方法,它的目的是想最大化已经发生的事情的概率。我们在用神经网络训练分类器的时候其实就可以理解成是MLE。具体来说,假设数据D由一组数据样本组成,即D={d1,...,dn},模型参数用θ表示,我们假设每个样本预测彼此独立,所以MLE的求解方式如下:

(2)θ^MLE=argmaxP(D;θ)=argmaxP(d1;θ)P(d2;θ)P(dn;θ)=argmaxlogi=1nP(di;θ)=argmaxi=1nlogP(di;θ)=argmini=1nlogP(di;θ)

可以看到,上面其实就是我们常用的交叉熵损失函数。那么如何用MAP来优化模型参数呢?公式如下:

(3)θ^MAP=argmaxP(θD)=argminlogP(θD)=argminlogP(Dθ)logP(θ)+logP(D)=argminlogP(Dθ)logP(θ)

可以看到 log(MAP(θ))log(MAP(θ))+log(θ)。而p(θ)其实就是常用的正则项,即对模型参数的约束。

微信公众号:AutoML机器学习
MARSGGBO原创
如有意合作或学术讨论欢迎私戳联系~
邮箱:marsggbo@foxmail.com

2022-04-10 17:21:14

posted @   marsggbo  阅读(297)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
历史上的今天:
2018-04-10 Pytorch 各种奇葩古怪的使用方法
点击右上角即可分享
微信分享提示