极大似然估计(MLE)和贝叶斯估计(MAP)

2024-03-08 13:18

本文主要是介绍极大似然估计(MLE)和贝叶斯估计(MAP),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

极大似然估计(MLE)和贝叶斯估计(MAP)

标签(空格分隔):机器学习笔记


极大似然估计与贝叶斯估计是统计中两种对模型的参数确定的方法,两种参数估计方法使用不同的思想。
前者来自于频率派,认为参数是固定的,我们要做的事情就是根据已经掌握的数据来估计这个参数(上帝眼中参数 θ 早已经固定了,带入 xi 样本来求 θ ,根据样本来求 θ ,最大的值就是最大的估计,就是我们认为固定的值) X=(x1,x2...xn) 样本集
p(X|θ)=ni=1(xi|θ)
一般取对数,求偏导数得出 θ
MLE的初衷就是选择,使得该模型
产生的这些样本数据概率最大
这里写图片描述
MLE的初衷就是选择 θ ,使得该模型产生的这些样本数据概率最大

而后者属于贝叶斯派,认为参数也是服从某种概率分布的,已有的数据只是在这种参数的分布下产生的。所以,直观理解上,极大似然估计就是假设一个参数 θ,然后根据数据来求出这个θ. 而贝叶斯估计的难点在于p(θ) 需要人为设定,之后再考虑结合MAP (maximum a posterior)方法来求一个具体的θ:
θ̂ =argmaxθp(θ|X)=argmaxθp(θ)i=1np(xi|θ)
同样取对数:
θ̂ =argmaxθlnp(θ|X)=argmaxθ[lnp(θ)+i=1nlnp(xi|θ)]
朴素贝叶斯就是MAP的一个应用
由于朴素贝叶斯是一个生产模型,用来做分类器使用。
假设总共的类别是 {Ck} 类,那么假设一封邮件判断它是不是垃圾邮件, Ck={0,1}
0代表正常邮件,1代表垃圾邮件。
假设一封邮件 X={x(1),x(2),x(3)....x(n)}
先验概率:
朴素贝叶斯假设条件独立这样就可以概率相乘:
P(X=x|Y=ck)=nj=1P(X=x(1),X=x(2)...X=x(n)|Y=ck)
= nj=1P(X=x(j)|Y=Ck)

根据贝叶斯公式:
P(B|A)=P(A|B)P(B)P(A)

邮件分类:
这封邮件是 ck 类的概率
P(Y=Ck|X=x)=P(Y=Ck)P(X=xi|Y=Ck)P(X)=P(Y=Ck)P(X=xi|Y=Ck)kP(Y=Ck)P(X=xi|Y=Ck)
P(X)X
y1是指正常邮件的概率;要y2是指垃圾邮件的概率
y1=P(Y=0)P(X=xi|Y=0)P(Y=0)P(X=xi|Y=0)+P(Y=1)P(X=xi|Y=1)

y1=P(Y=1)P(X=xi|Y=1)P(Y=0)P(X=xi|Y=0)+P(Y=1)P(X=xi|Y=1)
分母是相同的 所以只需要比较分子,哪个大分到哪一类。

P(Y=0)=I(y=0)N 正常邮件占总共邮件N的比值。
P(X=x|Y=0)=nj=1P(X=x(j)|Y=0)=nj=1I(X=x(j),y=0)I(Y=0)
上面这俩式其实式最大似然估计的结果。
所以朴素贝叶斯是MAP和极大似然估计的结合(类别( θ )参数估计是MAP,最大似然估计出 p(Y=ck),p(X=xi|Y=ck) )。
所以极大似然估计与贝叶斯估计最大的不同就在于是否考虑了先验,而两者适用范围也变成了:极大似然估计适用于数据大量,估计的参数能够较好的反映实际情况;而贝叶斯估计则在数据量较少或者比较稀疏的情况下,考虑先验来提升准确率。

这篇关于极大似然估计(MLE)和贝叶斯估计(MAP)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/787195

相关文章

SpringBoot如何通过Map实现策略模式

《SpringBoot如何通过Map实现策略模式》策略模式是一种行为设计模式,它允许在运行时选择算法的行为,在Spring框架中,我们可以利用@Resource注解和Map集合来优雅地实现策略模式,这... 目录前言底层机制解析Spring的集合类型自动装配@Resource注解的行为实现原理使用直接使用M

C++ 各种map特点对比分析

《C++各种map特点对比分析》文章比较了C++中不同类型的map(如std::map,std::unordered_map,std::multimap,std::unordered_multima... 目录特点比较C++ 示例代码 ​​​​​​代码解释特点比较1. std::map底层实现:基于红黑

JavaScript中的Map用法完全指南

《JavaScript中的Map用法完全指南》:本文主要介绍JavaScript中Map用法的相关资料,通过实例讲解了Map的创建、常用方法和迭代方式,还探讨了Map与对象的区别,并通过一个例子展... 目录引言1. 创建 Map2. Map 和对象的对比3. Map 的常用方法3.1 set(key, v

Golang中map缩容的实现

《Golang中map缩容的实现》本文主要介绍了Go语言中map的扩缩容机制,包括grow和hashGrow方法的处理,具有一定的参考价值,感兴趣的可以了解一下... 目录基本分析带来的隐患为什么不支持缩容基本分析在 Go 底层源码 src/runtime/map.go 中,扩缩容的处理方法是 grow

Go语言利用泛型封装常见的Map操作

《Go语言利用泛型封装常见的Map操作》Go语言在1.18版本中引入了泛型,这是Go语言发展的一个重要里程碑,它极大地增强了语言的表达能力和灵活性,本文将通过泛型实现封装常见的Map操作,感... 目录什么是泛型泛型解决了什么问题Go泛型基于泛型的常见Map操作代码合集总结什么是泛型泛型是一种编程范式,允

JSON字符串转成java的Map对象详细步骤

《JSON字符串转成java的Map对象详细步骤》:本文主要介绍如何将JSON字符串转换为Java对象的步骤,包括定义Element类、使用Jackson库解析JSON和添加依赖,文中通过代码介绍... 目录步骤 1: 定义 Element 类步骤 2: 使用 Jackson 库解析 jsON步骤 3: 添

Java中List转Map的几种具体实现方式和特点

《Java中List转Map的几种具体实现方式和特点》:本文主要介绍几种常用的List转Map的方式,包括使用for循环遍历、Java8StreamAPI、ApacheCommonsCollect... 目录前言1、使用for循环遍历:2、Java8 Stream API:3、Apache Commons

SWAP作物生长模型安装教程、数据制备、敏感性分析、气候变化影响、R模型敏感性分析与贝叶斯优化、Fortran源代码分析、气候数据降尺度与变化影响分析

查看原文>>>全流程SWAP农业模型数据制备、敏感性分析及气候变化影响实践技术应用 SWAP模型是由荷兰瓦赫宁根大学开发的先进农作物模型,它综合考虑了土壤-水分-大气以及植被间的相互作用;是一种描述作物生长过程的一种机理性作物生长模型。它不但运用Richard方程,使其能够精确的模拟土壤中水分的运动,而且耦合了WOFOST作物模型使作物的生长描述更为科学。 本文让更多的科研人员和农业工作者

Collection List Set Map的区别和联系

Collection List Set Map的区别和联系 这些都代表了Java中的集合,这里主要从其元素是否有序,是否可重复来进行区别记忆,以便恰当地使用,当然还存在同步方面的差异,见上一篇相关文章。 有序否 允许元素重复否 Collection 否 是 List 是 是 Set AbstractSet 否

数据集 3DPW-开源户外三维人体建模-姿态估计-人体关键点-人体mesh建模 >> DataBall

3DPW 3DPW-开源户外三维人体建模数据集-姿态估计-人体关键点-人体mesh建模 开源户外三维人体数据集 @inproceedings{vonMarcard2018, title = {Recovering Accurate 3D Human Pose in The Wild Using IMUs and a Moving Camera}, author = {von Marc