机器学习:最大似然估计与最大后验概率估计

在机器学习领域,概率估计是经常用到的一种模型,而概率估计中,我们经常会看到两种估计模型,一种是最大似然估计,即 Maximum likelihood, 另外一种就是最大后验概率估计,即 Maximum posterior , 两种模型可以由贝叶斯定理演化而来。

在介绍这两种模型之前,我们先来看一下贝叶斯定理:

p(w|D)=p(D|w)p(w)p(D)

这里,D 表示观察到的数据,而 w 表示我们要求的变量或者参数。我们来看看贝叶斯定理中,每一项所表示的含义:
p(D) 表示数据的概率分布
p(w) 表示参数w 的概率分布,一般称为先验概率分布,因为我们本意是要求 w 的,所以理论上来说,我们无法事先确切地知道 w 的概率分布,但是我们可以给出一个大概的经验估计,所以称为先验分布 prior distribution。
p(D|w) 表示似然函数 likelihood function。
p(w|D) 表示后验概率分布 posterior distribution。

p(D|w) 表示了一种 “似然率”, 对于不同的参数w, 我们观测到数据D 的概率是不同的, 最大似然估计, 就是找到 w, 使得我们观测到数据D 的概率最大。所以最大似然估计可以表示为:

maxwp(D|w)

p(w|D) 表示后验概率,如果给定了观测数据, 我们可以推测参数w 的概率分布, 根据贝叶斯定理,我们可以看出:

posteriorlikelihood×prior

即:

p(w|D)p(D|w)×p(w)

而贝叶斯定理中的分母 p(D) 是一个归一化变量, 可以看出

p(D)=p(D|w)p(w)dw

换句话说,后验概率与似然函数和先验概率之积是成比例的。

我们可以看到,无论是最大似然估计还是最大后验概率估计,似然函数都发挥着重要作用。但这两种估计,反应了两种观点。最大似然估计是古典统计学派的观点,古典统计学派认为,参数w 是固定的,可以通过观测到的数据直接求出来。而最大后验概率估计是贝叶斯学派的观点,贝叶斯学派认为,只有数据是可见的,参数w 也是不固定的,而是满足一定概率分布 p(w|D) 的。

这两种模型,孰优孰劣,一直以来都是莫衷一是,未有定论。最大似然估计被人诟病之处是估计存在bias,在某些极端情况下,是违反经验与直觉的。最大后验概率估计可以有效地减弱这种bias,但是最大后验概率需要引入先验概率分布 p(w), 所以最大后验概率估计的效果,也取决于先验概率的设定,一个糟糕的先验概率将会导致一个糟糕的后验概率估计。

>
Andrew Ng, “Machine Learning”, Stanford University.
C.M.Bishop, “Pattern Recognition and Machine Learning”.

转载于:https://www.cnblogs.com/mtcnn/p/9412495.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/457874.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ubuntu14.04安装git

参考教程:git介绍:安装,使用,创建分支 安装的方法有两种,一种直接是通过ubuntu的APT安装,这种方法最简便,缺点是版本可能不是最新的。所有还有另一种方法是下载源码进行安装,这种能…

微软是如何戏耍程序员们的

2019独角兽企业重金招聘Python工程师标准>>> 别用微软的东西。商业目的性太强,千万别被微软牵着鼻子走,血淋淋的教训。微软推出的垃圾多了去了。它什么都想做,很多都没做好: MFC:Win31时代出生,…

3d立体相册特效html网页代码_新闻类网页正文通用抽取器

项目起源开发这个项目,源自于我在知网发现了一篇关于自动化抽取新闻类网站正文的算法论文——《基于文本及符号密度的网页正文提取方法》这篇论文中描述的算法看起来简洁清晰,并且符合逻辑。但由于论文中只讲了算法原理,并没有具体的语言实现…

ubuntu14.04安装 R16 Tina Linux SDK

第一步:由于是14.04系统所以这样$sudo -i $cd /etc/apt/sources.list.d $echo "deb http://old-releases.ubuntu.com/ubuntu/ raring main restricted universe multiverse" > ia32-libs-raring.list $apt-get update $apt-get install ia32-libs $r…

分答

用户在分答上可以自我介绍或描述擅长的领域,设置付费问答的价格,其他用户感兴趣就可以付费向其提问。分答的收入分配机制增加了信息的价值,分答中信息接收者被区分成了两种身份。首先提问的人是一种付费悬赏模式,当回答完毕内容沉…

字节数组转换为图片_每日一课 | Python 3 TypeError:无法将“字节”对象隐式转换为str...

将Python 2套接字示例转换为Python 3whois.py import sysimport sockets socket.socket(socket.AF_INET, socket.SOCK_STREAM)s.connect(("whois.arin.net", 43))s.send((sys.argv[1] "\r\n").encode())response ""while True: data s.re…

php版redis插件,SSDB数据库,增强型的Redis管理api实例

php版redis插件,SSDB数据库,增强型的Redis管理api实例 SSDB是一套基于LevelDB存储引擎的非关系型数据库(NOSQL),可用于取代Redis,更适合海量数据的存储。另外,rocksdb是FB在LevelDB的二次开发版本,因此也存…

加速度计和陀螺仪数据融合

本帖翻译自 IMU(加速度计和陀螺仪设备)在嵌入式应用中使用的指南。这篇文章主要介绍加速度计和陀螺仪的数学模型和基本算法,以及如何融合这两者,侧重算法、思想的讨论介绍本指南旨在向兴趣者介绍惯性MEMS(微机电系统&a…

循环嵌套练习题

//BOSS://让用户输入一个奇数,打印菱形,最长的行内容个数为用户输入的个数,并且由英文字母拼接而成//比如用户输入了7// A// ABA// ABCBA// ABCDCBA// ABCBA// ABA// A//1、接收并判断用户输入的是不是数字 try{#region 解法一…

python leetcode_leetcode 介绍和 python 数据结构与算法学习资料

for (刚入门的编程)的高中 or 大学生leetcode 介绍leetcode 可以说是 cs 最核心的一门“课程”了,虽然不是大学开设的,但基本上每一个现代的高水平的程序员都修过这门“课程”(或者类似的课程,比如数据结构…

平衡小车卡尔曼滤波算法

最近研究STM32的自平衡小车,发现有两座必过的大山,一为卡尔曼滤波,二为PID算法。 网上看了很多关于卡尔曼滤波的代码,感觉写得真不咋地。一怒之下,自己重写,不废话,贴代码 [pre lang"C&quo…

IOS 为UILabel添加长按复制功能

IOS 为UILabel添加长按复制功能 在iOS中下面三个控件,自身就有复制-粘贴的功能: 1、UITextView 2、UITextField 3、UIWebView UIKit framework提供了几个类和协议方便我们在自己的应用程序中实现剪贴板的功能。 1、UIPasteboard:我们可以向其…

navicat 的查询功能

navicat的查询的位置在&#xff1a; 在编辑器界面写代码&#xff0c;代码完成后点左上角的运行。 代码&#xff1a; create&#xff08;创建&#xff09; table&#xff08;一个表&#xff09; <xxx>尖括号内的内容必填——我要创建并查询一个名叫做xxx的表 &#xff08…

c++ sleep函数_Linux 多线程应用中如何编写安全的信号处理函数

关于代码的可重入性&#xff0c;设计开发人员一般只考虑到线程安全&#xff0c;异步信号处理函数的安全却往往被忽略。本文首先介绍如何编写安全的异步信号处理函数&#xff1b;然后举例说明在多线程应用中如何构建模型让异步信号在指定的线程中以同步的方式处理。Linux 多线程…

css特殊情况

如果一个父级div和一个子级div&#xff0c;要给父级div加&#xff08;opacity&#xff09;透明度那子级div也会继承父级元素的透明度。那给父级元素加透明度就不用opacity加透明度&#xff0c;使用background:rgba(120,120,120,0.7);实现效果&#xff0c;r,g,b分别代表红&#…

CoreAnimation (CALayer 动画)

CoreAnimation基本介绍&#xff1a; CoreAnimation动画位于iOS框架的Media层CoreAnimation动画实现需要添加QuartzCore.FrameworkCoreAnimation基本上是LayerAnimationCoreAnimation分类&#xff1a; CoreAnimation作用&#xff1a; CoreAnimation CALayer基本介绍 CALayer的常…

汇编为什么分段执行总是执行不了_iOS汇编教程(六)CPU 指令重排与内存屏障...

系列文章iOS 汇编入门教程(一)ARM64 汇编基础iOS 汇编入门教程(二)在 Xcode 工程中嵌入汇编代码iOS 汇编入门教程(三)汇编中的 Section 与数据存取iOS 汇编教程(四)基于 LLDB 动态调试快速分析系统函数的实现iOS 汇编教程(五)Objc Block 的内存布局和汇编表示前言具有 ARM 体系…

GD32 使用stm32 固件库

1、 系统 1) 晶振起振区别 描述&#xff1a;启动时间&#xff0c;GD32 与STM32 启动时间都是2ms&#xff0c;实际上GD 的执行效率快&#xff0c;所以ST 的HSE_STARTUP_TIMEOUT ((uint16_t)0x0500)是2ms&#xff0c;但是这个宏定义值在GD 上时间就更加短了&#xff0c;所以要加大…

干将莫邪

干将莫邪也为凡铁铸成&#xff0c;只是善加锻造、融入心神&#xff0c;而成上古神兵。宝剑从来都是双刃&#xff0c;正邪之道&#xff0c;存乎一心。

js反混淆还原工具_SATURN反混淆框架

本文为看雪论坛精华文章看雪论坛作者ID&#xff1a;梦野间摘要&#xff1a;近几年&#xff0c;软件的混淆强度一直在不断提升。基于编译器的混淆已经成为业界事实上的标准&#xff0c;最近的一些论文也表明软件的保护方式使用的是编译器级别的混淆。在这篇文章中&#xff0c;我…