【王木头】最大似然估计、最大后验估计

目录

一、最大似然估计(MLE)

二、最大后验估计(MAP)

三、MLE 和 MAP 的本质区别

四、当先验是均匀分布时,MLE 和 MAP 等价

五、总结


本文理论参考王木头的视频:

贝叶斯解释“L1和L2正则化”,本质上是最大后验估计。如何深入理解贝叶斯公式?_哔哩哔哩_bilibiliicon-default.png?t=O83Ahttps://www.bilibili.com/video/BV1fR4y177jP/?spm_id_from=333.999.0.0&vd_source=ecbdfcacb078d0e3626e61248866cdc7

一、最大似然估计(MLE)

先读文章,里面有最大似然估计的例子和分析。

【王木头·从感知机到神经网络】-CSDN博客icon-default.png?t=O83Ahttps://blog.csdn.net/m0_56997192/article/details/142876334?spm=1001.2014.3001.5502在最大似然估计中,有两个不严谨的地方:

1、在上文抛硬币的例子中,已有结果X,求某先验 \theta _{i} 的概率 P( \theta _{i}|X) ,在计算时我们把P( \theta _{i}|X) 假设为了 P(X|\theta _{i}) ,实际上P( \theta _{i}|X)\neq P(X|\theta _{i}),但我们最大似然确认为他们相等了,我们想要求的是已确定某个结果,哪个先验的情况下概率最大;但我们实际求的是某个先验时发生事件的概率的最大值,

即目的是求      max \ P( \theta _{i}|X)

但实际求的是   max \ P(X| \theta _{i})P(X| \theta _{i})被称为似然值或似然函数,记为L( \theta _{i}|X)

似然函数为:L_{X}(\theta )=L(\theta |X)=P(X|\theta )

最大似然估计为:\theta =arg\ \underset{\theta }{max}L(\theta |X)=arg\ \underset{\theta }{max}P(X|\theta )

想到这,我似乎想到了”似然“两个字的起名原因,我们要解决问题,就要求出P( \theta _{i}|X),但P( \theta _{i}|X)无法直接求出,所以我们选用了一个与 P( \theta _{i}|X)  “ 相似 ” 的 P(X|\theta _{i}),所以P(X|\theta _{i})叫做似然值,“ 相似 ”的对象是 P( \theta _{i}|X)

2、另一个王木头提到的是:

最大似然估计为:\theta =arg\ \underset{\theta }{max}L(\theta |X)=arg\ \underset{\theta }{max}P(X|\theta )中的 \theta 是永远无法确定的,但我们把概率最大的 \theta 跳出来人为规定他就是系统本来就有的属性,这个点我不理解,不过我感觉没什么用。

二、最大后验估计(MAP)

在最大似然估计中,有一个不严谨的地方是让 P( \theta _{i}|X)= P(X|\theta _{i}),实际上他们是不相等的,我们要求的是 P( \theta _{i}|X) 但最大似然估计中求的是最大的 P(X|\theta _{i}) ,最大后验估计解决了这个不严谨的问题。即由贝叶斯公式:

将不能计算的 P( \theta|X) 转化为   

                                                ​​​​​​​        ​​​​​​​        p(\theta | X) = \frac{p(X | \theta) p(\theta)}{p(X)}

其中:

  • p(X | \theta) 是似然函数;
  • p(\theta) 是先验分布;
  • pp(X) 是边际似然(可以视为常数,与优化无关)。

因此,MAP估计的目标可以等价于最大化 p(X | \theta) p(\theta)

        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        \hat{\theta}_{\text{MAP}} = \arg\max_{\theta} p(X|\theta) p(\theta)

在对数形式下,MAP可以写成:

        ​​​​​​​        ​​​​​​​        \hat{\theta}_{\text{MAP}} = \arg\max_{\theta} \left( \log p(X|\theta) + \log p(\theta) \right)

最大后验估计MAP的特点:

  • 考虑先验信息:MAP结合了观测数据和参数的先验知识。先验信息通过 p(\theta) 反映了我们对参数可能取值的先验信念。
  • 贝叶斯统计:MAP是贝叶斯估计方法的一种,将参数视为随机变量,通过观测数据更新我们对参数的信念。
  • 适用于小样本数据:MAP可以在样本较少的情况下引入先验信息,提供稳定的估计。

三、MLE 和 MAP 的本质区别

从本质上来说,MLE 和 MAP 的主要区别在于:

  • 先验的使用

    • MLE 只基于数据的似然函数进行参数估计,不考虑任何先验信息。
    • MAP 则通过先验分布 p(\theta) 将先验信息纳入估计中,因此 MAP 是贝叶斯估计的一种。
  • 适用场景的差异

    • MLE 在大样本情况下表现很好,因为在大样本极限下,观测数据对估计的影响远大于先验。
    • MAP 更适合小样本或需要引入先验信息的情况,因为先验可以在样本较少时提供稳定性,避免估计过于依赖有限的观测数据。
  • 计算的差异

    • MLE 的目标是最大化似然函数 p(X|\theta)
    • MAP 的目标是最大化后验概率 p(\theta|X),相当于最大化 p(X|\theta) p(\theta)

四、当先验是均匀分布时,MLE 和 MAP 等价

值得注意的是,如果先验分布 p(\theta) 是均匀的(即假设所有参数值的先验概率相同),则 p(\theta) 是一个常数,这样 MAP 的目标函数就变为:

        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        \hat{\theta}_{\text{MAP}} = \arg\max_{\theta} p(X|\theta) \times 常数

在这种情况下,最大化  (p(X|\theta) \times 常数)    等价于最大化 p(X|\theta),因此 MAP 和 MLE 会得到相同的结果。

这意味着,在没有先验或先验均匀的情况下,MAP 退化为 MLE。因此,MAP 可以被视为 MLE 的一种推广,它允许我们在估计中融入先验信息。

五、总结

本质区别在于:

  • 最大似然估计MLE  只依赖数据的似然,不使用先验,是一种频率派的估计方法
  • 最大后验估计MAP  同时考虑数据的似然和参数的先验信息,是一种贝叶斯派的估计方法

总结公式

  • 最大似然估计MLE\hat{\theta}_{\text{MLE}} = \arg\max_{\theta} p(X|\theta)
  • 最大后验估计MAP\hat{\theta}_{\text{MAP}} = \arg\max_{\theta} p(X|\theta) p(\theta)

在有先验信息的情况下,MAP 能够更好地利用先验信息对估计进行约束,而 MLE 则完全依赖观测数据。

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

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

相关文章

windows C#-异常处理

C# 程序员使用 try 块来对可能受异常影响的代码进行分区。 关联的 catch 块用于处理生成的任何异常。 finally 块包含无论 try 块中是否引发异常都会运行的代码,如发布 try 块中分配的资源。 try 块需要一个或多个关联的 catch 块或一个 finally 块,或两…

「QT」几何数据类 之 QPointF 浮点型点类

✨博客主页何曾参静谧的博客📌文章专栏「QT」QT5程序设计📚全部专栏「VS」Visual Studio「C/C」C/C程序设计「UG/NX」BlockUI集合「Win」Windows程序设计「DSA」数据结构与算法「UG/NX」NX二次开发「QT」QT5程序设计「File」数据文件格式「PK」Parasolid…

Python自动化运维DevSecOps与安全自动化

Python自动化运维DevSecOps与安全自动化 目录 🛡️ DevSecOps概念与实践🔍 自动化安全扫描与漏洞修复🧰 基于Python的安全审计与合规性检查🐳 云平台与容器安全:基于Python的容器扫描工具⚠️ 自定义安全检测与漏洞修…

数据结构与算法——Java实现 54.力扣1008题——前序遍历构造二叉搜索树

不要谩骂以前的自己 他当时一个人站在雾里也很迷茫 ​​​​​​​ ​​​​​​​ ​​​​​​​—— 24.11.6 1008. 前序遍历构造二叉搜索树 给定一个整数数组,它表示BST(即 二叉搜索树 )的 先序遍历 ,构造树并返回其根。 保证 对于给定…

【Leecode】Leecode刷题之路第46天之全排列

题目出处 46-全排列-题目出处 题目描述 个人解法 思路: todo代码示例:(Java) todo复杂度分析 todo官方解法 46-全排列-官方解法 预备知识 回溯法:一种通过探索所有可能的候选解来找出所有的解的算法。如果候选解…

Android 10.0 app发送广播sendBroadcast的流程分析一

1.概述 在10.0的app开发过程中,在发送广播的功能也是非常常用的功能,而在系统中广播是AMS负责处理的, ActivityManagerService负责广播分发过来。ActivityManagerService是如何得到广播并把它分发出去的呢? 这就是本文要介绍的广播发送过程了 2.app发送广播sendBroadcast…

势不可挡 创新引领 | 生信科技SOLIDWORKS 2025新品发布会·苏州站精彩回顾

2024年11月01日,由生信科技举办的SOLIDWORKS 2025新产品发布会在江苏苏州圆满落幕。现场邀请到制造业的专家学者们一同感受SOLIDWORKS 2025最新功能,探索制造业数字化转型之路。 在苏州站活动开场,达索系统专业客户事业部华东区渠道经理马腾飞…

CatLIP,加速2.7倍!采用分类损失的CLIP水准的预训练视觉编码器

CatLIP,加速2.7倍!采用分类损失的CLIP水准的预训练视觉编码器 FesianXu 20241018 at Wechat Search Team 前言 传统的CLIP采用对比学习的方式进行预训练,通常需要汇聚多张节点的多张设备的特征向量以进行打分矩阵的计算,训练速度…

linux笔记(selinux)

一、概述 定义SELinux(Security - Enhanced Linux)是一种基于 Linux 内核的强制访问控制(MAC)安全机制。它为 Linux 系统提供了更细粒度的安全策略,增强了系统的安全性。目的主要目的是限制进程对系统资源(…

GAT详解带例子

系列博客目录 文章目录 系列博客目录GAT 的核心概念GAT 工作原理举例:用 GAT 进行品牌与产品类型的共识推理1. 构建图结构2. 初始化节点特征3. 定义 GAT 模型4. 训练 GAT 模型5. 推理品牌-产品类型关系 示例代码解释 总结 图注意力网络(Graph Attention …

int socket(int domain,int type,int protocol);

本文内容产生自智谱清言 头文件&#xff1a; #include <sys/socket.h> int socket(int domain,int type,int protocol); 它是在C语言中使用的一个系统调用函数&#xff0c;用于创建一个新的套接字。套接字是支持TCP/IP协议的网络通信的端点&#xff0c;可以看作是不同…

江西省补贴性线上职业技能培训管理平台(刷课系统)

江西省补贴性线上职业技能培训管理平台(刷课系统) 目的是为了刷这个网课 此系统有两个版本一个是脚本运行&#xff0c;另外一个是可视化界面运行 可视化运行 技术栈:flask、vue3 原理: 通过分析网站接口&#xff0c;对某些接口加密的参数进行逆向破解&#xff0c;从而修改请求…

Scala 中 set 的实战应用 :图书管理系统

1. 创建书籍集合 首先&#xff0c;我们创建一个可变的书籍集合&#xff0c;用于存储图书馆中的书籍信息。在Scala中&#xff0c;mutable.Set可以用来创建一个可变的集合。 val books mutable.Set("朝花惜拾", "活着") 2. 添加书籍 我们可以使用操作符…

简单介绍一下mvvm mvc mvp以及区别、历史

MVC&#xff08;Model - View - Controller&#xff09; 因MVC架构的灵活性&#xff0c;架构图形式很多&#xff0c;仅供参考 历史&#xff1a; MVC 是最早出现的软件架构模式之一&#xff0c;其历史可以追溯到 20 世纪 70 年代&#xff0c;最初被用于 Smalltalk - 80 环境。…

线上问题排查的思路

线上问题排查的思路 线上问题的排查是一个很大的范围&#xff0c;其中包括服务器对应的硬件资源、软件资源、数据库使用情况等情况&#xff0c;下面将一一列举。一般情况下&#xff0c;系统出现事故&#xff0c;都会有事故报告&#xff0c;总结经验&#xff0c;避免下次出现类似…

“高级Java编程复习指南:深入理解并发编程、JVM优化与分布式系统架构“

我的个人主页 接下来我将方享四道由易到难的编程题&#xff0c;进入我们的JavaSE复习之旅。 1&#xff1a;大小写转换------题目链接 解题思路&#xff1a; 在ASCII码表中&#xff0c;⼤写字⺟A-Z的Ascii码值为65- 90&#xff0c;⼩写字⺟a-z的Ascii码值为97-122。每个字 ⺟…

结构体是否包含特定类型的成员变量

结构体是否包含特定类型的成员变量 在C中&#xff0c;可以使用模板元编程和类型特性&#xff08;type traits&#xff09;来判断一个结构体是否包含特定类型的成员变量。这通常通过std::is_member_object_pointer类型特性来实现&#xff0c;它可以用来检查给定的成员指针是否指…

Android基础知识整理一

1. Android基础知识&#xff08;第一行代码-第2版&#xff09; 1.1 Android开发特色 1.1.1 系统架构 Linux内核层&#xff0c;系统运行库层&#xff0c;应用框架层&#xff0c;应用层1.1.2 四大组件 活动Activity,服务Service&#xff0c;广播接收器Broadcast Receiver,内容…

shodan5(泷羽sec)

声明 学习视频来自B站UP主 泷羽sec,如涉及侵泷羽sec权马上删除文章。 笔记只是方便各位师傅学习知识,以下网站只涉及学习内容,其他的都与本人无关,切莫逾越法律红线,否则后果自负 这节课旨在扩大自己在网络安全方面的知识面&#xff0c;了解网络安全领域的见闻&#xff0c;了…

前端 Flex 布局语法详解

文章目录 Flex 布局语法详解一、引言二、Flex布局基础1、Flex布局简介2、基本概念 三、容器属性1、flex-direction2、justify-content3、align-items 四、项目属性1、order2、flex3、align-self 五、总结 Flex 布局语法详解 一、引言 在现代网页设计中&#xff0c;布局是一个…