当前位置: 首页 > news >正文

【机器学习笔记】贝叶斯学习

贝叶斯学习

文章目录

  • 贝叶斯学习
    • 1 贝叶斯学习背景
    • 2 贝叶斯定理
    • 3 最大后验假设MAP(Max A Posterior)
    • 4 极大似然假设ML(Maximum Likelihood)
    • 5 朴素贝叶斯NB
    • 6 最小描述长度MDL

1 贝叶斯学习背景

试图发现两件事情的关系(因果关系,先决条件&结论)。

执果索因:肺炎→肺癌?不好确定,换成确诊肺癌得肺炎的概率

2 贝叶斯定理

贝叶斯定理是一种用先验慨率来推断后验慨率的公式,它可以表示为:
P ( h ∣ D ) = P ( D ∣ h ) P ( h ) P ( D ) P(h|D) = \frac{P(D|h)P(h)}{P(D)} P(hD)=P(D)P(Dh)P(h)

  • P ( h ∣ D ) P(h|D) P(hD)后验概率,表示在已知事件 D 发生的情况下,事件 h 发生的概率;

  • P ( h ) P(h) P(h)​ 是 h 的先验概率,表示在没有任何其他信息的情况下,事件 h 发生的概率;

    h h h 代表假设,应互相排斥;且假设空间 H H H 完全详尽,即 ∑ P ( h i ) = 1 \sum P(h_i)=1 P(hi)=1

  • P ( D ) P(D) P(D)​​ 是证据概率,表示在没有任何其他信息的情况下,事件 D 发生的概率;

    D D D 代表数据的一个采样集合,需要 h h h 独立

  • P ( D ∣ h ) P(D|h) P(Dh)​ 是似然概率,表示在已知事件 h 发生的情况下,事件 D 发生的概率;

    在实践上往往取 l o g log log ,是可以得到的概率。

举例: h h h 代表得了癌症, D D D 为测试结果为阳性。

P ( h ∣ D ) P(h|D) P(hD):已知测试结果为阳性,得癌症的概率。

P ( D ∣ h ) P(D|h) P(Dh)​:已知得了癌症,测试结果为阳性的概率。

我们已知:

  • 正确的阳性样本: 98% (患有该癌症, 测试结果为 +)
  • 正确的阴性样本: 97% (未患该癌症, 测试结果为 -)
  • 在整个人群中,只有0.008 的人患这种癌症

如果一个人测试结果阳性,多大概率得癌症?
∵ P ( + ∣ cancer ) = 0.98 ; P ( cancer ) = 0.008 ; P ( − ∣ ¬ cancer ) = 0.97 ; ∴ P ( + ∣ ¬ cancer ) = 0.03 ; P ( ¬ cancer ) = 0.992 P ( + ) = ∑ i P ( + ∣ h i ) P ( h i ) = P ( + ∣ cancer ) P ( cancer ) + P ( + ∣ ¬ cancer ) P ( ¬ cancer ) P ( cancer ∣ + ) = P ( + ∣ cancer ) P ( cancer ) P ( + ) = 0.98 × 0.008 0.98 × 0.008 + 0.03 × 0.992 = 0.21 \because P(+|\text{cancer})=0.98;P(\text{cancer})=0.008;P(-|\neg \text{cancer})=0.97; \\\therefore P(+|\neg \text{cancer})=0.03;P(\neg \text{cancer})=0.992 \\P(+)=\sum_iP(+|h_i)P(h_i)=P(+|\text{cancer})P(\text{cancer})+P(+|\neg \text{cancer})P(\neg \text{cancer}) \\P(\text{cancer}|+)=\frac{P(+|\text{cancer})P(\text{cancer})}{P(+)}=\frac{0.98×0.008}{0.98×0.008+0.03×0.992}=0.21 P(+cancer)=0.98;P(cancer)=0.008;P(∣¬cancer)=0.97;P(+∣¬cancer)=0.03;P(¬cancer)=0.992P(+)=iP(+hi)P(hi)=P(+cancer)P(cancer)+P(+∣¬cancer)P(¬cancer)P(cancer+)=P(+)P(+cancer)P(cancer)=0.98×0.008+0.03×0.9920.98×0.008=0.21

3 最大后验假设MAP(Max A Posterior)

求在给定训练集上最有可能的假设
h MAP = argmax h ∈ H P ( D ∣ h ) P ( h ) h_{\text{MAP}}=\underset{h∈H}{\text{argmax}}\ P(D|h)P(h) hMAP=hHargmax P(Dh)P(h)
argmax h ∈ H \underset{h∈H}{\text{argmax}} hHargmax 指令后续公式取值最大的参数 h h h

最大后验概率的思想是,在有一些关于参数的先验知识的情况下,根据观测数据来修正参数的概率分布,并选择使后验概率最大的参数值作为估计值。

4 极大似然假设ML(Maximum Likelihood)

如果我们完全不知道假设的概率分布,或者我们知道所有的假设发生的概率相同,那么MAP 等价于 极大似然假设 h M L h_{ML} hML (Maximum Likelihood),其公式为
h M L = arg ⁡ max ⁡ h i ∈ H P ( D ∣ H i ) h_{ML}=\mathop{\arg\max}_{h_i∈H}\ P(D|H_i) hML=argmaxhiH P(DHi)

  • 最小二乘LSE

    最小二乘法(Least Squares Method),又称最小平方法,是一种数学优化方法,它通过最小化误差的平方和来找到数据的最佳函数匹配。假设训练数据为 < x i , d i > <x_i,d_i> <xi,di>
    d i = f ( x i ) + e i d_i=f(x_i)+e_i di=f(xi)+ei
    d i d_i di:独立的样本; f ( x ) f(x) f(x):没有噪声的目标函数值; e i e_i ei​:噪声,独立随机变量,符合正态分布。

  • 极大似然和最小二乘法的关系
    h M L = argmax h ∈ H P ( D ∣ h ) P ( h ) = argmax h ∈ H ∏ i = 1 m p ( d i ∣ h ) = argmax h ∈ H ∏ i = 1 m 1 2 π σ 2 e − 1 2 ( d i − h ( x i ) σ ) 2 (正态分布) = argmax h ∈ H ∑ i = 1 m ln ⁡ 1 2 π σ 2 − 1 2 ( d i − h ( x i ) σ ) 2 (取ln,单调性) = argmax h ∈ H ∑ i = 1 m ( d i − h ( x i ) ) 2 (最小二乘) \begin{align} h_{ML} & = \underset{h∈H}{\text{argmax}}\ P(D|h)P(h) \\ & = \underset{h∈H}{\text{argmax}}\ \prod_{i=1}^mp(d_i|h) \\ & = \underset{h∈H}{\text{argmax}}\ \prod_{i=1}^m\frac{1}{\sqrt{2π\sigma^2}}e^{-\frac{1}{2}(\frac{d_i-h(x_i)}{\sigma})^2}&\text{(正态分布)} \\ & = \underset{h∈H}{\text{argmax}}\ \sum_{i=1}^m \ln\frac{1}{\sqrt{2π\sigma^2}}-\frac{1}{2}(\frac{d_i-h(x_i)}{\sigma})^2&\text{(取ln,单调性)} \\ & = \underset{h∈H}{\text{argmax}}\ \sum_{i=1}^m (d_i-h(x_i))^2&\text{(最小二乘)}\\ \end{align} hML=hHargmax P(Dh)P(h)=hHargmax i=1mp(dih)=hHargmax i=1m2πσ2 1e21(σdih(xi))2=hHargmax i=1mln2πσ2 121(σdih(xi))2=hHargmax i=1m(dih(xi))2(正态分布)(ln,单调性)(最小二乘)
    在独立随机变量,正态分布噪声的情况下, h M L = h L S E h_{ML}=h_{LSE} hML=hLSE

5 朴素贝叶斯NB

朴素贝叶斯的核心思想是,根据贝叶斯定理,后验概率 P(Y|X) 与先验概率 P(Y) 和似然概率 P(X|Y) 成正比

朴素贝叶斯假设:
P ( x ∣ y i ) = P ( a 1 , a 2 . . . a n ∣ v j ) = ∏ i P ( a i ∣ v j ) P(x|y_i)=P(a_1,a_2...a_n|v_j) =\prod_iP(a_i|v_j) P(xyi)=P(a1,a2...anvj)=iP(aivj)
a 1 , a 2 . . . a n a_1,a_2...a_n a1,a2...an相互独立的属性, v j v_j vj某条件。

朴素贝叶斯分类器:
v NB = arg ⁡ max ⁡ v i ∈ V { log ⁡ P ( v j ) + ∑ i log ⁡ P ( a i ∣ v j ) } v_{\text{NB}}=\mathop{\arg\max}_{vi∈V}\{\log P(v_j)+\sum_i\log P(a_i|v_j) \} vNB=argmaxviV{logP(vj)+ilogP(aivj)}
如果满足属性之间的独立性,那么 v MAP = v NB v_{\text{MAP}}=v_{\text{NB}} vMAP=vNB

  • 举例1:词义消歧 (Word Sense Disambiguation)

    对于单词 w,使用上下文 c 进行词义消歧

    e.g. "A fly flies into the kitchen while he fry the chicken. "

    如何判断fly的含义?根据上下文 c c c 在词 w w w 周围一组词 w i w_i wi (特征),进行判断词义 s i s_i si

    朴素贝叶斯假设: P ( c ∣ s k ) = ∏ w i ∈ c P ( w i ∣ s k ) P(c|s_k) = \prod_{w_i∈c} P(w_i|s_k) P(csk)=wicP(wisk)

    朴素贝叶斯选择: s = a r g m a x s k { log ⁡ P ( s k ) + ∑ w i ∈ c log ⁡ P ( w i ∣ s k ) } s=\underset{s_k}{argmax}\{\log P(s_k)+\sum_{w_i∈c}\log P(w_i|s_k) \} s=skargmax{logP(sk)+wiclogP(wisk)}

    其中 P ( s k ) = C ( s k ) C ( w ) , P ( w i ∣ s k ) = C ( w i , s k ) C ( s k ) P(s_k)=\frac{C(s_k)}{C(w)},P(w_i|s_k)=\frac{C(w_i,s_k)}{C(s_k)} P(sk)=C(w)C(sk),P(wisk)=C(sk)C(wi,sk)

  • 举例 2: 垃圾邮件过滤

    经验:数据量要大;注重邮件头;不对词进行词干化;只用最显著的词;对假阳性做偏置

6 最小描述长度MDL

偏向假设 h 使得最小化
h MDL = arg ⁡ min ⁡ h ∈ H { L C 1 ( h ) + L C 2 ( D ∣ h ) } h_{\text{MDL}}=\mathop{\arg\min}_{h∈H}\{L_{C_1}(h)+L_{C_2}(D|h) \} hMDL=argminhH{LC1(h)+LC2(Dh)}
其中 L C x L_{C_x} LCx x x x 在编码 C C C 下的描述长度。

为可能性较大的消息赋予较短的编码

在对信息编码时,更偏好 一个短的且错误更少的假设,而不是一个长的但完美分类训练数据的假设

相关文章:

【机器学习笔记】贝叶斯学习

贝叶斯学习 文章目录 贝叶斯学习1 贝叶斯学习背景2 贝叶斯定理3 最大后验假设MAP(Max A Posterior)4 极大似然假设ML(Maximum Likelihood)5 朴素贝叶斯NB6 最小描述长度MDL 1 贝叶斯学习背景 试图发现两件事情的关系&#xff08;因果关系&#xff0c;先决条件&结论&#x…...

ElasticSearch之倒排索引

写在前面 本文看下es的倒排索引相关内容。 1&#xff1a;正排索引和倒排索引 正排索引就是通过文档id找文档内容&#xff0c;而倒排索引就是通过文档内容找文档id&#xff0c;如下图&#xff1a; 2&#xff1a;倒排索引原理 假定我们有如下的数据&#xff1a; 为了建立倒…...

win11安装mysql8.3.0压缩包版 240206

mysql社区版安装包版windows安装包下载地址 在系统环境变量path无点.的情况下 powershell 可以 .\ 或 ./ 开头表示当前文件夹cmd 可以直接命令或.\开头, 不能./开头 所以 .\ 在cmd和powershell中通用 步骤 在解压目录 .\mysqld --initialize-insecure root无密码初始化.\m…...

数据库索引与优化:深入了解索引的种类、使用与优化

数据库索引与优化&#xff1a;深入了解索引的种类、使用与优化 索引的种类 数据库索引是提高查询速度的重要手段之一&#xff0c;主要分为以下几种类型&#xff1a; 主键索引&#xff08;Primary Key Index&#xff09;&#xff1a; 唯一标识表中的每一行数据&#xff0c;保…...

React 错误边界组件 react-error-boundary 源码解析

文章目录 捕获错误 hook创建错误边界组件 Provider定义错误边界组件定义边界组件状态捕捉错误渲染备份组件重置组件通过 useHook 控制边界组件 捕获错误 hook getDerivedStateFromError 返回值会作为组件的 state 用于展示错误时的内容 componentDidCatch 创建错误边界组件 P…...

分享66个相册特效,总有一款适合您

分享66个相册特效&#xff0c;总有一款适合您 66个相册特效下载链接&#xff1a;https://pan.baidu.com/s/1jqctaho4sL_iGSNExhWB6A?pwd8888 提取码&#xff1a;8888 Python采集代码下载链接&#xff1a;采集代码.zip - 蓝奏云 学习知识费力气&#xff0c;收集整理更不…...

chagpt的原理详解

GPT&#xff08;Generative Pre-trained Transformer&#xff09;是一种基于Transformer架构的生成式预训练模型。GPT-3是其中的第三代&#xff0c;由OpenAI开发。下面是GPT的基本原理&#xff1a; Transformer架构&#xff1a; GPT基于Transformer架构&#xff0c;该架构由Att…...

dockerfile 详细讲解

当编写 Dockerfile 时&#xff0c;你需要考虑你的应用程序所需的环境和依赖项&#xff0c;并将其描述为一系列指令。下面是一个简单的示例&#xff0c;演示如何编写一个用于部署基于 Node.js 的网站的 Dockerfile&#xff1a; Dockerfile # 使用官方 Node.js 镜像作为基础镜像…...

跟着pink老师前端入门教程-day23

苏宁网首页案例制作 设置视口标签以及引入初始化样式 <meta name"viewport" content"widthdevice-width, user-scalableno, initial-scale1.0, maximum-scale1.0, minimum-scale1.0"> <link rel"stylesheet" href"css/normaliz…...

JRT监听程序

本次设计避免以往设计缺陷&#xff0c;老的主要为了保持兼容性&#xff0c;在用的设计就不好调了。 首先&#xff0c;接口抽象时候就不在给参数放仪器ID和处理类了&#xff0c;直接放仪器配置实体&#xff0c;接口实现想用什么属性就用什么属性&#xff0c;避免老方式要扩参数时…...

MCU+SFU视频会议一体化,视频监控,指挥调度(AR远程协助)媒体中心解决方案。

视频互动应用已经是政务和协同办公必备系统&#xff0c;早期的分模块&#xff0c;分散的视频应该不能满足业务需要&#xff0c;需要把视频监控&#xff0c;会议&#xff0c;录存一体把视频资源整合起来&#xff0c;根据客户需求&#xff0c;需要能够多方视频互动&#xff0c;直…...

1184. 欧拉回路(欧拉回路,模板题)

活动 - AcWing 给定一张图&#xff0c;请你找出欧拉回路&#xff0c;即在图中找一个环使得每条边都在环上出现恰好一次。 输入格式 第一行包含一个整数 t&#xff0c;t∈{1,2}&#xff0c;如果 t1&#xff0c;表示所给图为无向图&#xff0c;如果 t2&#xff0c;表示所给图为…...

学习 Redis 基础数据结构,不讲虚的。

学习 Redis 基础数据结构&#xff0c;不讲虚的。 一个群友给我发消息&#xff0c;“该学的都学了&#xff0c;怎么就找不到心意的工作&#xff0c;太难了”。 很多在近期找过工作的同学一定都知道了&#xff0c;背诵八股文已经不是找工作的绝对王牌。企业最终要的是可以创造价…...

Android 11 webview webrtc无法使用问题

问题&#xff1a;Android 11 webview 调用webrtc无法使用, 看logcat日志会报如下错误 [ERROR:address_tracker_linux.cc(245)] Could not send NETLINK request: Permission denied (13) 查了下相关的网络权限都有配置了还是不行&#xff0c;还是报这个权限问题 原因&#xff1…...

嵌入式单片机中晶振的工作原理

晶振在单片机中是必不可少的元器件&#xff0c;只要用到CPU的地方就必定有晶振的存在&#xff0c;那么晶振是如何工作的呢&#xff1f; 什么是晶振 晶振一般指晶体振荡器&#xff0c;晶体振荡器是指从一块石英晶体上按一定方位角切下的薄片&#xff0c;简称为晶片。 石英晶体谐…...

AWS配置内网EC2服务器上网【图形化配置】

第一种方法&#xff1a;创建EC2选择启用分配公网ip 1. 创建vpc 2. 创建子网 3. 创建互联网网关 创建互联网网关 创建互联网网关 &#xff0c;设置名称即可 然后给网关附加到新建的vpc即可 4. 给新建子网添加路由规则&#xff0c;添加新建的互联网网关然后点击保存更改 5. 新建…...

Android中的MVVM

演变 开发常用的框架包括MVC、MVP和本文的MVVM&#xff0c;三种框架都是为了分离ui界面和处理逻辑而出现的框架模式。mvp、mvvm都由mvc演化而来&#xff0c;他们不属于某种语言的框架&#xff0c;当存在ui页面和逻辑代码时&#xff0c;我们就可以使用这三种模式。 model和vie…...

制作耳机壳的UV树脂和塑料材质相比劣势有哪些?

以下是UV树脂相比塑料材质可能存在的劣势&#xff1a; 价格较高&#xff1a;相比一些常见的塑料材质&#xff0c;UV树脂的价格可能较高。这主要是因为UV树脂的生产过程较为复杂&#xff0c;需要较高的技术和设备支持。加工难度大&#xff1a;虽然UV树脂的加工过程相对简单&…...

CSP-202012-1-期末预测之安全指数

CSP-202012-1-期末预测之安全指数 题目很简单&#xff0c;直接上代码 #include <iostream> using namespace std; int main() {int n, sum 0;cin >> n;for (int i 0; i < n; i){int w, score;cin >> w >> score;sum w * score;}if (sum > 0…...

Doris中的本地routineload环境,用于开发回归测试用例

----------------2024-2-6-更新-------------- doris的routineload&#xff0c;就是从kafka中加载数据到表&#xff0c;特点是定时、周期性的从kafka取数据。 要想在本地开发测试routine load相关功能&#xff0c;需要配置kafka环境&#xff0c;尤其是需要增加routine load回…...

可靠性+灵活性:电力载波技术在楼宇自控中的核心价值

可靠性灵活性&#xff1a;电力载波技术在楼宇自控中的核心价值 在智能楼宇的自动化控制中&#xff0c;电力载波技术&#xff08;PLC&#xff09;凭借其独特的优势&#xff0c;正成为构建高效、稳定、灵活系统的核心解决方案。它利用现有电力线路传输数据&#xff0c;无需额外布…...

大语言模型如何处理长文本?常用文本分割技术详解

为什么需要文本分割? 引言:为什么需要文本分割?一、基础文本分割方法1. 按段落分割(Paragraph Splitting)2. 按句子分割(Sentence Splitting)二、高级文本分割策略3. 重叠分割(Sliding Window)4. 递归分割(Recursive Splitting)三、生产级工具推荐5. 使用LangChain的…...

Java入门学习详细版(一)

大家好&#xff0c;Java 学习是一个系统学习的过程&#xff0c;核心原则就是“理论 实践 坚持”&#xff0c;并且需循序渐进&#xff0c;不可过于着急&#xff0c;本篇文章推出的这份详细入门学习资料将带大家从零基础开始&#xff0c;逐步掌握 Java 的核心概念和编程技能。 …...

HashMap中的put方法执行流程(流程图)

1 put操作整体流程 HashMap 的 put 操作是其最核心的功能之一。在 JDK 1.8 及以后版本中&#xff0c;其主要逻辑封装在 putVal 这个内部方法中。整个过程大致如下&#xff1a; 初始判断与哈希计算&#xff1a; 首先&#xff0c;putVal 方法会检查当前的 table&#xff08;也就…...

论文笔记——相干体技术在裂缝预测中的应用研究

目录 相关地震知识补充地震数据的认识地震几何属性 相干体算法定义基本原理第一代相干体技术&#xff1a;基于互相关的相干体技术&#xff08;Correlation&#xff09;第二代相干体技术&#xff1a;基于相似的相干体技术&#xff08;Semblance&#xff09;基于多道相似的相干体…...

JVM虚拟机:内存结构、垃圾回收、性能优化

1、JVM虚拟机的简介 Java 虚拟机(Java Virtual Machine 简称:JVM)是运行所有 Java 程序的抽象计算机,是 Java 语言的运行环境,实现了 Java 程序的跨平台特性。JVM 屏蔽了与具体操作系统平台相关的信息,使得 Java 程序只需生成在 JVM 上运行的目标代码(字节码),就可以…...

NXP S32K146 T-Box 携手 SD NAND(贴片式TF卡):驱动汽车智能革新的黄金组合

在汽车智能化的汹涌浪潮中&#xff0c;车辆不再仅仅是传统的交通工具&#xff0c;而是逐步演变为高度智能的移动终端。这一转变的核心支撑&#xff0c;来自于车内关键技术的深度融合与协同创新。车载远程信息处理盒&#xff08;T-Box&#xff09;方案&#xff1a;NXP S32K146 与…...

脑机新手指南(七):OpenBCI_GUI:从环境搭建到数据可视化(上)

一、OpenBCI_GUI 项目概述 &#xff08;一&#xff09;项目背景与目标 OpenBCI 是一个开源的脑电信号采集硬件平台&#xff0c;其配套的 OpenBCI_GUI 则是专为该硬件设计的图形化界面工具。对于研究人员、开发者和学生而言&#xff0c;首次接触 OpenBCI 设备时&#xff0c;往…...

Golang——7、包与接口详解

包与接口详解 1、Golang包详解1.1、Golang中包的定义和介绍1.2、Golang包管理工具go mod1.3、Golang中自定义包1.4、Golang中使用第三包1.5、init函数 2、接口详解2.1、接口的定义2.2、空接口2.3、类型断言2.4、结构体值接收者和指针接收者实现接口的区别2.5、一个结构体实现多…...

适应性Java用于现代 API:REST、GraphQL 和事件驱动

在快速发展的软件开发领域&#xff0c;REST、GraphQL 和事件驱动架构等新的 API 标准对于构建可扩展、高效的系统至关重要。Java 在现代 API 方面以其在企业应用中的稳定性而闻名&#xff0c;不断适应这些现代范式的需求。随着不断发展的生态系统&#xff0c;Java 在现代 API 方…...