前言:原创不易,转载请告知并注明出处!微信搜索【机器学习与自然语言处理】公众号,定期发布知识图谱,自然语言处理、机器学习等知识,添加微信号【17865190919】进讨论群,加好友时备注来自CSDN。

在开始接触最大似然估计和贝叶斯估计时,大家都会有个疑问:最大似然估计和贝叶斯估计二者很相似,到底有何区别?本文便来说说二者的不同之处以及求参模型的公式推导!

预热知识必知

如何求类条件概率密度:
我们知道贝叶斯决策中关键便在于知道后验概率,那么问题便集中在求解类条件概率密度!那么如何求呢?答案便是:将类条件概率密度进行参数化。

最大似然估计和贝叶斯估计参数估计:
鉴于类条件概率密度难求,我们将其进行参数化,这样我们便只需要对参数进行求解就行了,问题难度将大大降低!比如:我们假设类条件概率密度p(x|w)是一个多元正态分布,那么我们就可以把问题从估计完全未知的概率密度p(x|w)转化成估计参数:均值u、协方差ε

所以最大似然估计和贝叶斯估计都属于参数化估计!…当然像KNN估计、Parzen窗这些就是非参数话估计啦!但是参数化估计也自然有它的缺点,下面会说的!

简述二者最大的区别

若用两个字高度概括二者的最大区别那就是:参数

最大似然估计和贝叶斯估计最大区别便在于估计的参数不同,最大似然估计要估计的参数θ被当作是固定形式的一个未知变量,然后我们结合真实数据通过最大化似然函数来求解这个固定形式的未知变量!

贝叶斯估计则是将参数视为是有某种已知先验分布的随机变量,意思便是这个参数他不是一个固定的未知数,而是符合一定先验分布如:随机变量θ符合正态分布等!那么在贝叶斯估计中除了类条件概率密度p(x|w)符合一定的先验分布,参数θ也符合一定的先验分布。我们通过贝叶斯规则将参数的先验分布转化成后验分布进行求解!

同时在贝叶斯模型使用过程中,贝叶斯估计用的是后验概率,而最大似然估计直接使用的是类条件概率密度。

下面会详细分析最大似然估计和贝叶斯估计求解模型!

从其他方面谈谈二者的异同

在先验概率能保证问题有解的情况下,最大似然估计和贝叶斯估计在训练样本趋近于无穷时得到的结果是一样的!但是实际的模式识别问题中,训练样本总是有限的,我们应如何选择使用哪种模型呢?下面简单分析分析:

(1) 计算复杂度:就实现的复杂度来说,肯定是有限选择最大似然估计,最大似然估计中只需要使用到简单的微分运算即可,而在贝叶斯估计中则需要用到非常复杂的多重积分,不仅如此,贝叶斯估计相对来说也更难理解;

(2)准确性:当采用的样本数据很有限时,贝叶斯估计误差更小,毕竟在理论上,贝叶斯估计有很强的理论和算法基础。

参数化估计的缺点:
贝叶斯估计和最大似然估计都是属于参数化估计,那么二者存在着一个共同的缺点:参数化估计虽然使得类条件概率密度变得相对简单,但估计结果的准确性严重依赖于所假设的概率分布形式是否符合潜在的真实数据分布。在现实应用中,与做出能较好的接近潜在真实分布中的假设,往往需要一定程度上利用关于应用任务本身的经验知识,否则若仅凭“猜测”来假设概率分布形式,很可能产生误导性的结果!所以没有什么算法是十全十美的啦!

下面便推导一下最大似然估计和贝叶斯估计所使用的模型,最大似然简单些,贝叶斯估计就比较复杂了!

最大似然估计模型推导

假设样本集D={x1 、x2 、…、xn},假设样本之间都是相对独立的,注意这个假设很重要!于是便有:


所以假设似然函数为:


接下来我们求参的准则便是如名字一样最大化似然函数喽:


下面有一个优化,专业名词为拉布拉斯修正

简单说:就是防止先验概率为0,那么上面的L(θ|D)整个式子便都成0 了,那肯定是不行的啊,不能因为一个数据误差影响了整个数据的使用。同时那么多先验概率相乘,可能出现下溢出。所以引入拉普拉斯修正,也就是取对数ln,想必大家在数学中都用过这种方法的。

所以做出下面变换:

所以最大化的目标便是:

求解上面问题便不多说了,使用数学中的微分知识便可:


然后使得偏导数为0:

自此便求出了参数θ,然后便得到了类条件概率密度,便可进行判别等接下来的工作了。

下面讲解贝叶斯模型推导,略微复杂些,下伙伴们仔细看啊!

贝叶斯估计模型推导

先说一句,贝叶斯估计最终也是为了得出后验概率。所以贝叶斯最终所要的得到推导的是:


正如上面所说我们便是要参数的先验分布通过贝叶斯规则转化成后验概率,也就是上面这个公式,接下来我们一起看看如何推导出上面后验概率的公式通过参数的先验概率。

上式中有:


带入后验概率的式子可得:

大家注意啦!!!这里也有个重要的假设,那就是样本之间是相互独立的,同时类也是相互独立的。所以有如下假设:


同时由于类之间相互独立,所以我们不用区分类了,便有:

这里给大家顺一下思路,所以我们要求后验概率便是要求出P(x|D)便可:

下面说明P(x|D)的推导:

正如我们前面所说上式中p(x| θ),我们假设它是一个已知的满足一定先验分布的,我们现在便是要知道:

下面给出其推导过程:

对于上式中的P(D|θ),还记得上面说的很重要的样本之间是独立的吗,所以和最大似然函数类似有:


因此最终我们便可以求得P(x|D):

这样我们将P(x|D)待会后验概率的式子便可求出后验概率了,所以我们完成了上面的说法,便是将参数θ 服从的先验概率分布转化成了后验概率分布了。

本文参考资料:
【1】Pattern Classification Second Edition
【2】Machine Learining in Action
【3】机器学习 著周志华

贝叶斯估计和极大似然估计到底有何区别相关推荐

  1. 机器学习算法(1)——贝叶斯估计与极大似然估计与EM算法之间的联系

    极大似然估计 在讲解极大似然估计前,需要先介绍贝叶斯分类: 贝叶斯决策: 首先来看贝叶斯分类,经典的贝叶斯公式: 其中:p(w)为先验概率,表示每种类别分布的概率:是条件概率,表示在某种类别前提下,某 ...

  2. 极大似然估计 —— Maximum Likelihood Estimation

    1 引入 机器学习中,经常会遇到极大似然估计 (Maximum Likelihood Estimation, MLE) 这个名词,它的含义是什么?它能够解决什么问题?我们该如何理解并使用它?本篇就对此 ...

  3. 极大似然估计的直观含义

    下周组会要讲朴素贝叶斯,朴素贝叶斯之前西瓜书上先是介绍了最大似然估计,但是我完全不知道那个理论的东西的到底能干嘛,然后找了一些资料看了下,最主要的是B站的一个视频,连接放在最后面.这个视频比较清楚的解 ...

  4. 极大似然估计和贝叶斯估计

    极大似然估计和贝叶斯估计 在掷硬币实验中估计出现正面向上的概率为θ\thetaθ,通过一系列的实验就可以得到n个观测结果,把每个观测结果都用一个随机变量xix_ixi​进行表示,如果抛掷的硬币正面向上 ...

  5. 极大似然估计_一文读懂矩估计,极大似然估计和贝叶斯估计

    概率论和数理统计是机器学习重要的数学基础. 概率论的核心是已知分布求概率,数理统计则是已知样本估整体. 概率论和数理统计是互逆的过程.概率论可以看成是由因推果,数理统计则是由果溯因. 数理统计最常见的 ...

  6. 一文读懂矩估计、极大似然估计和贝叶斯估计

    概率论和数理统计是机器学习重要的数学基础. 概率论的核心是已知分布求概率,数理统计则是已知样本估整体. 概率论和数理统计是互逆的过程.概率论可以看成是由因推果,数理统计则是由果溯因. 数理统计最常见的 ...

  7. 参数估计——极大似然估计与贝叶斯估计

    极大似然估计与贝叶斯估计的理解 1 参数估计 2 极大似然估计(MLE) 3 贝叶斯估计 4 极大验后估计(MAP) 参考 1 参数估计 参数估计(Parameter Estimation)是根据从总 ...

  8. 机器学习: 简单讲极大似然估计和贝叶斯估计、最大后验估计

    一.前言 我在概率论:参数估计里面提到了极大似然估计,不熟悉的可以看一下,本文重点介绍后两者估计方法. 在这里两种估计方法估计的是什么?我们使用一个较为泛化的问题表示: 考虑这样一个问题:总体X的概率 ...

  9. 浅议极大似然估计(MLE)背后的思想原理

    1. 概率思想与归纳思想 0x1:归纳推理思想 所谓归纳推理思想,即是由某类事物的部分对象具有某些特征,推出该类事物的全部对象都具有这些特征的推理.抽象地来说,由个别事实概括出一般结论的推理称为归纳推 ...

最新文章

  1. linux学习-awk工具
  2. android studio butterknife自动生成,Android Studio使用ButterKnife和Zelezny的方法
  3. Initiate Field Service Jobs
  4. java白盒测试面试题_面试之JAVA基础Junit了解
  5. 苹果 iPhone/iPad 第三方键盘为何没语音听写功能?真相了
  6. mysql_use_result与mysql_store_result异同点
  7. 盗版windows xp摇身一变成正版(不用算号器)
  8. 【气象检测项目】BME280
  9. 欧洲计算机专业排名,最新!2021年QS世界大学学科排名发布!欧洲各国各学科专业排名表现抢眼!...
  10. 6个好用免费的LiDAR数据处理软件【2021最新】
  11. linux卸载致远oa,致远oa(seeyon)文件上传漏洞重现及分析
  12. Python 代码实现ArcGis 标注Label转注记Annotation
  13. 锚点的使用(链接到网页中某个位置)
  14. 使用Jsch执行Shell脚本
  15. Codeforces 780G Andryusha and Nervous Barriers
  16. 如何添加共享计算机用户,如何设置电脑联机共享
  17. 基于STM32风速风向检测仿真
  18. Goweb开发之Beego框架实战:第八节 写文章功能
  19. html mailto 不起作用,HTML Mailto 使用手记
  20. 一个并不“艰难”的决定—一个程序员的成长史(3)

热门文章

  1. 51单片机c语言延时计算软件,51单片机精确延时程序大集合+初值计算工具
  2. Java实现打印日历
  3. a为实数java_Java 实数相加
  4. Java 的垃圾回收
  5. 带约束的多目标优化进化算法综述
  6. 忘记Hololens开机密码,重置系统
  7. 【考研政治】2021肖八整理(时政部分)
  8. [深入浅出C语言]理解取整、取余和取模
  9. 用3D可视化技术实现机房应用资产管理-3D机房资产可视化管理系统
  10. 嵌入式C语言之零碎知识