极大似然估计(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

相关文章

AI学习指南机器学习篇-朴素贝叶斯处理连续特征和离散特征

AI学习指南机器学习篇-朴素贝叶斯处理连续特征和离散特征 在机器学习领域,朴素贝叶斯是一种常用的分类算法,它的简单性和高效性使得它在实际应用中得到了广泛的应用。然而,在使用朴素贝叶斯算法进行分类时,我们通常会面临一个重要的问题,就是如何处理连续特征和离散特征。因为朴素贝叶斯算法基于特征的条件独立性假设,所以对于不同类型的特征,我们需要采取不同的处理方式。 在本篇博客中,我们将探讨如何有效地处理

Java compiler level does not match the version of the installed Java project facet. map解决方法

右键项目“Properties”,在弹出的“Properties”窗口左侧,单击“Project Facets”,打开“Project Facets”页面。 在页面中的“Java”下拉列表中,选择相应版本就OK了。

算法13—Bit Map算法简介

1. Bit Map算法简介          来自于《编程珠玑》。所谓的Bit-map就是用一个bit位来标记某个元素对应的Value, 而Key即是该元素。由于采用了Bit为单位来存储数据,因此在存储空间方面,可以大大节省。 2、 Bit Map的基本思想         我们先来看一个具体的例子,假设我们要对0-7内的5个元素(4,7,2,5,3)排

【论文精读】分类扩散模型:重振密度比估计(Revitalizing Density Ratio Estimation)

文章目录 一、文章概览(一)问题的提出(二)文章工作 二、理论背景(一)密度比估计DRE(二)去噪扩散模型 三、方法(一)推导分类和去噪之间的关系(二)组合训练方法(三)一步精确的似然计算 四、实验(一)使用两种损失对于实现最佳分类器的重要性(二)去噪结果、图像质量和负对数似然 论文:Classification Diffusion Models: Revitalizing

基于协方差信息的Massive MIMO信道估计算法性能研究

1. 引言 随着移动互联网不断发展,人们对通信的速率和可靠性的要求越来越高[1]。目前第四代移动通信系统已经逐渐商用,研究人员开始着手研究下一代移动通信系统相关技术[2][3]。在下一代移动通信系统中要求下行速率达到10Gbps,这就要求我们使用更先进的技术和更宽的系统带宽。MIMO技术由于可以在不增加系统带宽和功率的前提下,成倍的提升系统容量和可靠性,已经广泛应用于各种无线通信系统中,但仅采用

玩转Web之Json(四)---json与(Object/List/Map)的相互转化

在做web应用时,经常需要将json转化成Object/list/map或者将Object/List/map转化成json,通过简单封装可以在写代码是减轻很多负担。本文将给出json转化的一系列方法。 闲话不 多说,直接上代码: 先是Object /List /Map转化为Json /* 功能 :将一个对象转成json数组* 参数 :object对象* retu

【C++11 之新增容器 array、foward_list、tuple、unordered_(multi)map/set】应知应会

C++11 标准中新增了多个容器,这些容器为 C++ 程序员提供了更多的选择,以满足不同的编程需求。以下是对这些新容器的介绍和使用案例: std::array 介绍: std::array 是一个固定大小的数组容器,它在栈上分配内存,并提供了类似于标准库容器的接口。它提供了更好的类型安全性和范围检查,同时保持了与原生数组相似的性能。std::array 的大小必须在编译时确定,并且不能更改。

双层嵌套json字符串(即json对象内嵌json数组)解析为Map

无意中发现了一个巨牛的人工智能教程,忍不住分享一下给大家。教程不仅是零基础,通俗易懂,而且非常风趣幽默,像看小说一样!觉得太牛了,所以分享给大家。点这里可以跳转到教程。 之前我层写过一篇文章,介绍了json与map的相互转化,但当时只涉及到单一的json对象或json数组,对json对象内嵌套这json数组的json字符串无法处理,这篇文章主要解决这个问题。 之前的那篇文章址:http://blo

基于CDMA的多用户水下无线光通信(2)——系统模型和基于子空间的延时估计

本文首先介绍了基于CDMA的多用户UOWC系统模型,并给出了多用户收发信号的数学模型。然后介绍基于子空间的延时估计算法,该算法只需要已知所有用户的扩频码,然后根据扩频波形的循环移位在观测空间的信号子空间上的投影进行延时估计。 1、基于CDMA的多用户UOWC系统模型   首先介绍基于CDMA的多用户UOWC系统模型,系统框图如下图所示。   该系统包括发送端、UOWC信道和接收端。该系统

C++ 关联容器使用 map, unordered_map, set, unordered_set, multiset, unordered_multiset

关联容器是否有序是否关联值是否可重复访问时间set是否否对数map是是否对数multiset是否是对数multimap是是是对数unordered_map否是否常数unordered_set否否否常数unordered_multiset否否是常数unordered_multimap否是是常数 #include <map>#include <set>#i