极大似然估计(Maximum Likelihood Estimation,MLE)
最大后验概率估计(Maximum a posteriori Estimation,MAP)
贝叶斯估计(Bayesian Parameter Estimation,BPE)
一般理解
- 极大似然估计(MLE): 频率学派(参数为固定的某个值)
- 贝叶斯估计(BPE): 贝叶斯学派(参数服从某个分布)
- 最大后验概率估计(MAP): 一般的书籍认为属于频率学派
- 个人理解:MAP前半部分是贝叶斯学派,后半部分是频率学派
- 前半部分认为参数θ)有先验分布,此时参数服从一个分布,而不是确定的值,是贝叶斯学派的
- 后半部分认为参数不是服从后验分布,而是一个具体的使得后验概率最大的值,这里是频率学派的做法
- 个人理解:MAP前半部分是贝叶斯学派,后半部分是频率学派
- 三者的终极目标都是估计模型参数θ,MAP和MLE估计参数θ为具体某个值,BPE估计参数θ为一个分布
- 其他贝叶斯网络模型(有向图概率图模型)参数估计的方法还有吉布斯采样,变分推断,EM算法等
极大似然估计与最大后验概率估计
- 比较MLE与MAP直观理解见我的另一篇博客:MLE-vs-MAP——一个简单的例子说明二者的区别
- 都只关注参数的具体某个最优值
- 极大似然估计相当于是参数θ的先验分布P(θ)为均为分布的最大后验概率估计
最大后验概率估计与贝叶斯估计
- 相似点:
- 都考虑了参数的先验分布(贝叶斯学派)
- 最大后验概率估计是贝叶斯估计的一种简化实现(不用求复杂的分母积分)
- 二者都围绕下面的公式进行估计
P(θ|X)=P(X|θ)P(θ)P(X)
- 区别:
- 贝叶斯估计:不能忽略归一化因子P(X),此时P(X)=∫θP(X|θ)P(θ)dθ,贝叶斯估计要计算后验分布,所以需要计算归一化因子
- 最大后验概率估计:把分母P(X)给忽略了,直接对分子极大化求得最优的参数θ⋆,对不同参数值,分母积分结果是相同的,所以P(X)的值不影响最优参数值的选取,不用计算归一化因子(很复杂,需要积分),速度会快很多
- 最大后验概率估计相当于是参数后验分布P(θ|X)被最可能的参数值θ⋆=argmax替代的贝叶斯估计
估计模型 | 目标值 | 关心对象 | 求值方式 |
---|---|---|---|
MLE | \theta^{\star}=\arg\max_{\theta}(P(X\mid \theta) | P(X\mid \theta) | 最大化似然函数P(X\mid \theta) |
MAP | \theta^{\star}=\arg\max_{\theta}(P(\theta\mid X) | P(X\mid \theta)P(\theta) | 最大化后验概率P(\theta\mid X)=\frac{P(X\mid \theta)P(\theta)}{P(X)} 只需最大化分子P(X,\theta)=P(X\mid \theta)P(\theta) |
BPE | P(\theta\mid X) (\theta的后验概率分布) |
\frac{P(X\mid \theta)P(\theta)}{P(X)} | 求参数\theta的后验概率分布P(\theta\mid X) P(\theta\mid X)=\frac{P(X\mid \theta)P(\theta)}{\int_{\theta}P(X\mid\theta)P(\theta)d_{\theta}} |
一个容易理解的角度
问题描述
已知数据集为X=(x_{1}, x_{2},,,x_{n})
极大似然估计
- 已知数据集X的情况下,求参数最优值\theta^{\star},使得似然函数P(X|\theta)最大
最大后验概率估计
- 已知数据集X的情况下,求参数最优值\theta^{\star},使得后验概率P(\theta|X)最大,实际只需使得P(X,\theta)=P(X|\theta)P(\theta)最大
贝叶斯估计
- 已知数据集X的情况下,求参数\theta的后验分布P(\theta|X)
极大似然估计(MLE)
- 推导
P(\theta|X)=\frac{P(X|\theta)P(\theta)}{P(X)}- P(\theta)为的取值与参数\theta无关
- P(\theta)与参数\theta无关可以理解为参数\theta服从均匀分布: 假设参数\theta有k个离散取值\theta_{1}, \theta_{2},,,\theta_{k},那么P(\theta_{1})=P(\theta_{2})=…=P(\theta_{k})=\frac{1}{k}
- P(X)的取值与\theta无关,设置为P(X)=1即可
- 所以得到下面的表达式
\arg\max_{\theta}P(\theta|X)=\arg\max_{\theta}P(X|\theta)- 式子中P(X|\theta)被称为似然函数
- P(\theta)为的取值与参数\theta无关
- 结论
- 极大似然估计: \theta^{\star}=\arg\max_{\theta}P(X|\theta)
- 文字解释: 极大似然估计的目标是找一个参数\theta,使得在参数\theta对应的概率分布模型下,数据集X出现的概率最大(似然函数最大)
最大后验概率估计(MAP)
- 推导
P(\theta|X)=\frac{P(X|\theta)P(\theta)}{P(X)}- P(\theta)为的取值与参数\theta相关,是关于\theta的一个先验概率
- P(\theta)与参数\theta相关可以理解为: 假设参数\theta有k个取值\theta_{1}, \theta_{2},,,\theta_{k},那么P(\theta_{1}),P(\theta_{2}),,,P(\theta_{k})的取值不确定,除了\sum_{i=1}^{k}P(\theta_{i})=1
- P(X)=\int_{\theta}P(X|\theta)P(\theta)d_{\theta}积分结果与\theta不相关,分母的值不影响后验概率最大值的参数值,直接忽略(设置为P(X)=1)即可
- 所以得到
\arg\max_{\theta}P(\theta|X)=\arg\max_{\theta}P(X|\theta)P(\theta)=\arg\max_{\theta}P(X,\theta)
- P(\theta)为的取值与参数\theta相关,是关于\theta的一个先验概率
- 结论
- 最大后验概率估计: \theta^{\star}=\arg\max_{\theta}P(X|\theta)P(\theta)
- 文字解释: 最大后验概率估计的目标是找一个参数\theta,使得在参数\theta在已知先验分布P(\theta)和数据集X的情况下,对应的后验概率P(\theta|X)最大(等价于P(X,\theta)=P(X|\theta)P(\theta)最大)
贝叶斯估计(BPE)
- 推导
P(\theta|X)=\frac{P(X|\theta)P(\theta)}{P(X)}- P(\theta)为的取值与参数\theta相关,是关于\theta的一个先验概率
- P(\theta)与参数\theta相关可以理解为: 假设参数\theta有k个取值\theta_{1}, \theta_{2},,,\theta_{k},那么P(\theta_{1}),P(\theta_{2}),,,P(\theta_{k})的取值不确定,除了\sum_{i=1}^{k}P(\theta_{i})=1
- P(X)的取值与\theta本身不相关,但是为了求出后验分布P(\theta|X),P(X)作为归一化因子需要计算
- P(X)的值与参数的先验分布,模型的定义(高斯分布还是贝塔分布等)和数据集X有关系
- 没有分母作为归一化因子的话单独的分子是联合分布P(X,\theta),这个分布对\theta积分结果不为1(而是P(X)),联合分布不能确定\theta的后验分布
- P(X)=\int_{\theta}P(X|\theta)P(\theta)d_{\theta}
- 所以得到
P(\theta|X)=\frac{P(X|\theta)P(\theta)}{\int_{\theta}P(X|\theta)P(\theta)d_{\theta}}
- P(\theta)为的取值与参数\theta相关,是关于\theta的一个先验概率
- 结论
- 贝叶斯估计: P(\theta|X)=\frac{P(X|\theta)P(\theta)}{\int_{\theta}P(X|\theta)P(\theta)d_{\theta}}
- 文字解释: 贝叶斯估计的目标是求参数的后验分布P(\theta|X),参数\theta服从先验分布P(\theta),在已知数据集X修正后,参数\theta的后验概率分布为P(\theta|X)
- 缺点
- 计算P(X)=\int_{\theta}P(X|\theta)P(\theta)d_{\theta}比较耗时
一个更深入的理解
问题描述
- 已知数据集为X=(x_{1}, x_{2},,,x_{n}),新数据集为D=(d_{1}, d_{2},,,d_{m})
- 求已知数据集X的情况下,假设数据集X由某个模型M(参数为\theta)生成,那么数据集D也由模型M生成的概率P(D|X)
- 模型M的确定因素:
- 由三个因素唯一确定
- 参数\theta的先验分布P(\theta)
- 模型的类型定义f(\theta)(高斯分布,贝塔分布,二项分布还是其他什么分布)
- 模型的已知观察数据集X
- 由两个因素唯一确定
- 模型的类型定义f(\theta)(高斯分布,贝塔分布,二项分布还是其他什么分布)
- 参数\theta的后验分布P(\theta|X)
- 由三个因素唯一确定
- 模型M的确定因素:
- 另一种表述: 用模型M(参数为\theta)生成数据,在已观察到模型M生成了数据集X后,预测模型M接下来生成数据集D的概率
极大似然估计(MLE)
特点:假设模型M(参数\theta)没有先验分布
模型参数估计
- 模型参数为一个确定的最优值
- \theta^{\star}=\arg\max_{\theta}P(X|\theta)
概率计算
- P(D|X)=P(D|\theta^{\star})
优点
- 计算速度快
缺点
- 不够精确,特别是当观察到的数据集X太小时,这种情况不考虑参数的先验分布可能会造成过拟合
- 举例: 判断一个学校男女比例,在观察到两个男生,一个女生走出校门后就判断男女比例为2:1显然不合适
- 注意:单个同学是男生或者女生的概率服从伯努利分布,多个同学中男生的数量服从二项分布,整个学校的某个学生是男生的概率服从贝塔分布
- 举例: 判断一个学校男女比例,在观察到两个男生,一个女生走出校门后就判断男女比例为2:1显然不合适
- 不够精确,特别是当观察到的数据集X太小时,这种情况不考虑参数的先验分布可能会造成过拟合
贝叶斯估计(BPE)
- 特点:假设模型M(参数\theta)有先验分布P(\theta),计算观察到数据集X后\theta的后验分布P(\theta|X),然后求P(D|\theta)关于后验分布P(\theta|X)的期望(这个期望也就是模型M生成数据集D的概率)
- 这里可以理解为观察到的数据集是对先验分布的修正,修正后的后验分布会更符合模型实际情况(因为先验分布很可能是瞎猜的)
- 模型参数估计
- 模型参数为一个分布
- P(\theta|X)=\frac{P(X|\theta)P(\theta)}{\int_{\theta}P(X|\theta)P(\theta)d_{\theta}}
- 分子为归一化因子P(X)
- 必须计算,该值与参数的先验分布P(\theta),模型的类型定义(f(\theta))以及数据集X有关系,不计算P(X)的话后面计算得到的P(D|X)也将是一个不确定的值(不是概率值,是P(X)的函数)
- 概率计算
- P(D|X)=\int_{\theta}P(D,\theta|X)d_{\theta}=\int_{\theta}P(D|\theta,X)P(\theta|X)d_{\theta}=\int_{\theta}P(D|\theta)P(\theta|X)d_{\theta}
- 式子中P(D|\theta,X)=P(D|\theta),在通过X确定\theta后模型也就确定了,X不会继续影响D的生成
- 这里P(D|X)相当于P(D|\theta)关于后验分布P(\theta|X)的期望
- P(D|X)=\int_{\theta}P(D,\theta|X)d_{\theta}=\int_{\theta}P(D|\theta,X)P(\theta|X)d_{\theta}=\int_{\theta}P(D|\theta)P(\theta|X)d_{\theta}
- 优点
- 计算结果最精确,能根据参数的先验分布和数据集X的知识,准确计算模型生成数据集D的概率
- 缺点
- 计算P(X)=\int_{\theta}P(X|\theta)P(\theta)d_{\theta}比较耗时,不常用
关于P(X)是否需要计算?
- 无需计算的情况
- 判断两个数据集D_{1},D_{2}由同一个模型M生成的概率谁大,可以不用计算P(X)
- 因为对于同一模型M,P(X)相同大小,此时只需要比较P(D_{1},X)和P(D_{2},X)谁大即可知道P(D_{1}|X)和P(D_{2}|X)谁大
- 判断两个数据集D_{1},D_{2}由同一个模型M生成的概率谁大,可以不用计算P(X)
- 必须计算的情况
- 判断数据集D由两个模型M_{1},M_{2}生成的概率谁大,必须计算P(X)
- 因为对于不同模型M_{1},M_{2},P(X)相同不同,此时仅仅比较P(D_{1},X)和P(D_{2},X)谁大不能确定P(D_{1}|X)和P(D_{2}|X)谁大
- 利用模型M采样生成新数据(预测问题),必须计算P(X)
- 这时候每次采样时需要根据参数\theta的后验分布采样生成\theta_{i},然后再根据\theta_{i}确定的模型M_{i}采样生成观测数据,两次采样的过程都必须知道准确的分布(积分为1,也就是归一化后的),所以此时必须计算P(X)
- 判断数据集D由两个模型M_{1},M_{2}生成的概率谁大,必须计算P(X)
最大后验概率估计(MAP)
特点:假设模型M(参数\theta)有先验分布P(\theta),但不计算模型的后验分布P(\theta|X),只用最可能的\theta代替后验分布来确定模型M
模型参数估计
- 模型参数为一个确定的最优值
- \theta^{\star}=\arg\max_{\theta}P(\theta|X)=\arg\max_{\theta}P(X|\theta)P(\theta)
- 这里与贝叶斯估计作对比可以发现,MAP相当于把参数后验分布简化为最可能的那个参数值,用最可能的参数值代替参数后验分布,这样做对最终预测结果P(D|X)可能有点误差,但是不用计算复杂的积分P(X)=\int_{\theta}P(X|\theta)P(\theta)d_{\theta}
- 这里能够用最优值替代分布的前提是分布是很集中的(也就是要P(\theta|X)方差小,比如贝塔分布,狄利克雷分布和高斯分布等钟型分布的塔尖要尖),不然误差可能会比较大
- 注意后验分布P(\theta|X)最可能值的参数值是概率最大的地方 \theta^{\star}=\arg\max_{\theta}P(\theta|X),而不是参数\theta关于后验分布的期望E_{P(\theta|X)}[\theta]=\int_{\theta}\theta P(\theta|X)d_{\theta} (期望对应平均值,而不是最可能的值,特例:对称钟型分布的期望同时也是它最可能的值)
概率计算
- P(D|X)=P(D|\theta^{\star})
计算速度和精确度都介于MLE和BPE之间
总结
- 贝叶斯估计可以退化成最大后验概率估计
- 最大后验概率估计相当于是参数后验分布P(\theta|X)被最可能的参数值\theta^{\star}=\arg\max_{\theta}P(\theta|X)替代的贝叶斯估计
- 最大后验概率估计可以退化成极大似然估计
- 极大似然估计相当于是参数\theta的先验分布P(\theta)为均为分布的最大后验概率估计